Adsense ad-unit

Workload balancing and distributed processing options on AWS

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;

  1. 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;
  2. 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)
  3. 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

Adsense ad-unit

Featured posts

Why Cloud Adoption...What are the necessary steps needed to migrate onto cloud

Cloud services offered by different cloud providers have grown exponentially in recent years. Cloud adoption work for start-ups, small &...