Blog Post Publish Date: 2023/10/21
Cloud Computing: Overview and Concepts#
This blog post explores the impact of Cloud Computing, essential concepts, primary Cloud models, and my opinion about its adoption.
The Impact of Cloud Computing#
Historically, Development teams emphasized agility in contributions, while Operations/Infrastructure teams focused more on stability due to hardware interactions. However, with the advent of technologies like virtualization, manual infrastructure tasks became obsolete, and infrastructure components started being provided as a service by Cloud providers like AWS, Google, Microsoft, and others.
Now, agility has become a crucial aspect for Operations teams as well. The maintenance of infrastructure as a service by Cloud providers alleviates concerns about electricity, hardware health, and other infrastructure requirements. This shift allows businesses to concentrate on their core purposes rather than infrastructure necessities. Outsourcing maintenance tasks to specialized teams enhances reliability and security, with various services tailored for infrastructure contexts and business cases. Additionally, hardware security is vital to address concerns like natural disasters and physical threats.
A significant keyword in the Cloud landscape is possibilities. The Cloud offers possibilities to access high computing performance components as needed, scale components on demand, and pay only for the time used. These possibilities can lead to reduced costs if your application or infrastructure is scalable, allowing you to pay only for the resources needed for application functionality.
However, it’s important to note that Cloud Computing isn’t a one-size-fits-all solution for every IT infrastructure case. It is one of the options to deploy your infrastructure or application. Before adopting the Cloud for your infrastructure, it’s crucial to ask yourself, “What problem am I trying to solve?” If your application aligns with the Cloud characteristics mentioned above, it might be the best choice for your needs.
Concepts and Characteristics#
Cloud Computing is a model for delivering computing services over the internet, providing a platform to manage, process, and store data on remote servers.
The Cloud Computing main characteristics are:
Maintenance
Less concern about energy and hardware maintenance processes;
Business focuses more on IT technologies.
Reliability
Specialization in determining tools;
High availability possibilities.
Security
Utilization of specific security tools;
Software and hardware security solutions.
Performance
Hardware components available as a service;
Performance enhancements possible when needed.
Scalability
Scalability on demand;
Minimal IT resource requirements to run applications.
Cost and Elasticity
Cost management options;
Both soft and hard cost considerations with available possibilities.
See also: AWS - What is Cloud Computing
Cloud Main Models#
The cloud is not limited to AWS, Google Cloud Platform, or Oracle Cloud. These mentioned cloud providers belong to the category of Public Cloud. However, it’s essential to understand that there are other ways to implement cloud solutions.
Public Cloud
Resources are shared and can be used by anyone (examples: AWS, GCP, Oracle Cloud).
Private Cloud
Often referred to as Bare Metal Cloud owned by a single entity, and resources are not shared with other corporations (examples: OpenStack, VMWare, and XenServer).
Hybrid Cloud
A combination of both Private Cloud and Public Cloud components.
MultiCloud
Cloud architecture is not dependent on a specific Cloud model and can run in both Private and Public Cloud environments.
Community Cloud
Custom Cloud architecture created by corporations to provide clients with the flexibility of multiple Public and Private Cloud features.
More Details: NIST - Cloud Computing Definition