Routing with Route53
"A" record on Route53 is called the alias record; Alias record is different from CName, it's used with naked domain name & zone apex records; A-record will include the list of IP addresses to load balance with the naked domain name [without www & URI];
NS-record uses the domain name to resolve & balance the load as per the route53 policy;
CName - (Canonical name) used to resolve one domain name to another; e.g. mobile website with domain name http://m.mysite can resolve to http://mysite; CName cannot be used on zone apex record OR naked domain name [such as google.com]; in that case we use an alias name;
SOA record - all route53 entries have a TTL - after which the cache is refreshed; an alternate way to refresh cache is using DNS cache refresh; CName, MX records and PTR records are the other DNS types;
Elastic load balancer never have predefined IPv4 addresses to resolve; they always use domain name resolution;
- Simple routing - picks instances in random order
- Multi-value Answer routing - simple routing with health checks
- Weighted routing
- latency based routing - routing by network latency;
- geo-location based routing - users can be tied to their nearest geo-location based on certain policy OR requirement to tie users to that zone
- fail-over routing policy - used for active-passive setup; routes to passive site only in the instance of a failure
- geo-proximity based routing - complicated form of route53 routing, routing takes place by geographic location of users AND the resources; can optionally choose to route more traffic OR less to a given resource by specifying a value known as "bias";
- "bias" expands or shrinks the size of the geographic region from which traffic is routed to a resource; GEO-PROXIMITY ROUTING, IS ALWAYS ASSOCIATED WITH Route53 TRAFFIC FLOW
Auto scaling - has 3 components: Groups, Configuration Templates & Scaling options;
- Groups - are logical components e.g. web-server group, app-server group, database group, etc.
- Configuration Templates - groups uses a launch template / launch configuration as a template for its' EC2 instances; specify info such as AMI id, instance type, key pair, security groups, block device mapping, etc for your instances;
- scaling options - vertical / horizontal, event-based dynamically / scheduled [not sure why we need to schedule];
----------------------------------------------------------------------------------------------------------------------
Application, platform & infrastructure monitoring using Cloudwatch - can monitor CPU, disk usage, memory, network and perform status checks; cloudwatch monitors performance of EC2, storage gateways, elastic load balancers, auto scaling groups, route53 health checks; cloudwatch can monitor EBS volumes & CloudFront as well for performance;
----------------------------------------------------------------------------------------------------------------------
SQS - (Simple queue services) for distributed workload processing; near real-time (not asynchronous) processing; supports eventually consistent design; events in the queue can be upto 256kb, instances should poll the queue for events continuously; delivered at least once from source to destination;
- standard-queues: delivery order is not guaranteed, FIFO strict ordering isn't guaranteed
- FIFO queue: guaranteed order delivery, performance limit is around 300 transactions per second (TPS);
- visibility timeout --> max duration until when an event is held in the queue, can be held up to 12 hours;
- if in case the reader does not process event within the visibility timeout, it re-appears in the queue ==> same event delivered TWICE - hence recommended to increase visibility timeout;
- long polling --> is a way to retrieve events where long polling doesn't return a response until an event arrives in the queue; retention period up to 14 days;
SWS - (Simple workflow service) orchestration components, designed to co-ordinate a set of tasks which could be web services, human actions, scripts & executable code; retention period up to ONE YEAR;
SNS - (SNS - simple notification service) allows push notifications to mobile devices, android, iOS devices; also deliver text messages by SMS OR email message OR SQS queues OR any HTTP endpoint; works in a kind of publish-subscribe design; SNS is highly available across availability zones;
----------------------------------------------------------------------------------------------------------------------
Amazon Kinesis - streaming data generated by multiple data sources, Kinesis is used to process; 3 different types of Kinesis;
- Kinesis Streams - stores the streaming data on "shards", for 24hrs up to 7days; shards 5 transactions per second up to max read rate of 2Mbps, up to 1000 records per second for writes; only kinesis streams has shards;
- Kinesis Firehose - analysis at runtime, as & when streaming data arrives on firehose; firehose can link with lambda - no persistent storage, so analyzed data is further forwarded to S3 / Redshift / warehouse(s)
- Kinesis analytics - analyzes data inside Kinesis, working with Kinesis Streams & Kinesis Firehose; data analyzed is further stored in redshift / S3 / elasticsearch cluster;
Elastic transcoder - it's a media transcoder in the cloud; convert media files from their original source format into different formats that will play on smartphones, tablets, etc; cost is pay by minutes for transcoding and the resolution at which you transcode;
API gateways - scalable automatically, run efficiently with low cost; easy to manage, don't need to worry reg scalability;
- services server less endpoints (lambda) AND cloud services endpoints; allows to configure policies to filter requests from malicious sites;
- front-side protection layer, allows filter rules to configure; connect to cloud watch for monitoring; multiple versions of API are supported;
- API gateway also has a cache to service responses from it's cache until configured "time-to-live" (TTL) duration
- CORS can be enabled on the API gateway
----------------------------------------------------------------------------------------------------------------------
No comments:
Post a Comment