Cloud Architecture Design
Syllabus
Why this course?
• To be aware of designing and understanding
systems which serves as base for many
domains.
• One of the core subjects which prepares you
for industry process.
• Base for deploying engineering process in IT
which is prevalent now-a-days.
Evaluation
• Digital Assignment/QUIZ
• CAT
• FAT
Textbook and references
Textbooks:
• Saurabh Shrivastava, Neelanjali Srivastav, Alberto
Artasanchez, “AWS for Solutions Architects - Second
Edition: The definitive guide to AWS Solutions Architecture
for migrating to, building, scaling, and succeeding in the
cloud”, 28 April 2023, Packt Publishing
• Alberto Artasanchez, “AWS for Solutions Architects: Design
your cloud infrastructure by implementing DevOps,
containers, and Amazon Web Services”, 19 February 2021,
Packt Publishing
References
https://docs.aws.amazon.com/whitepapers/latest/aws-overv
Cloud basics
Types of Host
CENTRALIZED SYSTEMS
Centralized systems are systems that use client/server architecture
where one or more client nodes are directly connected to a central
server.
Components of Centralized System are:
• Node (Computer, Mobile, etc.).
• Server.
• Communication link (Cables, Wi-Fi, etc.).
DECENTRALIZED SYSTEMS
In decentralized systems, every node makes its own decision. The
final behavior of the system is the aggregate of the decisions of the
individual nodes.
Distributed Systems
A distributed system contains multiple nodes that are physically
separate but linked together using the network.
Distributed System Architecture
What is Cloud?
Cloud computing is the on-demand delivery of IT resources over the
Internet with pay-as-you-go pricing. Instead of buying, owning, and
maintaining physical data centers and servers, you can access
technology services, such as computing power, storage, and
databases, on an as-needed basis from a cloud provider like Amazon
Web Services (AWS).
Who is using cloud computing?
• Organizations of every type, size, and industry are using the
cloud for a wide variety of use cases, such as data backup,
disaster recovery, email, virtual desktops, software development
and testing, big data analytics, and customer-facing web
applications.
• For example, healthcare companies are using the cloud to
develop more personalized treatments for patients.
• Financial services companies are using the cloud to power real-
time fraud detection and prevention.
• And video game makers are using the cloud to deliver online
games to millions of players around the world. e.g Sony, Epic
game
Benefits of cloud computing
Agility
The cloud gives you easy access to a broad range of technologies so
that you can innovate faster and build nearly anything that you can
imagine. You can quickly spin up resources as you need them–from
infrastructure services, such as compute, storage, and databases, to
Internet of Things, machine learning, data lakes and analytics, and
much more.
Elasticity
With cloud computing, you don’t have to over-provision resources up
front to handle peak levels of business activity in the future. Instead,
you provision the amount of resources that you actually need. You can
scale these resources up or down to instantly grow and shrink
capacity as your business needs change.
Benefits of cloud computing
Cost savings
The cloud allows you to trade fixed expenses (such as data centers
and physical servers) for variable expenses, and only pay for IT as
you consume it. Plus, the variable expenses are much lower than what
you would pay to do it yourself because of the economies of scale.
Deploy globally in minutes
With the cloud, you can expand to new geographic regions and deploy
globally in minutes. For example, AWS has infrastructure all over the
world, so you can deploy your application in multiple physical
locations with just a few clicks. Putting applications in closer
proximity to end users reduces latency and improves their experience.
Data Center
A data center is a centralized physical facility that stores businesses’
critical applications and data. A common data center definition is a
location where computing and networking equipment is used to
collect, process, and store data, as well as to distribute and enable
access to resources.
Network
Server Storage Infra
Farm
Cloud Services
There are three main cloud service models. Each model represents a different part of
the cloud computing stack and gives you a different level of control over your IT
resources:
• Infrastructure as a service (IaaS): Services in this category are the basic building
blocks for cloud IT and typically provide you with access to networking features,
computers (virtual or on dedicated hardware), and data storage space. IaaS provides
you with the highest level of flexibility and management control over your IT
resources. It is the most similar to existing IT resources that many IT departments and
developers are familiar with today.
• Platform as a service (PaaS): Services in this category reduce the need for you to
manage the underlying infrastructure (usually hardware and operating systems) and
enable you to focus on the deployment and management of your applications.
• Software as a service (SaaS): Services in this category provide you with a completed
product that the service provider runs and manages. In most cases, software as a
service refers to end-user applications. With a SaaS offering, you do not have to think
about how the service is maintained or how the underlying infrastructure is managed.
You need to think only about how you plan to use that particular piece of software. A
common example of a SaaS application is web-based email, where you can send and
receive email without managing feature additions to the email product or maintaining
the servers and operating systems that the email program runs on.
There are three main cloud computing deployment models, which represent the cloud
environments that your applications can be deployed in:
• Public Cloud: A cloud-based application is fully deployed in the cloud, and all parts of the
application run in the cloud. Applications in the cloud have either been created in the
cloud or have been migrated from an existing infrastructure to take advantage of the
benefits of cloud computing. Cloud-based applications can be built on low-level
infrastructure pieces or they can use higher-level services that provide abstraction from
the management, architecting, and scaling requirements of core infrastructure.
• Private Cloud (On-premises): Deploying resources on-premises, using virtualization and
resource management tools, is sometimes called private cloud. While on-premises
deployment does not provide many of the benefits of cloud computing, it is sometimes
sought for its ability to provide dedicated resources. In most cases, this deployment
model is the same as legacy IT infrastructure, but it might also use application
management and virtualization technologies to increase resource utilization.
• Hybrid Cloud: A hybrid deployment is a way to connect infrastructure and applications
between cloud-based resources and existing resources that are not located in the cloud.
The most common method of hybrid deployment is between the cloud and existing on-
premises infrastructure. This model enables an organization to extend and grow their
infrastructure into the cloud while connecting cloud resources to internal systems.
• Community cloud is a cloud infrastructure that allows systems and services to be
accessible by a group of several organizations to share the information. It is owned,
managed, and operated by one or more organizations in the community, a third party,
or a combination of them.
Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud