An Introduction to Cloud Computing with  AWS
Tags: aws, cloudcomputing
Published: 2020-09-15 15:06:35

In 2006, **Amazon Web Services (AWS)** started to offer IT services to the market in the form of web services, which is nowadays known as **cloud computing**. With this cloud, we need not plan for servers and other IT infrastructure which takes up much of time in advance. Instead, these services can instantly spin up hundreds or thousands of servers in minutes and deliver results faster. We pay only for what we use with no up-front expenses and no long-term commitments, which makes AWS cost efficient.

Today, AWS provides a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers multitude of businesses in 190 countries around the world.

**What is Cloud Computing?**
Cloud computing is an internet-based computing service in which large groups of remote servers are networked to allow centralized data storage, and online access to computer services or resources.

Using cloud computing, organizations can use shared computing and storage resources rather than building, operating, and improving infrastructure on their own.

Cloud computing is a model that enables the following features.

Users can provision and release resources on-demand.

Resources can be scaled up or down automatically, depending on the load.

Resources are accessible over a network with proper security.

Cloud service providers can enable a pay-as-you-go model, where customers are charged based on the type of resources and per usage.

##Types of Clouds
There are three types of clouds − Public, Private, and Hybrid cloud:

###1.Public Cloud
In public cloud, the third-party service providers make resources and services available to their customers via Internet. Customer’s data and related security is with the service providers’ owned infrastructure.

###2.Private Cloud
A private cloud also provides almost similar features as public cloud, but the data and services are managed by the organization or by the third party only for the customer’s organization. In this type of cloud, major control is over the infrastructure so security related issues are minimized.

###3.Hybrid Cloud
A hybrid cloud is the combination of both private and public cloud. The decision to run on private or public cloud usually depends on various parameters like sensitivity of data and applications, industry certifications and required standards, regulations, etc.

##Cloud Service Models
There are three types of service models in cloud − IaaS, PaaS, and SaaS:

###IaaS
IaaS stands for **Infrastructure as a Service**. It provides users with the capability to provision processing, storage, and network connectivity on demand. Using this service model, the customers can develop their own applications on these resources.

###PaaS
PaaS stands for **Platform as a Service**. Here, the service provider provides various services like databases, queues, workflow engines, e-mails, etc. to their customers. The customer can then use these components for building their own applications. The services, availability of resources and data backup are handled by the service provider that helps the customers to focus more on their application's functionality.

###SaaS
SaaS stands for **Software as a Service**. As the name suggests, here the third-party providers provide end-user applications to their customers with some administrative capability at the application level, such as the ability to create and manage their users. Also some level of customizability is possible such as the customers can use their own corporate logos, colors, etc.

##Advantages of Cloud Computing
Here is a list of some of the most important advantages that Cloud Computing has to offer:

###Cost-Efficient  
Building our own servers and tools is time-consuming as well as expensive as we need to order, pay for, install, and configure expensive hardware, long before we need it. However, using cloud computing, we only pay for the amount we use and when we use the computing resources. In this manner, cloud computing is cost efficient.

###Reliability  
A cloud computing platform provides much more managed, reliable and consistent service than an in-house IT infrastructure. It guarantees 24x7 and 365 days of service. If any of the server fails, then hosted applications and services can easily be transited to any of the available servers.

###Unlimited Storage 
Cloud computing provides almost unlimited storage capacity, i.e., we need not worry about running out of storage space or increasing our current storage space availability. We can access as much or as little as we need.

###Backup & Recovery  
Storing data in the cloud, backing it up and restoring the same is relatively easier than storing it on a physical device. The cloud service providers also have enough technology to recover our data, so there is the convenience of recovering our data anytime.

###Easy Access to Information  
Once you register yourself in cloud, you can access your account from anywhere in the world provided there is internet connection at that point. There are various storage and security facilities that vary with the account type chosen.

##Disadvantages of Cloud Computing
Although Cloud Computing provides a wonderful set of advantages, it has some drawbacks as well that often raise questions about its efficiency:

###Security issues
Security is the major issue in cloud computing. The cloud service providers implement the best security standards and industry certifications, however, storing data and important files on external service providers always bears a risk.

AWS cloud infrastructure is designed to be the most flexible and secured cloud network. It provides scalable and highly reliable platform that enables customers to deploy applications and data quickly and securely.

###Technical issues
As cloud service providers offer services to number of clients each day, sometimes the system can have some serious issues leading to business processes temporarily being suspended. Additionally, if the internet connection is offline then we will not be able to access any of the applications, server, or data from the cloud.

