Skip to main content

Cloud Architecture explained

· 5 min read
Stephane Boghossian

Cloud Architecture#

Basic Cloud architecture#

Cloud computing architecture refers to how components interact with other components. These components typically consist of a front end platform (web application, desktop, mobile), back end platforms (servers, storage), a Cloud based delivery, and a network (Internet, Intranet, Intercloud).

Cloud Infrastructure vs. Cloud Architecture#

Cloud computing has introduced a variety of new terms used today by the IT industry, developers, and enterprise architects around the world. So, it's not surprising that Cloud infrastructure and Cloud architecture are often confused. However, although they are closely related, they explain two different things:

Cloud architecture can be thought of as the layout of a Cloud environment. It defines how different Cloud components need to be structured and interrelated so that they can meet the specific requirements of applications and other services. It provides IT professionals with a conceptual overview of what they need to build, such as a blueprint for physical architecture. The fact that there is a Cloud architecture also explains the emergence of new IT professionals such as enterprise architects, solutions architects, and technical architects.

On the other hand, Cloud Infrastructure is the actual representation of this theoretical design. This represents integrating operating systems and virtual resources to provide services such as Cloud computing, storage, and networking. When Cloud architecture provides city maps, Cloud infrastructure can be compared to urban transportation systems, communications networks, sewage, water and sewage, and electrical systems.

When a third party implements a Cloud infrastructure, customers need to determine the type of architecture that best suits their needs (public Cloud, private Cloud, hybrid Cloud) in terms of performance, reliability, and security.

Types of Cloud architectures#

  • Private Cloud architecture: Loosely defined as a Cloud environment solely dedicated to the end user, usually within the user's firewall and sometimes on premise.
  • Hybrid Cloud architecture: Multiple Cloud environments with some degree of workload portability, orchestration, and management among them.
  • Cloud native architecture: Design methodology that utilizes Cloud services such as EC2, S3, Lambda from AWS, etc to allow dynamic and agile application development techniques that take a modular approach to building, running, and updating software through a suite of Cloud-based microservices
  • Multi Cloud architecture: use of multiple Cloud computing and storage services in a single heterogeneous architecture

Cloud architecture templates [Brainboard]#

AWS Cloud architecture#

AWS

Microsoft Azure Cloud architecture#

Microsoft Azure

Google Cloud architecture#

GCP

Multi-Cloud architecture#

Multi-cloud infrastructure

Serverless#

Serverless

Jenkins#

Jenkins

Kubernetes#

Kubernetes and Brainboard

Brainboard: Cloud architecture design principles#

1. Scalability#

The capacity to scale without modifying the design is referred to as scalability. Scalability is done using any Cloud Provider through scaling-out. Instead of being developed around High Availability, infrastructure, and application components are created with the assumption that they will fail. Technology components are commodities that can be discarded if they break down and expanded by adding more when needed. The use of a consistent approach to architecture and growth is a guiding concept.

There are two types of scaling:

  • Horizontal Scaling — an increase in the number of resources. Autoscaling and bootstrapping are used for horizontal scaling. Autoscaling allows you to automatically horizontally scale to accommodate load. Bootstrapping allows you to automatically set up your servers after they boot. (Using components such as Amazon Machine Images (AMI’s) and CloudFormation to automate).
  • Vertical Scaling — an increase in the capabilities of the resource (e.g., faster CPU, more memory, more storage).

2. Disposable Resources Instead of Fixed Servers#

Resources need to be treated as temporary disposable resources rather than fixed permanent on-premises resources before.

3. Automation#

Unlike traditional IT infrastructure, Cloud enables automation of a number of events, improving both your system’s stability and the efficiency of your organization.

4. Loose Coupling#

Loosely coupled architectures reduce interdependencies, so that a change or failure in a component does not cascade to other components:

5. Services, Not Servers#

A wide variety of underlying technology components are required to develop manage and operate applications.

6. Databases#

Managed database services alleviate the limitations of traditional IT infrastructure, such as licensing fees and the capacity to handle a variety of database engines. The challenge here it to manage sudden increase volumes of data.

7. Removing Single Points of Failure#

A system is highly available when it can withstand the failure of an individual or multiple components (e.g., hard disks, servers, network links etc.).

8. Optimize for Cost#

At the end of the day, it often boils down to cost.

  • You can reduce costs by selecting the right types, configurations and storage solutions to suit your needs.
  • Taking advantage of the variety of Instance Purchasing options (Reserved and spot instances) while buying EC2 instances will help reduce cost of computing capacity.

9. Caching#

Caching improves application performance and increases the cost efficiency of an implementation

10. Security#

Cloud Providers works on shared security responsibility model Cloud Providers are responsible for the security of the underlying Cloud infrastructure you are responsible for securing the workloads you deploy in AWS

Resources:#

10 Design Principles for AWS Cloud Architecture

1.3 List the different Cloud architecture design principles

Cloud Infrastructure - The Definitive Guide | LeanIX

What is Cloud infrastructure?