Skip to content
DBDeependra Bhatta~/notes
Cloud & AWS#aws · #aws-certification · #cloud-computing

Cloud Computing Basics and Introduction to AWS

What cloud computing is, the IaaS, PaaS and SaaS service models, cloud, hybrid and on-premises deployment, the six advantages, and how AWS fits in.

· updated · 10 min read
ON THIS PAGE

Nearly every DevOps task now touches a cloud provider, and that work depends on a precise shared vocabulary: what "the cloud" is, who manages each layer of the stack, and why organizations migrate to it. This guide covers the cloud service and deployment models, the six advantages of cloud computing, and the ways to work with AWS. It follows the first module of the AWS Cloud Practitioner course, combined with earlier work on cloud architecture.

What cloud computing is

Cloud computing is the on-demand delivery of IT resources (compute, storage, databases, networking, applications) over the internet, with pay-as-you-go pricing. The servers still exist. They sit in large data centers owned by a cloud provider such as AWS, Microsoft Azure or Google Cloud, and you rent what you need instead of buying it.

Infrastructure as hardware vs infrastructure as software

The central idea is a shift in how you think about infrastructure.

In the traditional model, infrastructure is hardware. You need space, power, staff, physical security and a large upfront payment. Buying servers takes weeks, so you plan capacity for a guessed peak. If you guess too high, you pay for idle machines. If you guess too low, your users get a slow or broken service. To host a new website you buy hardware, rack it, cable it and then maintain it.

In the cloud model, infrastructure behaves like software. You create resources in minutes, scale them up or down with demand, and delete them when you are done. You pay only for what you use, so servers become temporary and disposable. The provider takes over the "undifferentiated heavy lifting" (procurement, hardware maintenance, capacity planning), and your team can focus on the application.

Cloud architecture: front end and back end

A cloud service has two sides:

  • Front end: what the user touches. This is the client side, such as a web browser, a mobile app or a command-line tool, plus the interface it talks to.
  • Back end: everything the provider runs. Servers, storage systems, databases, networking, virtualization, security and the management software that keeps it all running. The back end is the larger part of the system, and the user never sees it.

The two sides talk over the internet, usually through APIs (application programming interfaces).

Cloud service models

The service model decides how much of the stack you manage and how much the provider manages.

IaaS, PaaS and SaaS on an arrow from more control over IT resources to less control

ModelProvider managesYou manageExample
IaaS (Infrastructure as a Service)Data center, hardware, virtualization, networkOperating system, runtime, data, applicationAmazon EC2
PaaS (Platform as a Service)Everything up to and including the OS and runtimeYour code and dataAWS Elastic Beanstalk
SaaS (Software as a Service)The whole applicationOnly how you use itWeb-based email

IaaS gives the most control and feels closest to running your own servers. SaaS gives the least control but needs no operations work from you.

Serverless

Serverless means you do not provision or manage any servers at all. You upload code or configure a service, and the provider runs it, scales it and bills you per request or per unit of work. Function as a Service (FaaS) is one form of serverless: you write small functions that run when an event happens, for example AWS Lambda running code when a file lands in an S3 bucket. Serverless is wider than FaaS, though. Amazon S3, Amazon DynamoDB and AWS Fargate are also serverless because you never see the machines behind them.

You will also see other "as a service" names, such as DBaaS (Database as a Service, for example Amazon RDS) and DaaS (Desktop as a Service, for example Amazon WorkSpaces). They are narrower applications of the same idea.

Cloud deployment models

The deployment model says where your application runs.

ModelWhat it meansTypical use
Cloud (public cloud)Every part of the application runs on a cloud provider's shared infrastructure.New applications, or apps fully migrated to AWS
HybridCloud resources are connected to systems that stay outside the cloud, usually an on-premises data center.Gradual migration, or data that must stay on site
On-premises (private cloud)Resources run in your own data center, often with virtualization and management tools such as VMware or OpenStack.Dedicated hardware or strict control needs

A private cloud gives you dedicated resources, but most of the cloud benefits in the next section (no upfront cost, global reach, near-unlimited capacity) do not apply to it.

The six advantages of cloud computing

AWS defines six advantages of cloud computing:

AdvantageWhat it means in practice
Trade fixed expense for variable expenseNo large upfront spending on data centers. You pay for resources only while you use them.
Benefit from massive economies of scaleAWS buys hardware for a huge number of customers, so its pay-as-you-go prices are lower than what one company could get alone.
Stop guessing capacityScale up or down in minutes instead of buying for a guessed peak.
Increase speed and agilityNew resources take minutes, not weeks, so trying an idea is cheap and fast.
Stop spending money running and maintaining data centersNo racking, stacking or powering servers. Spend that effort on your product.
Go global in minutesDeploy to Regions around the world with a few clicks, closer to your users.

