Cloud computing is one of the hottest buzzwords in the IT world today. It has revolutionized our internet experience as users, and the way organizations conduct their businesses. Cloud-based technologies are used for services such as email (e.g., Gmail), social networking, file storage (e.g., Dropbox), big data analytics, software testing and development, CRM (e.g., Salesforce), etc.
Regardless of your background (whether you're an IT professional or a financial analyst), having a basic understanding of cloud computing is an invaluable skill.
The term cloud computing
simply refers to the provision of computer system resources (like storage, software, servers, or databases) over the internet (i.e., the cloud), without the need for internal infrastructure or direct active management by the user. It is often represented as a fluffy blue (or white) cloud graphic ☁☁️.
Benefits of cloud computing include scalability, flexibility, reliability, geographical independence, and cost-effectiveness. Furthermore, it enables users to access the latest technologies and guarantees data protection.
Infrastructure as a Service (IaaS): This form of cloud computing offers the delivery of virtual infrastructure that replaces physical hardware to businesses seeking cost-effective IT solutions. This form of cloud services delivers the necessary resources that enable high-performance computing, and it also facilitates data storage, backup, and recovery services to users. Infrastructure as a service provides the following resources: compute (i.e., resources like virtual servers which are provided on-demand); block storage (like data storage drives which is used for providing blocks for storing information), and networks which are all the resources required for providing users with networking capabilities.
Platform as a Service (PaaS): In addition to providing the fundamental infrastructure of virtual servers, data storage drives, and networks, this type of cloud service adds operating systems and software to the range of services delivered to users. It also provides a run-time environment that provides all the functionality necessary for an application or program to run. PaaS allows developers to focus on their apps and avoid tasks like acquisition and resource planning.
Software as a Service (SaaS): This is the largest (and most popular) of the three forms of cloud computing as it involves the deployment of software or apps over the internet. It operates a subscription model (either yearly or monthly) that requires an internet connection for users to access its services. Examples of areas covered by software as a service include application monitoring, content, finance, communication tools/apps, collaboration technology, and services.
There are several cloud deployment models, depending on where the infrastructure resides and who has control over it. Below are four main models associated with cloud computing:
Public cloud: is the most common cloud deployment model - operated by third-party companies which are also known as cloud providers (such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud) and made available to the general public or a large industry group on a pay-as-you-use basis. With public clouds, users can access computing resources [like hardware (operating system, storage) or software (application server, database)] at a relatively low cost as there are no capital expenditures required. Typical uses of public clouds are application development and testing, file sharing and storage, and email service.
Private cloud: is a cloud environment in which all computing resources are controlled and managed exclusively for a single organization either by the organization itself or a third-party service provider. Private clouds are often hosted within a company's own data center, although they can also be built on the infrastructure of an independent cloud provider or on rented infrastructure in an offsite data center. They are usually more costly than public clouds due to the huge capital investments involved in their maintenance, installation, and acquisition. However, private clouds offer businesses increased security and privacy as well as the added benefits of scalability, flexibility, and full control over software and hardware choices.
Hybrid cloud: integrates the best features of public and private clouds. Both types of cloud infrastructure are combined into one. Organizations can choose to store sensitive information privately on their on-premises infrastructure while using their public cloud data center for any additional platform, storage, or computing resources they may require. This model is typically used when companies need to quickly scale up their IT infrastructure as it gives a business greater flexibility and more application deployment options.
Note that hybrid clouds are not to be confused with the multi-cloud infrastructure, which is a cloud service environment consisting of more than one public and private cloud. Multi-cloud, which aims to eliminate reliance on any single cloud provider, differs from hybrid cloud in that it refers to multiple cloud services rather than multiple deployment models.
Community cloud: is especially useful for organizations that have similar goals and interests, such as schools and companies merging. It is a deployment model in which cloud infrastructure, whether managed internally or by a third party and hosted internally or externally, is shared between several organizations from a specific community with common concerns. A community cloud is a centralized cloud infrastructure that allows companies to collaborate on applications and projects belonging to the community. Benefits offered by this deployment model include security and sharing infrastructure, cost-effectiveness, flexibility, and scalability, etc.
a. Resource Pooling: This means that the cloud services provider's computing infrastructure is pooled together to serve several businesses. In cloud computing, resource usage can grow or shrink as the client's needs change; therefore, providers serve customers with scalable and provisional services to suit their needs.
b. Scalability and Rapid Elasticity: scalability is the ability to contract or expand computing infrastructure as a response to clients' changing requests, while rapid elasticity refers to the fast allocation of resources to meet the needs of consumers. It is essential that cloud providers efficiently allocate resources and do it quickly as their resources are seen as one large pool that can be divided up among clients as needed.
c. On-demand Self-Service: This means that customers can automate their requests based on their computing needs without contacting their cloud providers. This characteristic of cloud computing allows clients to access additional resources at any time without enquiring with the service provider.
d. Broad Network Access: this means that computing resources can be easily accessible from any location (such as the office or home) and with various operating systems (like Windows, mobile, or Lotus). Broad network access is one of the fundamental hallmarks of cloud computing.
Now that we have covered the most basic concepts of cloud computing, we will be delving into cloud networking and storage in another article. To know more about cloud computing, consider checking out the following resources:
What is Cloud Computing? - Amazon AWS
Microsoft Azure - A Beginner's Guide
IBM | Cloud Computing Fundamentals
Lastly, this 👉 Forbes article explores the five biggest cloud computing trends in 2022
Hey, thanks for reading! 👋 👋
Also published here.