AWS & Cloud

What is a Cloud ?

In simple words, Running things off-site. Just in-time infrastructure.

Examples:

  • Google doc is one old example for Cloud computing. Running websites in public Datacenters etc. Where we store our data in remote servers.
  • Modern examples are, instead of setting up our own datacenter or hosting servers in , with cloud, we setup servers with Cloud service providers.

Who provides Cloud service ?

Amazon Web Services (AWS), Microsoft Azure, IBM’s Softlayer etc. AWS is the leader in the cloud business and has more than 50% share in the Cloud business. Reasons are AWS started early and offers lot of features compared to the competition.

Advantages of Cloud:

  1. No huge upfront investment – Setting up a datacenter requires a hefty investment for Datacenter space, Equipment (Servers, Network equipments), Cooling etc.

Cloud services
IAAS (Infrastructure As A Service) :

Deals with Virtual Machines, Storage (Hard Disks), Servers, Network, Load Balancers etc

PAAS (Platform As A Service) :

Runtimes (like java runtimes), Databases (like mySql, Oracle), Web Servers (tomcat etc)

SAAS (Software As A Service) :

Applications like email (Gmail, Yahoo mail etc), Social Networking sites (Facebook etc)

——————-

Compute Description
Amazon EC2 Virtual Servers in the Cloud
AWS Elastic BeanStalk Run and Manage Web Apps
Elastic Load Balancing High Scale Load Balancing
Amazon EC2 Container Registry Store and Retrieve Docker Images
AWS Lambda Run your Code in Response to Events
Amazon VPC Isolated Cloud Resources
Amazon EC2 Container Service Run and Manage Docker Containers
Auto Scaling Automatic Elasticity
AWS Server Migration Service Migrate on-Premises Services to AWS
Storage & Content Delivery Description
Amazon S3 Scalable Storage in the Cloud
Amaxon Elastic File System (EFS) Fully managed File system for EC2
AWS Storage Gateway Hybrid Storage Integration
Amazon CloudFront Global Content Delivery Network
Amazon Galcier Low-Cost Archive Storage in the Cloud
Amazon EBS EC2 Block Storage Volumes
AWS Import/Export Snowball Large Scale Data Transport
Management Tools Description
Amazon CloutWatch Monitor Resources and Appliations
AWS CloudFormation Create and Manage Resources with Templates
AWS CloudTrail Track User Activity and API Usage
AWS Command Line Tool Unified Tool to Manage AWS Services
AWS Config Track Resource Inventory and Changes
AWS OpsWorks Automate Operations with Chef
AWS Service Catalog Create and Use Standardized products
Truster Advisor Optimize Performance and Security
Security & Identity Description
AWS Identity & Acces Management (IAM) Manage User Access and Encryption Keys
AWS Certificate Manager Provision Manage and Deploy SSL/TLS Certificates
AWS CloudHSM Hardware-Based Key Storage for Regulatory Compliance
AWS Directory Service Host and Manage Active Directory
Amazon Inspector Analyze Application Security
AWS Key Management Service Managed Creation and Control of Encryption Keys
Amazon WAF Filter Malicious Web Traffic
Networking Description
Amazon VPC Isolated Cloud Resources
AWS Direct Connect Dedicated Network Connection to AWS
Elastic Load Balancing High Scale Load Balancing
Amazon Route 53 Scalable Domain Name System

———————-

Amazon Web Services (AWS)

AWS provides Scritable APIs, Auto-scaling (proactive and reactive scaling), Deploy servers based on geographical locations. To avail the scalable architecture of AWS, applications needs to be designed in such a way.

Terms

Scaling out:

Ex: Increasing the number of servers to handle load

Scaling in:

Ex: Decreasing the number of servers since the load is less.

Scaling up:

Ex: Increase the number of CPU or memory on a server.

Scaling down:

Ex: Decrease the number of CPU or memory on a server.

Text from AWS official site.

elastic-capacity

elastic-capacity-2

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.

Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.

ami-1

Amazon Machine Image (AMI) and Instance:

AMI is like a VMWare template. We can create many instance out of an AMI. Instance is like a Vmware Virtual Machine.

We can either use the built-in AMI available in AWS console or we can create our own AMI. You can find AMI under EC2 in AWS console.

ami-and-instance

Amazon Glacier is a secure, durable, and extremely low-cost cloud storage service for data archiving and long-term backup. Customers can reliably store large or small amounts of data for as little as $0.007 per gigabyte per month, a significant savings compared to on-premises solutions. To keep costs low, Amazon Glacier is optimized for infrequently accessed data where a retrieval time of several hours is suitable.

Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable cloud storage. Amazon S3 is easy to use object storage, with a simple web service interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.

Amazon S3 offers a range of storage classes designed for different use cases including Amazon S3 Standard for general-purpose storage of frequently accessed data, Amazon S3 Standard – Infrequent Access (Standard – IA) for long-lived, but less frequently accessed data, and Amazon Glacier for long-term archive. Amazon S3 also offers configurable lifecycle policies for managing your data throughout its lifecycle. Once a policy is set, your data will automatically migrate to the most appropriate storage class without any changes to your applications.

Amazon S3 can be used alone or together with other AWS services such as Amazon Elastic Compute Cloud (Amazon EC2) and AWS Identity and Access Management (IAM), as well as data migration services and gateways for initial or ongoing data ingestion. Amazon S3 provides cost-effective object storage for a wide variety of use cases including backup and recovery, nearline archive, big data analytics, disaster recovery, cloud applications, and content distribution.

AWS Identity and Access Management (IAM) enables you to securely control access to AWS services and resources for your users. Using IAM, you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources.

Elastic Load Balancing (ELB) helps to achieve Fault Tolerance by distributing traffic across multiple EC2 instances and Availability zones.

AWS cloudwatch is used to monitor AMI instances.