File:AWS Simple Icons AWS Cloud.svg - Wikimedia Commons

AWS - Amazon Web Services

  • Cloud Computing gives you access to server, storage, database and abroad set of application services over the internet. A cloud services provider such as AWS, owns and maintains the network connected hardware required for these application services, while you provision and use what you need via a web application.
  • Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.

Why AWS

  • Locations
  • Automated Multi-Region Backups
  • Streamlined Disaster Recovery
  • Consistency and Reliability
  • Flexibility and Scalability
  • Automated Scheduling
  • Pay-As-You-Go Pricing Model (Hours/Minutes/Seconds Billing Cycle)
  • Security
  • Third-Party APIS
#Benefits of Cloud Computing

Agility - The cloud allows you to innovate faster because you can
focus your valuable IT resources on developing applications that
differentiate your business and transform customer experiences
rather than managing infrastructure and data centers.

Elasticity - Before cloud computing, you had to overprovision
infrastructure to ensure you had enough capacity to handle your
business operations at the peak level of activity. Now, you can
provision the amount of resources that you
you can instantly scale up or down with the needs of your business.

Deploy globally in minutes - With the cloud, you can easily deploy your application in multiple physical locations around the world with just a few clicks. This means you can provide a lower latency and better experience for your customers simply and at minimal cost.

Cost Savings - The cloud allows you to trade capital expense (data centers, physical servers, etc.) for variable expense and only pay for IT as you consume it. Plus, the variable expense is much lower than what you can do for yourself because of the larger economies of scale.


Cloud Service Models

Cloud models come in five flavors out of which we will look at three in details:

  • SAAS (Software as a Service)
  • PAAS (Platform as a Service)
  • IAAS (Infrastructure as a Service)
  • CAAS (Container as a Service)
  • FAAS (Functions as a Service)


SAAS (Software as a Service)

SAAS or Software as a Service is a model that gives quick access to cloud-based web applications. The vendor controls the entire computing stack, which you can access using a web browser. These applications run on the cloud and you can use them by a paid licensed subscription or for free with limited access.

Eg:- 

  •  Google G Suite
  •  Microsoft Office 365
  •  Dropbox


(PAAS) Platform as a Service

Platform as a Service or PaaS is essentially a cloud base where you can develop, test and organize the different applications for your business. Implementing PaaS simplifies the process of enterprise software development. The virtual runtime environment provided by Paas gives a favourable space for developing and testing applications.

E.g

  • Google App Engine 
  • AWS Elastic Beanstalk


(IAAS) Infrastructure as a Service

laas or Infrastructure as a Service is basically a virtual provision of computing resources over the cloud. An laas cloud provider can give you the entire range of computing infrastructures such as storage, servers, networking hardware alongside maintenance and support.

E.g. 

  • Amazon Web Services
  • Microsoft Azure and
  • Google Compute Engine


(CAAS) Containers as a service 

Containers as a service (CaaS) is a cloud service model that allows users to upload, organize, start, stop, scale and otherwise manage containers, applications and clusters. It enables these processes by using either a container-based virtualization, an application programming interface (API) or a web portal interface.

Eg: kubernetes, Docker etc.


(FAAS) Function as a service

Faas or Function as a service is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.

Example: 

  • Amazon Lambda, 
  • Google Cloud
  • Functions Microsoft Azure 
  • Functions IBM Cloud Functions


AWS shared responsibility Model

The ABC's of the Shared Responsibility Model - Trend Micro


Regions

AWS provides a more extensive global footprint than any other cloud provider, and it opens up new Regions faster than other providers. To support its global footprint and ensure customers are served across the world, AWS maintains multiple geographic regions, including Regions in North America, South America, Europe, Asia Pacific, and the Middle East. Currently there are 22 geographic regions, one local region, and even more in the works.


Availability Zones

• AZ give customers the ability to operate production applications and databases that are more highly available, fault tolerant, and scalable than would be possible from a single data center. AWS maintains 69 AZ around the world and we continue to add at a fast pace. Each AZ can be multiple data centers (typically 3), and at full scale can be hundreds of thousands of servers. They are fully isolated partitions of the AWS Global Infrastructure. With their own power infrastructure, the AZs are physically separated by a meaningful distance, many kilometers, from any other AZ, although all are within 100 km (60 miles of each other).


Edge Locations

To deliver content to end users with lower latency, Amazon
CloudFront uses a global network of 188 Points of Presence (177 Edge
Locations and 11 Regional Edge Caches) in 70 cities across 31
countries.


Security :
  • Protection against network and application layer attacks
  • SSL/TLS Encryption and HTTPS
  • Access Control
  • Compliance (PCI-DSS Level 1, HIPAA, ISO 9001, ISO 27001 ...)