The money side (pricing models, total cost of ownership and billing tools) is covered in AWS pricing and billing.

What AWS is

Amazon Web Services (AWS) is Amazon's cloud platform. It offers more than 200 services, grouped into categories such as Compute, Storage, Database, Networking and Content Delivery, Security, Identity and Compliance, and Management and Governance. Each service is a web service: a program you call over the network by sending a request (usually JSON over HTTPS) to an API and getting a response back. The caller does not need to know which language or hardware sits behind it.

The services are designed to work together as building blocks. Consider this example from the course: users send data to Amazon EC2 instances running inside an Amazon VPC. The instances save the raw data as objects in Amazon S3 and keep an index in Amazon DynamoDB, so you can find all objects for one customer quickly. That one small solution uses four categories: networking, compute, database and storage.

Users reach EC2 in a VPC, which writes to DynamoDB and S3, with each service labelled by its category

Mapping traditional IT to AWS

Most components of an on-premises data center have an AWS equivalent:

AreaTraditional ITAWS
SecurityFirewalls, ACLs, administratorsSecurity groups, network ACLs, AWS IAM
NetworkingRouters, network pipeline, switchesAmazon VPC, Elastic Load Balancing
ComputeOn-premises serversAmazon EC2 instances launched from AMIs (Amazon Machine Images)
StorageDisk attached to one server (DAS)Amazon EBS
StorageShared network file system used by many serversAmazon EFS
StorageNetwork storage for files, backups and mediaAmazon S3 (object storage over the internet)
DatabaseRelational database serverAmazon RDS

Choosing a compute service

One category can hold many services, and the right one depends on how much you want to manage. For compute alone:

ServiceChoose it when you want to
Amazon EC2Have full control over virtual machines
AWS LambdaRun code without managing servers
AWS Elastic BeanstalkHave AWS deploy, scale and manage a web application for you
Amazon LightsailRun a simple web app on a lightweight, fixed-price platform
AWS BatchRun large numbers of batch jobs
Amazon ECS, Amazon EKS, AWS FargateRun containers (ECS and EKS orchestrate them, Fargate removes the servers)
AWS OutpostsRun AWS infrastructure inside your own data center

Ways to interact with AWS

ToolWhat it isGood for
AWS Management ConsoleWeb-based graphical interfaceLearning, exploring, one-off tasks
AWS CLI (Command Line Interface)The aws command on Linux, macOS or WindowsScripts and repeatable tasks
AWS SDKs (Software Development Kits)Libraries for Python (boto3), Java, JavaScript, Go, .NET and moreCalling AWS from your own application code

All three send requests to the same AWS APIs, so anything you can do in the console you can also script. In DevOps work you also manage AWS through infrastructure as code tools such as AWS CloudFormation or Terraform, which call the same APIs. The next part shows the console sign-in and CLI examples.

Moving to the cloud: the AWS Cloud Adoption Framework

Cloud migration is not only a technical project. People and processes must change too, and that change takes time. The AWS Cloud Adoption Framework (AWS CAF) is AWS guidance that helps an organization find gaps in skills and processes and plan the move. It groups the guidance into six perspectives. Each perspective is a set of capabilities owned by a group of stakeholders.

PerspectiveFocusTypical stakeholders
BusinessCloud investments support business goals and outcomesBusiness managers, finance managers, budget owners, strategy owners
PeopleCulture, structure, skills and trainingHR, staffing and people managers
GovernanceManage cloud initiatives to get the most value with the least riskCIO, program managers, enterprise architects, portfolio managers
PlatformBuild and run the target cloud architectureCTO, IT managers, solutions architects
SecurityConfidentiality, integrity and availability of data and workloadsCISO, IT security managers and analysts
OperationsRun cloud services at the level the business needsIT operations and IT support managers

The first three focus on business capabilities. Platform, Security and Operations focus on technical capabilities. More detail is on the official AWS CAF page.

Key takeaways

  • Cloud computing is on-demand IT resources over the internet with pay-as-you-go pricing. You treat infrastructure like software, not hardware.
  • IaaS, PaaS and SaaS differ in how much of the stack you manage. Serverless removes server management completely, and FaaS is one type of it.
  • The deployment models are cloud, hybrid and on-premises (private cloud).
  • The six advantages reduce to lower and variable cost, no capacity guessing, faster delivery, and global reach.
  • You can use AWS through the console, the CLI or an SDK, and all of them call the same APIs.
  • The AWS CAF splits cloud adoption into six perspectives: Business, People, Governance, Platform, Security and Operations.

Next in this series: AWS Global Infrastructure.