Saturday, May 14, 2016

Global Infrastructure

































 Compute Elastic Compute Cloud (EC2) EC2 provides resizable compute capacity in the cloud. Essentially, it is an empty server with allocated processor, RAM, OS and storage. In traditional environment we call these servers.
  • Resizable configuration
  • As it is immediately available over an API call it is faster to get and start working
  • Scalable, Easily you can scale-out and shrink based on your usages
  • Pay as you go
Auto Scaling This feature helps you to scale your compute ( EC2) capacity up or down automatically according to certain metric set by you, So depending on the usages this feature helps you to add or remove instances seamlessly.
  • Add or remove capacity automatically
  • Best for application which are variability in usage e.g e-commerce application
  • No additional cost
  • The metric set in CloudWatch (Monitoring) no additional charge beyond Amazon CloudWatch fees
Network Elastic Load Balancer It automatically distributes incoming traffic across multiple compute/EC2 instances. It provides a greater fault tolerance to your application.
  • Supports the routing and load balancing of HTTP, HTTPS and TCP traffic to EC2 instances
  • Supports health checks to ensure detect and remove failing instances
  • Dynamically grows and shrinks required resources based on traffic
  • Integrated with Auto-scaling which enables easier addition and removal of instances based on scaling activities
  • Only a single URL based on the CNAME is exposed to the outside World to provide a stable entry
point for DNS
  • It is priced based on usage and the size of the data transfer.
Route 53 It is a highly available and scalable DNS service by AWS. It effectively connects user requests to infrastructure running in AWS–such as an EC2 instance, an Amazon Elastic Load Balancer, or an Amazon S3 bucket–and can also be used to route users to infrastructure outside of AWS. It is fast, easy to use, and cost effective. Route-53 answers DNS queries with low latency by using a global network of DNS servers. Queries for your domain are automatically routed to the nearest DNS server, and thus are answered with the best possible performance. With Route 53, you can create and manage your public DNS records with the AWS Management Console or with API.
  • Route end users to Internet applications such as your application or AWS services such as S3
  • Answers DNS queries with low latency by using a global network of DNS servers
  • Amazon Route 53 is priced based on usage
Virtual Private Connect (VPC) As per Wikipedia it is a service that provides users a virtual private cloud, by provisioning a logically isolated section of Amazon Web Services (AWS) Cloud". So you can keep your applications in your defined private network which is secured and you access these resources ove an IPsec based VPN.
  • You have complete control over your virtual networking environment, including selection of your own IP address range, creation of subnets, and configuration of route tables and network gateways.
  • Multiple Connectivity Options e.g you can keep your web server in public subnet whereas you kept your in DB in private subnet but they can talk to each other.
  • You can extend your existing data center to AWS cloud and connect over hardware VPN device or s/w based
  • Connectivity options for both Private and public subnets
  • It is secured
  • It is simple, Few clicks will do it for you
Direct Connect It helps to establish a dedicated network connection from your premises to AWS. It does so by establishing private connectivity between AWS and your data center environment, which in mostly reduces network costs, provides a consistent network and increase bandwidth throughput.







CloudWatch: This service helps to get system wide visibility into resource utilization, application performance and operational.This is a monitoring service and like other monitoring services you can collect and track metrics (Such as: CPU utilization, disk reads/writes, and network traffic), gain insight, and react immediately to keep your applications and businesses running smoothly. It is very scalable and highly available. You can access it via AWS Management Console, APIs, SDK, or CLI

CloudFormation :This service helps the developers and systems admins to create and manage large collection of AWS resources, provisioning and updating them in an orderly and predictable fashion. You can create your own template and describe your required AWS resources and associated dependency or parameters, CloudFromation will take care of that. You can also do versioning of templates and the collection of resources are called Stacks. If you are interested to see how CloudFormation stack is written please visit the below URL. http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html The best feature of CloudFormation is when you delete the stack it can delete all the resources it created earlier. However there are multiple options for CloudFormation which is not in the scope of this article. You can write your own template I personally found “Sublime Text” editor with “cforms” plug-in is best to write CF template and can validate in the below URL. http://cloudformation-validation.com/

CloudTrailThis service helps you to get a history of access details for your account whether it is done via AWS GUI or API or command like or AWS SDKs or CloudFormation. It helps to enables security analysis, resource change tracking, and compliance auditing. 

OpsWorkThis service helps DevOps to model and manage the entire application from Infrastructure, built template of technologies such as LAMP/Java/Ruby, database etc or you can use DevOps tools such as Chef recipe to install s/w packages and perform some tasks managed by scripts. It can also scale your application using automatic load based or time based scaling and maintain the health of your application by detecting failed instances and replacing them. You have full control of deployments and automation of each component 

Elastic BeanstalkThis service automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring, scaling of web applications developed with popular languages such as Node.Js, Python, ruby, PHP, JAVA etc. You just need to upload your application rest will be taken care of by this service.

 Identity and Access Management ( IAM )This service enables you to securely control access to AWS services and resources for your users. Using IAM you can create users and groups with specific, restricted access to specific AWS resources and API calls. This helps to manage
  1. Manage IAM users and their access
  2. Manage IAM roles and their permissions
  3. Manage federated users and their permissions
CloudSearch : This is a managed service which helps to setup, manage and scale search solution, It enables you to search a large set of data such as web pages, document files, forum posts, or product information etc. It is highly scalable and easy to setup. The other advantage is that it saves a lot of administrative cost and effort.

Simple Email Service ( SES ) : This is a highly scalable and cost effective bulk and transactional email sending. It eliminates the hassle of email server management, network configuration, and meeting rigorous Internet Service Provider (ISP) standards as it uses content filtering technologies to scan an organization’s outgoing email messages to help ensure that the content meets ISP standards. It also provides a built-in feedback loop, which includes notifications of bounce backs, failed and successful delivery attempts, and spam complaints.

Simple Notification Service ( SNS ) It is a fast, flexible, fully managed push messaging service. It is very simple and cost effective way to send or push to mobile devices also pushing it to other services such as SMS, SQS etc. For reliability of messages so that messages are not lost SNS stores all the messages across multiple Availability zones. 

 Simple Queue Service ( SQS ) : It is a fast, reliable, scalable, fully managed message queuing service. Queing service helps to de-couple applications. 

Simple Workflow Service ( SWF ) :It is a task coordination and state management service for cloud applications. By using this service you can structure the various steps in an application which runs across one or more machines as a set of “tasks”. This service automatically manages dependencies between the tasks, schedules the tasks for execution, and runs any logic that needs to be executed in parallel. The service also stores the tasks, reliably dispatches them to application components, tracks their progress, and keeps their latest state. 




1 comment: