What is AWS?

AWS is a cloud platform that is a comprehensive, easy to use cloud computing platform offered by Amazon. The platform is developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offerings.

 

AWS allows you to access and manage cloud services and resources provided by Amazon. It offers computing power, content delivery, database storage, and other services.

AWS

 It offers services with flexible, reliable, scalable, easy-to-use and cost-effective cloud computing solutions.

History of AWS

Applications of AWS services

Amazon Web services are widely used for various computing purposes like:

Companies using AWS

Advantages of AWS

Following are the pros of using AWS services:


AWS allows organizations to use the already familiar programming models, operating systems, databases, and architectures.

It is a cost-effective service that allows you to pay only for what you use, without any up-front or long-term commitments.

You can easily add or remove capacity.You are allowed cloud access quickly with limitless capacity.

Disadvantages of AWS

Important AWS Services

Amazon Web Services offers a wide range of different business purpose global cloud- based products. The products include storage, databases, analytics, networking, mobile, development tools, enterprise applications, with a pay-as-you-go pricing model.

Important AWS Services

Here are essential AWS services. AWS Compute Services

Here, are Cloud Compute Services offered by Amazon:

  1. EC2(Elastic Compute Cloud-Virtual server in the cloud) (IaaS) - EC2 is a virtual machine in the cloud on which you have OS level control. You can run this cloud server whenever you want.

  1. LightSail (IaaS) -LightSail is virtual private server that bundles compute, storage, and networking features of Lightsail to deploy and manage websites or web applications in the cloud for developers .
  1. Elastic Beanstalk (PaaS) —  AWS Elastic Beanstalk is a pre-configured EC2 server  to handle application deployment, load balancing, health monitoring, and more automatically

  1. AWS Lambda(SaaS) — This AWS service allows you to run code without thinking about servers and clusters

  1. EKS (Elastic Container Service for Kubernetes)-(PaaS) : EKS is a  fully managed service that you can use to run Kubernetes on AWS.

  1. AWS Fargate: It is a serverless compute engine for containers. It works with both Amazon ECS and Amazon EKS.

Network

  1. Amazon VPC-  used to create an isolated virtual network environment in the AWS cloud.

  1. Internet gateway-used to make connections between a VPC and the internet.

  1. Virtual Private gateway-used to allows protected internet traffic to enter into the VPC

  1.  AWS Direct Connect: It is a network service that enables you to establish a dedicated private connection between your data center and a VPC.  

  1. Network access control list (ACL): A network access control list (ACL) is a virtual firewall that controls inbound and outbound traffic at the subnet level.

  1. Security Group: A security group is a virtual firewall that controls inbound and outbound traffic for an Amazon EC2 instance. 

Storage

  1. Amazon Instance store: An instance store provides temporary block-level storage for an Amazon EC2 instance.

  1. Amazon Elastic Block Store (Amazon EBS)- a service that provides block-level storage volumes.

  1. Amazon S3:- a service that provides object-level storage. Amazon S3 stores data as objects in buckets.

 

  1. Amazon EFS:-a service that provides a scalable file system used with AWS Cloud services and on-premises resources.

  1. Amazon Glacier- It is an extremely low-cost storage service. It offers secure and fast storage for data archiving and backup.

  1. AWS Storage Gateway- This AWS service is used for connecting on-premises software applications with cloud-based storage. It offers secure integration between the company's on-premises and AWS's storage infrastructure.

  1. Snowball :Snowball is a small application which allows you to transfer terabytes of data inside and outside of AWS environment.

  1.  Amazon CloudFront: It is a content delivery network (CDN) service built for high performance, security, and developer convenience.

Database Services

  1. Amazon RDS(PaaS):-It is a service that enables you to run relational databases in the AWS Cloud.

Amazon RDS is a managed service that automates tasks such as hardware provisioning, database setup, patching, and backups.

  1. Amazon Aurora(Database Engine): It is a large scale data warehouse service for use with business intelligence tools.

  1. Amazon DynamoDB (SaaS)- Amazon DynamoDB is a key-value database service.It delivers single-digit millisecond performance at any scale.

  1. Amazon RedShift : Amazon Redshift is a data warehousing service that you can use for big data analytics. It offers the ability to collect data from many sources and helps you to understand relationships and trends across your data.
  2. Amazon ElastiCache-Amazon ElastiCache is a service that adds caching layers on top of your databases to help improve the read times of common requests.
  3. Amazon Neptune:Amazon Neptune is a graph database service. You can use Amazon Neptune to build and run applications that work with highly connected datasets, such as recommendation engines, fraud detection, and knowledge graphs.

Security Services

  1. IAM (Identity and Access Management) — enables you to manage access to AWS services and resources securely.  

  1. AWS Artifact: a service that provides on-demand access to AWS security and compliance reports and select online agreements.

