Amazon Web Services

Amazon Web Services

Introduction to AWS

Amazon Web Services (AWS) is the world's most comprehensive and widely used cloud platform. Its growth is exploding exponentially. It is a secure cloud services platform offering nearly everything businesses need to build sophisticated applications with flexibility, scalability, and reliability.

The AWS platform was launched in 2002. Later they formulated a plan in 2004 and launched their first service named SQS(Simple Queue Service). In the year 2017, AWS reached 100 services in total. At present, there are 200+ services launched.

Before going into AWS, we will see what is cloud computing, different types of deployment models, and computing services.

What is Cloud computing?

Cloud computing is an umbrella term for any IT resource (like server, database, networking, and others) that the consumer uses over the Internet to offer faster innovation, resources, and economies of scale.

The end-user outsources ready-made resources and accesses them online instead of relying on local infrastructure​.

How does it work?

Instead of owning all the resources and infrastructure individuals and/or companies can rent them. The main benefits of this are that firms can avoid maintenance, upfront cost, and data loss, it fosters better collaboration, provides advanced security and more.

Types of Deployment Models:

There are four main types of cloud deployment models:

• Public cloud

• Hybrid cloud

• Private Cloud

• Multi-cloud

Public Cloud is offered by third-party providers like Amazon Web Services, Microsoft Azure, Google Cloud Platform, IBM Cloud, Oracle Cloud, and more. This is available to anyone over the public internet. This offers Lower costs, No maintenance, Near-unlimited scalability, High reliability, and more.

Private Cloud provides computing service over the private internet rather than through the public. This offers more control, Security, performance, Isolated, and more. Dell, Cisco, SAP, OpenStack, and more.

Hybrid Cloud is a combination of both public and private clouds, which helps to maintain tighter controls over sensitive data and processes. This offers the process of data locally, extends your data center, greater scalability, and more.

Multi-cloud is an approach made up of two or more cloud providers it can be a public-public cloud combination. This offers high availability, better user experience, and more integrations compared to all other cloud deployment models

Types of Cloud Computing Service Models:

There are also three main types of Cloud Computing Service Models:

•Infrastructure-as-a-Service (IaaS)

•Platforms-as-a-Service (PaaS)

•Software-as-a-Service (SaaS)​

IaaS is which gives a variety of computing infrastructures such as storage, servers, and networking. It also maintains and supports these infrastructures.

The infrastructure like VM, Servers, Storage and networking are provided and the rest is managed by us like Application stack, Data, Runtime, Middleware, and O/S. Amazon Web Services, Microsoft Azure, and Google compute engine are typical examples

Key Features:

1)Resources are highly scalable

2)Cost Depends on the consumption

3)A single piece of hardware serves many users

4)The client has complete control over the architecture

PaaS simplifies the process of software development

The infrastructure and hardware or software like Runtime, Middleware, O/S, VM, Servers, Storage, and networking are provided and the rest is managed by us like Application stack & Data. The components can be altered as per the requirements.AWS Elastic Beanstalk, Google App Engine, and Adobe Commerce are typical examples.

Key Features:

1)Resources can be scaled up and down based on the requirements

2)Multiple users can access the same application

3)Web services and databases are integrated

SaaS manages everything from hardware installation, and working to app functioning End users are not responsible for anything in this model. Gmail, Slack, and Microsoft Office 365 are typical examples.

Well after a lot of cloud computing concepts, it's time to dig into AWS.

Amazon Web Services

AWS manages the infrastructure to the hypervisor. For example,

You're hosting an e-commerce application that consists of Virtual servers, databases, networking components, and more. During high sale times, your application might be crashed due to a lot of people accessing the application, being out of storage, etc. Every time we need to manage these kinds of Issues and when your application has much demand in other countries we need to make a setup there regarding availability and latency it will be a painful thing the cost of infrastructure and maintenance will be high.

Now You can simply host the application on AWS cloud to overcome all the above issues.

we can eliminate a lot of things like maintaining servers in data centers, resolving

As we saw AWS is an IaaS, so we need to provide things like application stack, data, runtime, and O/S rest are managed by AWS.

Key Features:

Pay-as-you-go: Amazon provides volume discounts and tiered pricing for most of its services. You will only pay for what you used. You can stop the service anytime

Pay-less-use-more: Amazon provides volume discounts and tiered pricing for most of its services like S3, EC2

Stop guessing capacity: We don't need to worry about the capacity, you can scale up and scale down in no time.

Go global in minutes: We can simply deploy your application in multiple regions around the world with just a few clicks. This makes you provide lower latency, Highly available, and better user experience to customers at less cost

Increase speed and agility: We can make resources available to develop in mins rather than in weeks. which gradually increases the agility of the organization as well as we can deliver fastly.

and more...

We can access the AWS Service in three ways:

AWS Console

AWS SDK

AWS CLI

For example, you can just make your application get ready by using AWS Services:

For hosting an application server Amazon Elastic Cloud EC2

For Load Balancing, we can use Amazon Elastic Load Balancer, Application Load Balancer, and Gateway LoadBalancer

For Monitoring, we can use CloudWatch, Cloud Trail, X-ray

For DNS we can use Amazon Route53

For Databases, we can use Amazon RDS and Amazon Aurora which are more related to Relational database models.

For infrastructure as a code, we can use CloudFormation, and SAM

We can just build serverless applications as well using services like Lambda, ECS, EKS, Dynamo DB, and more.