AWS Cloud Practioner Certification Preparation Guide
AWS Cloud Practioner Certification Preparation Guide
AWS Cloud Practioner Certification Preparation Guide
PREPARATION-GUIDE
CLF -C01
Exam Name: AWS Certified Cloud Practitioner
Exam Duration: 90 Minutes
Exam Level: Foundational
Passing Score: 70%
Eligibility/Pre- None
requisite:
Validity: 3 years
Exam Code: CLF-C01
Exam Format: Multiple choice or multiple response
Number of 65 Questions
Questions:
Exam Fee: $100
Exam Language: English, French, German, Indonesian, Italian, Japanese, Korean, Portuguese,
Simplified Chinese, Spanish
Exam Delivery Pearson VUE and PSI (testing center or online proctored exam)
Format:
Cloud computing provides a simple way to access servers, storage, databases, and a broad
set of application services over the Internet.
Why Cloud Computing
Most organizations use many forms of cloud computing today. But what is cloud computing
and what are the benefits for enterprises?
In this section, you’re going to learn the answer to these questions, from both the technical
and business perspectives of cloud computing, and the benefits that companies can gain
from using cloud computing services. By the end of this section, you’re also going to
understand the difference between “legacy” IT and cloud computing.
Before we get started, a quick definition of cloud computing is required: Cloud computing is
the on-demand delivery of IT services from a third-party provider over the Internet. That
means you consume a service provided by another company (aka the “service provider”),
typically on a pay-as-you-use pricing model.
There are multiple cloud computing service models (e.g. IaaS, PaaS, and SaaS)
and deployment models (e.g. Public Cloud, Private Cloud, Hybrid cloud, and Multicloud), and
these are discussed in detail in other articles; the scope of this section is to explore the key
benefits of cloud computing and how it is often advantageous to “legacy IT”.
Legacy IT
Perhaps the best way to start off is to compare cloud computing to legacy IT. What I mean
by legacy IT is self-managed systems deployed within a company’s own data center (on-
premises), or in a shared data center (co-location) where the company leases space. This
equipment is typically purchased and owned by the company and may also be fully or
partially managed by the company’s IT staff.
This model requires large amounts of capital expenditure (CAPEX) to pay for data center
costs, equipment purchase, software licensing, maintenance contracts, staff wages and
more. Typically equipment is then depreciated over the course of 3-5 years, and must then
be replaced.
Your CFO may not be a big fan of this model as it’s not so great for cashflow. Another
disadvantage of this model is that it constrains a company’s ability to scale. If your company
grows quickly it may be hard to find the capital needed, lead times for purchasing
equipment may be too slow, and delivery of the extra capacity may put a huge strain on IT
operations staff.
It’s even harder if your company’s growth is unpredictable. Worse still, if your company’s
growth contracts, you still have to pay the ongoing costs of the extra equipment you
purchased (possibly including loan repayments).
Cloud Computing
So how does cloud computing help? Let’s explore several of the many advantages of cloud
computing, and discuss how cloud computing solves many of the challenges of legacy IT.
With cloud computing, you consume on-demand computing resources as services. In this
self-service model, the service is metered so you pay only for what you use. This is an
operational (OPEX) cost to the business which is often preferred by the finance team.
Economies of scale
With cloud computing, you also benefit from economies of scale. Large cloud service
providers such as Microsoft Azure and Amazon Web Services (AWS) purchase huge amounts
of equipment and have thousands of customers. This enables these cloud computing
providers to offer very competitive costs.
One of the key benefits that differentiates cloud computing from legacy IT is its elasticity.
With cloud computing you are able to scale your consumption of services to meet the
demands of the business – no matter how fast your business grows. This is how companies
such as Uber and Netflix were able to grow so quickly.
Of course, if you hit hard times and your business shrinks your consumption, and therefore
costs will shrink along with it. This is a massive benefit, especially to smaller companies and
so it’s no surprise that cloud adoption is strongest with startups.
Organizations often find themselves guessing how much computing capacity they need to
purchase and provision. It’s often the case that IT operations teams err on the side of
caution and overestimate their capacity requirements to ensure they don’t get into trouble
later on when the server hits peak capacity and fails. There can be a significant cost to this
extra capacity that often goes unused.
With cloud consumption being delivered on-demand, and charged based on what you use,
wasted capacity can be largely eliminated which can have a favorable impact on a
company’s cash flow.
As you reduce the costs and operational overhead of managing data centers and IT
equipment, you are able to focus more on projects that differentiate your business. In the
modern business landscape you either innovate or die, so moving to cloud computing
services can literally enable a company to survive in this competitive environment.
With the public cloud, you need to understand the concept of the “shared responsibility
model“. This model defines the boundaries and responsibility between the service provider
and the customer. You are responsible for encrypting your data, patching of operating
systems, and configuration of firewalls. The service provider is responsible for the hardware,
software, networking, and facilities that run the cloud services.
It depends heavily on which services you consume, but you must always understand what
you are responsible for and what the cloud service provider is responsible for. Using AWS as
an example, AWS is responsible for the hardware on which your data sits, but it’s up to you
not to enable public access and share it with the world!
Another key fact to note is that the major cloud providers such as Amazon Web Services,
Microsoft Azure and Google, have stringent security requirements, and compliance with
many security compliance programs, certifications and attestations. In fact, in many cases,
the public cloud is secured way better than most organization’s on-premises IT.
Infrastructure as a Service
With IaaS services, such as Amazon EC2, your company can consume compute servers,
known as “instances”, on-demand. This means that the hardware and software stack, up to
the operating system is managed for you.
You then need to choose which operating system to use with your instance (e.g. Linux or
Windows) and you are responsible for the configuration and management of the operating
system and any software you install on it.
An application programming interface (API) is typically provided for all cloud services, which
can be used for programmatic management. Each compute instance will have an allocated
storage capacity, and cloud networking functions such as routing, firewalls, and load
balancers can be configured.
IaaS is the least popular of the cloud computing service models at present, though it is
gaining in popularity. Currently, around 12% of enterprise workloads run on IaaS.
Developers love PaaS as it removes more complexity and operational overhead from them.
With PaaS, the cloud service provider manages the infrastructure layer and also the
middleware, development tools, business intelligence (BI) services, database management
systems and more.
This allows developers to concentrate on their code without needing to manage the
environment on which it runs. Developers simply upload their code to build web
applications. PaaS is designed to support the complete web application life cycle: building,
testing, deploying, managing, and updating.
You’re not just limited to web services with PaaS. Databases can also be offered in a
platform as a service model. In this case the management of the database engine and
underlying hardware is taken care of by the service provider, and you create tables and add
data. Examples of database PaaS offerings include Microsoft Azure SQL and Amazon RDS.
PaaS is currently the most popular cloud computing service model, comprising around 32%
of all enterprise workloads .
With SaaS the entire stack is managed for you, though you will often have some limited
scope to configure the service according to your needs.
SaaS is the second most popular cloud computing service model for enterprises, totaling
around 24% of all enterprise workloads.
The diagram below depicts these three service models and shows where the responsibility
for management lies, it also compares against the “legacy IT” or “on-premises” model:
You may also have seen the acronym XaaS. The “X” in XaaS is a variable meaning you can
replace it with whatever letter corresponds with the service you are offering in an “as a
service” model. Also known as “anything as a service”. An example is DaaS which stands for
“database as a service”, and BaaS which stands for “backup as a service”.
A CaaS service sits somewhere between IaaS and PaaS, depending on the implementation.
With a CaaS service the cloud service provider manages the container engine, such as
Docker for you. You can use a management console or API to upload, organize, run, scale,
manage and stop containers.
This is yet another level of abstraction. FaaS is part of a suite of services known as
“serverless” services. With serverless computing you don’t need to worry about launching,
managing, or scaling any compute resources such as server “instances”, clusters, or load
balancers.
In previous articles, you’ve learned what cloud computing is, and the various cloud
computing service models. But which one is best for you and your company? The reality is
there’s rarely a single answer here, Most organizations will use a mixture of cloud service
models and will often utilize a variety of cloud providers.
Private Cloud
In an on-premises, or private cloud computing deployment model an enterprise deploys
their own infrastructure and applications into their own data center. The data center can be
on-premises or co-location (col0). Though an on-premises deployment is very much the
“legacy IT” setup, it can have many of the characteristics of cloud computing if the stack is
designed properly – hence turning it into a “private cloud”.
For instance, a private cloud can be delivered using a virtualization platform with
orchestration and self-service software. From a developers perspective, this can mean
elastic compute capacity is delivered on-demand, elastically (within the capacity constraints
of the system), and programmatically.
The private cloud deployment is typically single-tenant, meaning the platform is not shared
with other organizations. It may, however, have multiple tenants which could be
departments within the organization.
Private cloud is not a pay-as-you-go expense as you own (and pay for) the entire stack,
whether it’s being used or not. However, you can use metering to either record and display
usage across different tenants or to actually charge those user groups – these methods are
sometimes called “showback” or “chargeback”.
A private cloud deployment doesn’t provide many of the benefits of cloud computing but is
sometimes sought for its ability to provide dedicated resources. Though you have complete
control on how you deploy and manage a private cloud, this needs to be weighed against
the capital expense of owning your own data center, and the limitations in scalability this
type of architecture typically imposes.
A word of warning: and speaking from experience… trying to create a private cloud that
mimics the features and functions of a public cloud can be extremely difficult and expensive.
Once you start layering on orchestration, multi-tenancy, metering, chargeback, and so on, it
can become very complex so you need a very strong business case to do this.
Public Cloud
When we talk about “cloud computing” this is typically what’s being discussed and is the
model which provides most of the advantages of cloud computing. A Public cloud computing
deployment model means the IT services that you consume are hosted and delivered from a
third party and accessed over the Internet. Services are available to the “public” to use, so
any organization or end user can create an account with their credit card.
This model is typically multi-tenant with many customers sharing the same underlying
infrastructure (though you can use dedicated hardware in a public cloud, e.g. Amazon EC2
Dedicated Hosts).
Top public cloud providers include: AWS, Microsoft Azure, and Google Cloud Platform.
Hybrid Cloud
What is hybrid cloud? This is a cloud computing deployment model in which a combination
of on-premises, private cloud, and public cloud services are consumed. This model is
extremely common, especially with larger organizations, as a single cloud deployment
model may not be optimal for all workloads.
For instance, an organization may require some data to be maintained on-premises (or at
least not in a multi-tenant public cloud) for compliance reasons, but may wish to deploy
web services in public cloud providers around the world to leverage the elasticity and get
content closer to customers.
Hybrid cloud models are also used for cloud bursting. This means that the organization may
run their applications primarily on-premises, or in a private cloud, but in times of heavy load
they can “burst” into the public cloud, launching additional application servers to service the
load,
This model delivers some of the benefits of private cloud and public cloud, though some
organizations have found that there are operational advantages to going “all in” on a single
deployment model. It’s really up to each and every organization to evaluate the pros and
cons of each deployment model to work out the ideal fit.
Allows companies to keep the critical applications and sensitive data in a traditional
data centre environment or private cloud
Enables taking advantage of public cloud resources like SaaS, for the latest
applications, and IaaS, for elastic virtual resources
Facilitates portability of data, apps and services and more choices for deployment
models
Multicloud
The term “multicloud” has come into the IT architect’s vocabulary fairly recently. Multicloud
refers to the usage of two or more public clouds at a time, and possibly multiple private
clouds. This is not to be confused with hybrid cloud, where you use different deployment
models such as private and public.
With multicloud you use multiple providers. For instance, you might have some workloads
running on Microsoft Azure IaaS and others running on Amazon EC2. These are both public
cloud IaaS services.
You should now understand the various patterns and anti-patterns associated with each
cloud computing deployment model. There are several approaches towards determining the
best model for your organization. These include:
Organizationally centric approach – in this approach you take a more holistic view of
which type of cloud computing deployment model is most suitable for your
company. Factors to consider would include business agility and growth, competitive
differentiation, operational preference, and CAPEX vs OPEX preferences