Denial-of-service (DoS) attack:  is a deliberate attempt to make a website or application unavailable to users.

Distributed denial-of-service attacks:  is a deliberate attempt by multiple sources to make a website or application unavailable to users

  1. Shield — a service that protects applications against DDoS attacks.

  1. KMS (Key Management Service) —It used to create, manage, and use cryptographic keys.

  1. Certificate Manager —a service that makes it easy for you to centrally manage your SSL/TLS certificates

  1. WAF (Web Application Firewall) —a service that filters malicious web traffic.

 

  1. Inspector —A service that  improve the security and compliance of applications by running automated security assessments

  1. GuardDuty service that provides intelligent threat detection for your AWS infrastructure and resources.

  1. Macie — a data security service that uses machine learning (ML) and pattern matching to discover and help protect your sensitive data.

  1. Cloud Directory — Host and manage active directory

Management Services:

  1. CloudWatch — a web service that enables you to monitor and manage various metrics and configure alarm actions based on data from those metrics.

For example, suppose that your company’s developers use Amazon EC2 instances for application development or testing purposes. If the developers occasionally forget to stop the instances, the instances will continue to run and incur charges.

                                        In this scenario, you could create a CloudWatch alarm that automatically stops an Amazon EC2 instance when the CPU utilization percentage has remained below a certain threshold for a specified period. When configuring the alarm, you can specify to receive a notification whenever this alarm is triggered.

  1. CloudTrail — The comprehensive API auditing tool.The recorded information includes the identity of the API caller, the time of the API call, the source IP address of the API caller, and more.

  1. AWS Trusted Advisor: a service that provides recommendations that help you follow AWS best practices.

  1. Config —a service that  provides a detailed view of the configuration of AWS resources in your AWS account.

  1. Service Catalog  enables organizations to create and manage catalogs of IT services that are approved for AWS

  1. AWS Auto Scaling — The service allows you to automatically scale your resources up and down based on given CloudWatch metrics.

  1. Organizations — a service that uses as central location to manage multiple AWS accounts.

  1. Systems Manager — allows you to safely automate common and repetitive IT operations and management tasks.

Deployment

  1. Cloud Formation  :— an infrastructure as code (IaC) that uses template files to automate the setup of AWS resources.

  1. AWS CodeDeploy: a service that automates code deployments to any instance, including Amazon EC2 instances and instances running on-premises.

  1. OpsWorks   (Application management service) —It is flexible application management solution with automation tools that enable you to model and control the complete life cycle of your application and infrastructure on which they run.
  2. Elastic Beanstalk (PaaS) —  AWS Elastic Beanstalk is a pre-configured EC2 server  to handle application deployment, load balancing, health monitoring, and more automatically

  1. EKS (Elastic Container Service for Kubernetes)-(PaaS) : EKS is a  fully managed service that you can use to run Kubernetes on AWS.

Migration & Transfer services used to transfer data physically between your datacenter and AWS.

  1. Snowball :Snowball is a small application which allows you to transfer terabytes of data inside and outside of AWS environment.

  1. DMS (Database Migration Service) -DMS service helps you migrate databases to AWS quickly and securely. It helps you to migrate from one type of database to another — for example, Oracle to MySQL.
  2. SMS (Server Migration Service) - migrate your On-premises workloads to AWS easily and quickly.

Analytics

  1. Athena — a service that helps you analyze unstructured, semi-structured, and structured data stored in Amazon S3

  1. CloudSearch —a fully managed search service in the cloud for your website or application. it  makes it easy to set up, manage, and scale a search solution for your website or application 


  1. ElasticSearch — it is a modern search and analytics engine which is based on Apache Lucene. It is a full-text, distributed NoSQL database. However, it offers more features like application monitoring.

  1. Kinesis —a service that used to query and analyze streaming data.You can use Amazon Kinesis to securely stream video from camera-equipped devices in homes, offices, factories, and public places to AWS. You can then use these video streams for video playback, security monitoring, face detection, machine learning, and other analytics.

  1. QuickSight A machine learning-powered business intelligence service is used to deliver easy-to-understand insights to the people .

  1. EMR (Elastic Map Reduce-Hosted Hadoop framework) —This AWS analytics service is mainly used for big data processing like Spark, Splunk, Hadoop, etc.

  1. Data Pipeline — Allows you to move data from one place to another. 

For example from DynamoDB to S3.

Application Services

  1. Step Functions — Visual workflows for distributed applications

AWS Step Functions is a visual workflow service that helps developers use AWS services to build distributed applications, automate processes, orchestrate microservices, and create data and machine learning (ML) pipelines.

  1. SWF (Simple Workflow Service) — a fully managed workflow service for building scalable, resilient applications.
  2. SNS (Simple Notification Service) — You can use this service to send you notifications in the form of email and SMS based on given AWS services.
  3. SQS (Simple Queue Service) — Use this AWS service to decouple your applications. It is a pull-based service.
  4. Elastic Transcoder — This AWS service tool helps you to changes a video's format and resolution to support various devices like tablets, smartphones, and laptops of different resolutions.

