Prelude
Cloud Computing is a way for delivering services or resources on-demand.
According to the National Institute of Standards and Technology (NIST):
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Table of contents
Open Table of contents
How Cloud Computing is evolved ?
Traditional computing environments relied heavily on physical servers and on-premises infrastructure before cloud computing became prevalent. Some highlighting briefs prelude to cloud computing to provide context for its emergence:
1. On-Premises Computing: A significant upfront capital investment was required for the organizations where they would purchase and maintain their own servers, storage devices, and networking equipment in early days of computing. These resources were typically housed in data centers within their own facilities and also required for maintainance
2. Limitations of On-Premises Computing: Under this observation we have many things to look into :
a. Expanding or reducing computing resources often required purchasing new hardware, leading to inefficiencies and delays.
b. Maintenance and upgrades were time-consuming and costly.
c. Disaster recovery and data backup strategies were complex to implement.
3. Virtualization: It is emerged to improve resource utilization. Virtualization technology allowed multiple virtual machines (VMs) to run on a single physical server, making better use of hardware resources. This technology laid the foundation for cloud computing.
4. Evolution of Cloud Models: As cloud computing matured, it offered various service models, including IaaS, PaaS, and SaaS, to cater to different business needs.
5. Cloud Adoption: Cloud computing gained widespread adoption across industries and sectors with time and became a fundamental technology for businesses of all sizes, governments, educational institutions, and individuals.
So we can emerge into the defination of the Cloud Computing where it
- refers to the delivery of computing services, including servers, storage, databases, networking, software, analytics, and intelligence, over the internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale.
- Instead of owning and maintaining physical hardware and software, users can access these services.
- Cloud computing has become an integral part of today’s modern IT infrastructure, enabling agility, innovation, and cost-effectiveness for businesses and individuals alike.
Cloud Component
Cloud computing consists of various components, each serving a specific role in delivering cloud services. These components work together to create the cloud computing environment.
-
Client Devices: Laptops, desktop computers, smartphones, tablets, and IoT devices are used to access cloud services over the internet. Clients use web browsers, mobile apps, or specialized software to interact with cloud services.
-
Front-End: Includes the user interface and applications that enable clients to interact with cloud resources. This is what users see and use when they access cloud services.
-
Back-End: It consists of servers, data storage, databases, and the software that manages and delivers cloud services and responsible for processing user requests, data storage, and executing applications.
-
Security Measures: Unauthorized access and cyber threats can be handled by Cloud security components, including encryption, identity and access management (IAM), firewalls, and intrusion detection systems, protect data and resources.
-
APIs (Application Programming Interfaces): To allow applications and services,to access cloud resources and functionality programmatically APIs enable communication and interaction between different components of the cloud environment.
-
Cloud Service Provider (CSP): The CSP is the entity that owns and operates the cloud infrastructure and provides cloud services to users.
-
Data Centers: These centers where cloud infrastructure is housed, contain servers, storage, networking equipment, and cooling systems to maintain the required environmental conditions.
-
Virtualization: It allows for the creation of virtual instances of physical hardware, such as virtual machines (VMs) and containers and enables resource isolation, efficient resource utilization, and the ability to run multiple workloads on a single physical server.
These cloud components work together to deliver the benefits of cloud computing, such as scalability, flexibility, cost-efficiency, and accessibility.
Cloud Characteristics
Cloud computing exhibits several key characteristics collectively make cloud computing a powerful and flexible technology that distinguish it from traditional on-premises computing models. These characteristics define the essence of cloud computing and contribute to its popularity and adoption.
-
On-Demand Self-Service: have provision and manage computing resources as needed, often without requiring human intervention from the cloud service provider which enables rapid resource deployment and scalability.
-
Broad Network Access: are accessible over the internet from a variety of devices and allows users to connect from virtually anywhere with an internet connection.
-
Resource Pooling: Cloud providers pool computing resources to serve multiple customers simultaneously which are dynamically allocated and reassigned based on demand. This pooling of resources helps achieve better efficiency and resource utilization.
-
Rapid Elasticity: Cloud resources can be scaled up or down quickly to accommodate changes in workload to match their needs. This elasticity helps organizations optimize costs and performance.
-
Scalability: Cloud services are inherently scalable, allowing users to easily increase or decrease resources to handle varying workloads which is crucial for handling traffic spikes and accommodating growth.
-
Resource Management: Cloud providers offer tools and interfaces for users to manage their cloud resources, monitor performance, and adjust configurations.
-
Security and Compliance: invest heavily in security measures, including encryption, identity and access management (IAM), and compliance certifications to protect their data and applications.
Advantages of Cloud
- 24 * 7 availability and accessibility
- Scalability
- Security
- Enhanced collaboration
- Cost effective and so on…
Details about Virtualization
It is a technology, enables the creation of virtual versions of various computing resources, including hardware, software, storage, and networks. These virtual resources are created and managed by specialized software called a hypervisor or virtual machine monitor (VMM). It allows multiple virtual instances to run on a single physical machine, effectively abstracting and sharing physical resources among multiple virtual environments.
-
Resource Partitioning: allows a single physical server to be partitioned into multiple virtual machines (VMs), each with its own isolated set of resources, such as CPU, memory, storage, and network bandwidth. This resource partitioning enables efficient utilization of hardware.
-
Isolation: VMs are isolated from one another and from the host system, which means that issues or failures in one VM do not affect the stability or performance of other VMs. Isolation enhances security and fault tolerance.
-
Encapsulation: One can summarize a virtual instance as a single entity to easily identify the service it offers.
How Virtualization works
-
Virtualization works by abstracting and isolating physical hardware resources to create virtual instances that mimic the behavior of physical hardware.
-
The interaction between the host server/machine and the virtual machine is facilitated by software called Hypervisor (VMM).
-
Hypervisor distributes the hardware resources such as CPU, memory to the virtual environments.
Virtualization & its types
- Hardware Virtualization : Hardware virtualization or server virtualization is the concept where virtual machine is created on top of physical hardware. The hypervisor manages the virtual environment.
Types - Full Virtualization, Para Virtualization, Emulation Virtualization
-
Software Virtualization : Software or application virtualization encapsulates or abstracts the programs/applications from the underlying hardware on which it is executed.
-
Storage Virtualization : A concept where multiple physical storages are grouped to appear as single storage.
-
Desktop Virtualization : A concept that stores the users desktop on a remote server allowing the user to access it from any device or any location.
Cloud Computing has two types of models :
- Deployment Model
-
- Public Cloud
- Private Cloud
- Hybrid Cloud
- Community Cloud
-
- Service Model
-
- IaaS
- PaaS
- SaaS
- IDaas
- DaaS
- BPaaS
-
Dig into the Deployment Model
Deployment models refer to the specific arrangements or configurations of cloud infrastructure and resources that are used to deliver cloud services. These models dictate how cloud resources are physically organized, who has control over them, and who can access them.
- Public Cloud: cloud resources and services are owned and operated by a third-party cloud service provider and are made available to the general public or a broad customer base. These services are generally offered on a pay-as-you-go basis, and customers can access them over the internet. Examples of public cloud providers include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).
-
Advantages: Cost-effective, scalable, no need for infrastructure management, and accessibility from anywhere with an internet connection.
-
Considerations: Limited customization and potential security and privacy concerns, especially for sensitive data.
-
Private Cloud: cloud resources are exclusively used by a single organization and they can choose to host the private cloud on its own premises (on-premises private cloud) or have it hosted and managed by a third-party provider (hosted private cloud). Organizations with specific security, compliance, or customization requirements are often use Private clouds.
-
Advantages: Greater control, enhanced security and privacy, and customization options.
-
Considerations: Higher initial costs, infrastructure management, and potentially lower economies of scale compared to public clouds.
-
Hybrid Cloud: It combines elements of both public and private clouds, where it allows data and applications to be shared between them. Organizations can use a hybrid cloud to take advantage of the scalability and cost-effectiveness of public cloud resources while keeping sensitive or critical workloads in a private cloud for enhanced security.
-
Advantages: Flexibility, scalability, and the ability to tailor solutions to specific needs.
-
Considerations: Complex integration, potential data transfer costs, and management of multiple environments.
-
Community Cloud: It is shared among several organizations with similar interests, such as compliance requirements or industry regulations. Organizations collaborate to build and maintain the cloud infrastructure. It provides the benefits of a private cloud while spreading the costs and responsibilities among the community members.
- Advantages: Shared costs, enhanced security and compliance features, and collaboration opportunities.
- Considerations: Limited to specific communities or industries, coordination among community members.
Dig into the Service Model
Service models define the level of abstraction at which cloud services are delivered and the responsibilities shared between cloud service providers (CSPs) and cloud customers (users). These service models determine how users interact with and utilize cloud resources.
-
Infrastructure as a Service (IaaS): Users manage applications, data, and operating systems on virtualized infrastructure provided by the Cloud Service Provider(CSP). They have more control over configuration but still need to handle some aspects of system management.
Example: Azure virtual machines, Amazon EC2, Rackspace.
-
Platform as a Service (PaaS): Users focus primarily on application development and deployment. The Cloud Service Provider(CSP) manages the underlying infrastructure, including runtime environments, databases, and middleware.
Example: AWS Elastic Beanstalk, Windows Azure, Heroku etc.
-
Software as a Service (SaaS): Users simply use and interact with software applications hosted by the Cloud Service Provider(CSP). They have no responsibility for infrastructure management, updates, or maintenance.
Example: Microsoft office 365, salesforce.com.
-
Identity as a Service (IDaaS): Identity as a service (IDaaS) is a SaaS-based identity and access management offering. It is the authentication infrastructure that is hosted and managed by a third-party service provider. Multi-factor authentication is one such type of application such as GitHub where users need to submit multiple factors to access the data.
- Types of identities available are:
- Internal Users: part of an organization such as employees and maintenance personnel.
- External Users: those who are using the product or service implemented by an organization such as business partners.
- Consumers: Users who use authentication mechanisms to utilize the application such as Facebook.
- Types of identities available are:
-
Data as a service (DaaS): is another cloud service model which is ambiguous than some of the other cloud service models. Data stored in the cloud is available over the network remotely on demand, anytime of day using any type of device where data is stored on cloud service provider infrastructure.
- Example: Google Drive, Flickr
-
Business process as a Service (BPaaS): This service is considered a higher-level cloud service model that is anything required for the business to function, although it may not be related to the nature of the business and sits upon things like SaaS, PaaS, IaaS and like all cloud services, business processes that are running in the cloud are delivered remotely over the network.
Cloud Storage
It refers to a data storage service provided by cloud service providers (CSPs) over the internet which allows individuals and organizations to store, manage, and access their data and files remotely on servers hosted in data centers. Cloud storage is a flexible and scalable solution that offers several advantages over traditional on-premises storage systems.
How Cloud Storage Works
-
The data from your cloud-enabled device is uploaded into the cloud through a third party application such as Dropbox.
-
The uploaded data reaches a master control data server located in a data center owned by your cloud service provider. The master server maintains a copy of your data in various storage servers.
-
The data is stored across many machines in the cloud geographically, where you can retrieve it using APIs or web-based protocols.
Cloud Storage Security Cloud storage providers enable security of the data by adopting various methods:
-
Encryption: A complex algorithm is used to encode your data, users will need the encryption key to decode the data.
-
Authentication: Protects access to data by enforcing users to create username and password. Multiple levels of authorization such as multi-factor authentication will be used as appropriate.
Cloud Storage Benefits
- A reliable and secure system to back up your essential files.
- Files stored in the cloud can be retrieved remotely.
- Files are accessible from anywhere.
- An affordable way of protecting important data.
- An assurance of restoration of data from any unwanted failure or data loss.
- No need to install storage equipment.
- Offers enough mobility in the workflow of a business or company.
Cloud Storage Risks
- Data security (data is vulnerable when it is transferred to and from the cloud).
- Accessibility depends on network connectivity.
- Cost depends on the usage.
Cloud APIs Cloud application programming interface serves as a layer between users, cloud services, and resources. It interacts with the cloud infrastructure to assist with :-
- Computing
- Storage and
- Network resources for requested cloud applications or services.
Cloud APIs vary according to the provided services, as follows:
- Infrastructure as a Service (IaaS): Infrastructure APIs help in the provision of computing and storage resources.
- Software as a Service (SaaS): SaaS APIs enable connectivity and interaction with the application layer.
- Platform as a Service (PaaS): PaaS APIs provide back-end architecture, functionality for the applications.
Cloud Migration
Businesses are slowly migrating from on-premise to cloud due to scalability, reliability, and high availability offered by the cloud.
Final Take-away
Cloud computing has numerous advantages, including cost-efficiency, scalability, flexibility, and accessibility from anywhere with an internet connection. It has become a fundamental technology for businesses and individuals, powering a wide range of applications and services across various industries. Major cloud service providers include Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), and IBM Cloud, among others.
Hope this helpes to gather knowledge of the basics in the cloud computing arena.
Happy Learning !!!