###Not easy to switch service providers
Cloud service providers promises vendors that the cloud will be flexible to use and integrate, however switching cloud services is not easy. Most organizations may find it difficult to host and integrate current cloud applications on another platform. Interoperability and support issues may arise such as applications developed on Linux platform may not work properly on Microsoft Development Framework (.Net).


##Services Under AWS Umbrella
AWS provides a number of services and each service is categorized under domains such as compute, storage, database, migration, messaging, managing tools, network and content delivery, security, identity, and compliance. Widely used domains and their services are:

###Compute
Compute domain includes the services related to computing workloads. Services under compute domain are EC2 ( Elastic Compute Cloud), Lambda, Elastic Beanstalk, Amazon LightSail, Elastic Container Registry, Elastic Container Service, EC2 Autoscaling, AWS Batch, AWS Fargate, AWS Serverless Application Repository etc.

###Storage
Storage domain comprises of services related to data storage. The services under this domain are S3( Simple Storage Service), Elastic Block Store, Amazon Glacier, AWS Snowball, Elastic File System, AWS Storage Gateway etc.

###Database
Database domain is used for database related workload and services under database domain are Amazon Aurora, Amazon RDS, Amazon DynamoDB, Amazon RedShift, Amazon ElastiCache, Amazon Neptune etc.

###Migration
Migration domain includes the services which are used to transfer data to or from AWS framework. These services are AWS Database Migration Service, AWs Migration Hub, AWS Server Migration Service, AWS Snowball etc.

###Messaging
The Messaging domain includes the services which are used for notifying, queuing or emailing messages. Services under this domain are Amazon SQS, Amazon SNS, Amazon SES, Amazon Pinpoint etc.

###Management Tools
Services that lie under Management Tools domain are used to manage other services in AWS and these are AWS CloudWatch, AWS CloudFormation, AWS CloudTrail, AWS Configuration, AWS OpsWorks etc.

###Network and Content Delivery
In Networking and Content Delivery domain, Networking is used for isolating network framework and content delivery is used to deliver content faster. It includes Amazon Route 53, AWS CloudFront services, AWS Direct Connect etc.

###Security, Identity, and Compliance
Services under Security, Identity, and Compliance domain are used to manage to authenticate and provide security to AWS resources and these are AWS IAM, AWS KMS, AWS Shield, AWS Cloud Directory, AWS Cognito, AWS Guard Duty etc.

##AWS Services List
Let’s have a quick look at the various AWS domains and the services offered within each domain.

| **Sr.No.**    | **Domain**    | **Services**  |
| ------------- |:-------------:| -------------:|
| 1     |  Compute    | EC2( Elastic Compute Cloud), Lambda, Elastic Beanstalk, Amazon LightSail, Elastic Container Registry, Elastic Container Service, EC2 Autoscaling, AWS Batch, AWS Fargate, AWS Serverless Application Repository etc|
| 2     |  Storage    | S3( Simple Storage Service), Elastic Block Store, Amazon Glacier, AWS Snowball, Elastic File System, AWS Storage Gateway  |
| 3     |  Database    | Amazon Aurora, Amazon RDS, Amazon DynamoDB, Amazon RedShift, Amazon ElastiCache, Amazon Neptune etc |
| 4     |  Migration    | AWS Database Migration Service, AWs Migration Hub, AWS Server Migration Service, AWS Snowball |
| 5      |  Messaging    | Amazon SQS, Amazon SNS, Amazon SES, Amazon Pinpoint etc|
| 6      |  Management Tools    | AWS CloudWatch, AWS CloudFormation, AWS CloudTrail, AWS Config, AWS OpsWorks etc |
| 7      |  Network and Content Delivery    | Amazon Route 53, AWS CloudFront services, AWS Direct Connect |
| 8      |  Security & Identity Compliance    | Amazon Route 53, AWS CloudFront services, AWS Direct Connect etc |

##AWS Certifications
AWS (Amazon Web Services) currently offers 9 certifications: 1 foundational certification, 3 associate-level certifications, 2 professional-level certifications, and 3 specialty certifications.

* AWS Certified Cloud Practitioner
* AWS Certified Developer – Associate
* AWS Certified SysOps Administrator – Associate
* AWS Certified Solutions Architect – Associate
* AWS Certified DevOps Engineer – Professional
* AWS Certified Solutions Architect – Professional
* AWS Certified Big Data – Specialty
* AWS Certified Advanced Networking – Specialty
* AWS Certified Security – Specialty