Best practices of AWS

How to Create EC2 Instance in AWS:

Creating an EC2 instance

Creating an EC2 instance

Creating an EC2 instance

Creating an EC2 instance

Creating an EC2 instance
Creating an EC2 instance

Where,

Number of Instances: It defines how many EC2 instances you want to create. I leave it as 1 as I want to create only one instance.

Purchasing Option: In the purchasing option, you need to set the price, request from, request to, and persistent request. Right now, I leave it as unchecked.

Tenancy: Click on the Shared-Run a shared hardware instance from the dropdown menu as we are sharing hardware.

Network: Choose your network, set it as default, i.e., vpc-dacbc4b2 (default) where vpc is a virtual private cloud where we can launch the AWS resources such as EC2 instances in a virtual cloud.

Subnet: It is a range of IP addresses in a virtual cloud. In a specified subnet, you can add new AWS resources.

Shutdown behavior: It defines the behavior of the instance type. You can either stop or terminate the instance when you shut down the Linux machine. Now, I leave it as Stop.

Enable Termination Protection: It allows the people to protect against the accidental termination.

Monitoring: We can monitor things such as CPU utilization. Right now, I uncheck the Monitoring.

User data: In Advanced details, you can pass the bootstrap scripts to EC2 instance. You can tell them to download PHP, Apache, install the Apache, etc.

Creating an EC2 instance

Volume Type: We select the Magnetic (standard) as it is the only disk which is bootable.

Delete on termination: It is checked means that the termination of an EC2 instance will also delete EBS volume.

Creating an EC2 instance

In the above screen, we observe that we add two tags, i.e., the name of the server and department. Create as many tags as you can as it reduces the overall cost.

Creating an EC2 instance

Creating an EC2 instance

Creating an EC2 instance

Creating an EC2 instance

UNit-1 & Unit-3 Quick Review

What is cloud computing

Describe the shared responsibility model

 Traditional corporate datacenter.

S.No

Company

1

Maintaining the physical space

2

Ensuring security

3

 Maintaining or replacing the servers if anything happens

4

Maintaining all the infrastructure and software

5

keeping all systems patched and on the correct version.

Shared responsibility model

S.No

Company

 Consumer

1

Physical security

Data and Information stored in the cloud.

2

Power

Depends on situation of service IaaS or Paas or Saas

Example : for some things, the responsibility depends on the situation. If you’re using a cloud SQL database, the cloud provider would be responsible for maintaining the actual database. However, you’re still responsible for the data that gets ingested into the database. If you deployed a virtual machine and installed an SQL database on it, you’d be responsible for database patches and updates, as well as maintaining the data and information stored in the database.

3

Network connectivity

4

Cooling

 

You’ll always be responsible for:

The cloud provider is always responsible for:

Your service model will determine responsibility for things like:

Define cloud models

The following table highlights a few key comparative aspects between the cloud models.

Public cloud

Private cloud

Hybrid cloud

No capital expenditures to scale up

Organizations have complete control over resources and security

Provides the most flexibility

Applications can be quickly provisioned and deprovisioned

Data is not collocated with other organizations’ data

Organizations determine where to run their applications

Organizations pay only for what they use

Hardware must be purchased for startup and maintenance

Organizations control security, compliance, or legal requirements

Organizations don’t have complete control over resources and security

Organizations are responsible for hardware maintenance and updates

 

 

Multi-cloud

Azure Arc 

Azure VMware Solution

Describe the consumption-based model

his consumption-based model has many benefits, including:

Traditional datacenter

Cloud-based model

With a traditional datacenter, you try to estimate the future resource needs. If you overestimate, you spend more on your datacenter than you need to and potentially waste money. If you underestimate, your datacenter will quickly reach capacity and your applications and services may suffer from decreased performance. Fixing an under-provisioned datacenter can take a long time. You may need to order, receive, and install more hardware. You'll also need to add power, cooling, and networking for the extra hardware.

In a cloud-based model, you don’t have to worry about getting the resource needs just right. If you find that you need more virtual machines, you add more. If the demand drops and you don’t need as many virtual machines, you remove machines as needed. Either way, you’re only paying for the virtual machines that you use, not the “extra capacity” that the cloud provider has on hand.

 

Compare cloud pricing models 

Benefits of cloud computing

High availability 

Scalability 

Reliability 

Predictability 

 Governance

security 

Infrastructure as a Service   ( No installation of hardware / Infrastructure -renting hardware )

Common Diagram

Scenarios

Platform as a Service  ( No installation of development tools / platform)

Scenarios 

Describe Software as a Service 

Scenarios