Module I
Module I
● John McCarthy proposed the concept of time-sharing, which allowed multiple users to
share computing resources simultaneously. This idea was a precursor to the shared-
resource model of cloud computing.
1969: ARPANET by J.C.R. Licklider
● ARPANET, the precursor to the internet, was developed. J.C.R. Licklider's vision of
an "Intergalactic Computer Network" played a foundational role in connecting
systems, enabling the concept of shared computing.
1970: Virtualization software launched
● Salesforce became one of the first companies to deliver business applications over the
Internet, marking the rise of Software as a Service (SaaS). This milestone showcased
the potential of cloud computing for delivering software solutions.
2006: Amazon launches Elastic Compute Cloud (EC2) and Simple Storage Service (S3)
● Amazon Web Services (AWS) introduced EC2 and S3, revolutionizing cloud
computing by offering on-demand, scalable infrastructure and storage services. This
event marked the beginning of mainstream adoption of cloud computing.
2020: $266 billion estimated global public cloud service market
● By 2020, the public cloud services market grew significantly, reflecting the
widespread adoption of cloud computing by businesses and individuals globally.
Types of Clouds
● The main three types of cloud computing are public cloud, private cloud, and hybrid
cloud. Within these deployment models, there are four main services: infrastructure as
a service (IaaS), platform as a service (PaaS), software as a service (SaaS), and
serverless computing.
Public Cloud
● Public cloud is open to all to store and access information via the Internet using the
pay-per-usage method.
● In the public cloud, computing resources are managed and operated by the Cloud
Service Provider (CSP). The CSP looks after the supporting infrastructure and ensures
that the resources are accessible to and scalable for the users.
● Due to its open architecture, anyone with an internet connection may use the public
cloud, regardless of location or company size. Users can use the CSP's numerous
services, store their data, and run apps. By using a pay-per-usage strategy, customers
can be assured that they will only be charged for the resources they use, which is a
smart financial choice.
Examples: Amazon Elastic Compute Cloud (EC2), IBM SmartCloud Enterprise,
Microsoft, Google App Engine, and Windows Azure Services Platform.
Characteristics of Public Cloud
The public cloud has the following key characteristics:
o Accessibility: Public cloud services are available to anyone with an internet
connection. Users can access their data and programs at any time and from anywhere.
o Shared Infrastructure: Several users share the infrastructure in public cloud
settings. Cost reductions and effective resource use are made possible by this.
o Scalability: By using the public cloud, users can easily adjust the resources they need
based on their requirements, allowing for quick scaling up or down.
o Pay-per-Usage: When using the public cloud, payment is based on usage, so users
only pay for the resources they actually use. This helps optimize costs and eliminates
the need for upfront investments.
o Managed by Service Providers: Cloud service providers manage and maintain
public cloud infrastructure. They handle hardware maintenance, software updates, and
security tasks, relieving users of these responsibilities.
o Reliability and Redundancy: Public cloud providers ensure high reliability by
implementing redundant systems and multiple data centers. By doing this, the
probability of losing data and experiencing service disruptions is reduced.
o Security Measures: Public cloud providers implement robust security measures to
protect user data. These include encryption, access controls, and regular security
audits.
Advantages of Public Cloud
There are the following advantages of Public Cloud -
o Public cloud is owned at a lower cost than the private and hybrid cloud.
o Public cloud is maintained by the cloud service provider, so do not need to worry
about the maintenance.
o Public cloud is easier to integrate. Hence it offers a better flexibility approach to
consumers.
o Public cloud is location independent because its services are delivered through the
internet.
o Public cloud is highly scalable as per the requirement of computing resources.
o It is accessible by the general public, so there is no limit to the number of users.
o Rapid deployment of services and applications.
o Reduced time and effort in hardware procurement and setup.
o The cloud provider offers a range of services and resources that you can avail of.
o Built-in redundancy and resilience for enhanced reliability.
Disadvantages of Public Cloud
o Public Cloud is less secure because resources are shared publicly.
o Performance depends upon the high-speed internet network link to the cloud provider.
o The data is not under the control of the client.
o Dependency on the cloud service provider for availability and service level
agreements.
o Compliance challenges in meeting industry-specific regulations and standards.
o Risk of vendor lock-in and limited portability of applications and data.
o Concerns about data privacy and confidentiality.
o Potential for unexpected costs with usage-based pricing models.
o Lack of customization options and flexibility compared to private or hybrid cloud
environments.
o Reliance to the cloud provider's support and responsiveness for issue resolution.
Private Cloud
● It is used by organizations to build and manage their data centers internally or by a third
party. It can be deployed using Opensource tools such as OpenStack and Eucalyptus.
Examples: VMware vSphere, OpenStack, Microsoft Azure Stack, Oracle Cloud at
Customer, and IBM Cloud Private.
Characteristics of Private Cloud
The private cloud has the following key characteristics:
o Exclusive Use: Private cloud is dedicated to a single organization, ensuring the
resources and services are tailored to its needs. It is like having a personal cloud
environment exclusively for that organization.
o Control and Security: Private cloud offers organizations higher control and security
than public cloud options. Organizations have more control over data governance,
access controls, and security measures.
o Customization and Flexibility: Private cloud allows organizations to customize the
infrastructure according to their specific requirements. They can configure resources,
networks, and storage to optimize performance and efficiency.
o Scalability and Resource Allocation: The private cloud can scale and allocate
resources. According to demand, businesses may scale up or down their
infrastructure, effectively using their resources.
o Performance and dependability: Private clouds give businesses more control over
the infrastructure at the foundation, improving performance and dependability.
o Compliance and Regulatory Requirements: Organizations may more easily fulfill
certain compliance and regulatory standards using the private cloud. It provides the
freedom to put in place strong security measures, follow data residency laws, and
follow industry-specific norms.
o Hybrid Cloud Integration: Private cloud can be integrated with public cloud
services, forming a hybrid cloud infrastructure. This integration allows organizations
to leverage the benefits of both private and public clouds.
Advantages of Private Cloud
There are the following advantages of the Private Cloud -
o Private cloud provides a high level of security and privacy to the users.
o Private cloud offers better performance with improved speed and space capacity.
o It allows the IT team to quickly allocate and deliver on-demand IT resources.
o The organization has full control over the cloud because it is managed by the
organization itself. So, there is no need for the organization to depends on anybody.
o It is suitable for organizations that require a separate cloud for their personal use and
data security is the first priority.
o Customizable to meet specific business needs and compliance regulations.
o Higher reliability and uptime compared to public cloud environments.
o Seamless integration with existing on-premises systems and applications.
o Better compliance and governance capabilities for industry-specific regulations.
o Enhanced flexibility in resource allocation and application deployment.
Hybrid Cloud
Hybrid Cloud is a combination of the public cloud and the private cloud.
● Hybrid cloud is partially secure because the services that are running on the public
cloud can be accessed by anyone, while the services that are running on a private
cloud can be accessed only by the organization's users.
Examples: Google Application Suite (Gmail, Google Apps, and Google Drive), Office 365
(MS Office on the Web and One Drive), and Amazon Web Services.
Characteristics of Hybrid Cloud
o Integration of Public and Private Clouds: Hybrid cloud seamlessly integrates
public and private clouds, allowing organizations to leverage both advantages. It
provides a unified platform where workloads and data can be deployed and managed
across both environments.
o Flexibility and Scalability: Hybrid cloud offers resource allocation and scalability
flexibility. Organizations can dynamically scale their infrastructure by utilizing
additional resources from the public cloud while maintaining control over critical
workloads on the private cloud.
o Enhanced Security and Control: Hybrid cloud allows organizations to maintain
higher security and control over their sensitive data and critical applications. Private
cloud components provide a secure and dedicated environment, while public cloud
resources can be used for non-sensitive tasks, ensuring a balanced approach to data
protection.
o Cost Optimization: Hybrid cloud enables organizations to optimize costs by utilizing
the cost-effective public cloud for non-sensitive workloads while keeping mission-
critical applications and data on the more cost-efficient private cloud. This approach
allows for efficient resource allocation and cost management.
o Data and Application Portability: Organizations can move workloads and data
between public and private clouds as needed with a hybrid cloud. This portability
offers agility and the ability to adapt to changing business requirements, ensuring
optimal performance and responsiveness.
o Compliance and Regulatory Compliance: Hybrid cloud helps organizations address
compliance and regulatory requirements more effectively. Sensitive data and
applications can be kept within the private cloud, ensuring compliance with industry-
specific regulations while leveraging the public cloud for other non-sensitive
operations.
o Disaster Recovery and Business Continuity: Hybrid cloud facilitates robust disaster
recovery and business continuity strategies. Organizations can replicate critical data
and applications between the private and public clouds, ensuring redundancy and
minimizing the risk of data loss or service disruptions.
Advantages of Hybrid Cloud
There are the following advantages of Hybrid Cloud -
o Hybrid cloud is suitable for organizations that require more security than the public
cloud.
o Hybrid cloud helps you to deliver new products and services more quickly.
o Hybrid cloud provides an excellent way to reduce the risk.
o Hybrid cloud offers flexible resources because of the public cloud and secure
resources because of the private cloud.
o Hybrid facilitates seamless integration between on-premises infrastructure and cloud
environments.
o Hybrid provides greater control over sensitive data and compliance requirements.
o Hybrid enables efficient workload distribution based on specific needs and
performance requirements.
o Hybrid offers cost optimization by allowing organizations to choose the most suitable
cloud platform for different workloads.
o Hybrid enhances business continuity and disaster recovery capabilities with private
and public cloud resources.
o Hybrid supports hybrid cloud architecture, allowing applications and data to be
deployed across multiple cloud environments based on their unique requirements.
Disadvantages of Hybrid Cloud
o In the Hybrid Cloud, the security feature is not as good as the private cloud.
o Managing a hybrid cloud is complex because it is difficult to manage more than one
type of deployment model.
o In the hybrid cloud, the reliability of the services depends on cloud service providers.
o Potential challenges in data integration and ensuring seamless connectivity between
different cloud platforms.
o Higher costs due to the need for managing and integrating multiple cloud
environments.
o Increased complexity in data governance and compliance management across
different cloud providers.
o Dependency on stable and high-bandwidth internet connections for efficient hybrid
cloud operations.
o Potential compatibility issues between various cloud platforms and applications.
o Risk of vendor lock-in and limited portability of applications and data across different
cloud providers.
o Requires skilled IT staff with expertise in managing hybrid cloud environments
Cloud Computing Architecture
Cloud computing architecture is a combination of service-oriented architecture and event-
driven architecture.
Cloud computing architecture is divided into the following two parts -
o Front End
o Back End
Front End
The front end is used by the client. It contains client-side interfaces and applications that are
required to access the cloud computing platforms. The front end includes web servers
(including Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and mobile
devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security m
Components of Cloud Computing Architecture
There are the following components of cloud computing architecture -
1. Client Infrastructure
Client Infrastructure is a Front-end component. It provides a GUI (Graphical User Interface)
to interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
Cloud Services manages which type of service you access according to the client’s
requirement.
Cloud computing offers the following three types of services:
i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we are not required to download
and install these applications. Some important example of SaaS is given below –
Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
ii. Platform as a Service (PaaS) – It is also known as a cloud platform service. It is quite
similar to SaaS, but the difference is that PaaS provides a platform for software creation, but
using SaaS, we can access software over the internet without the need for any platform.
Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is
responsible for managing application data, middleware, and runtime environments.
Examples: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco
Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network
devices, virtualization software, and other storage resources that are needed to support the
cloud computing model.
7. Management
Management is used to manage components such as application, service, runtime cloud,
storage, infrastructure, and other security issues in the backend and establish coordination
between them.
8. Security
Security is an in-built back-end component of cloud computing. It implements a security
mechanism in the back end.
9. Internet
The Internet is a medium through which the front end and back end can interact and
communicate with each other.
Cloud Computing Infrastructure
Cloud infrastructure is the collection of hardware and software resources that make up
the cloud. Cloud providers maintain global data centers with thousands of IT infrastructure
components like servers, physical storage devices, and networking equipment. They
configure the physical devices using all types of operating system configurations. They also
install other software types required for an application to run. Your organization can lease the
cloud infrastructure in a pay-as-you-go manner, which helps you save significantly on
purchasing and maintaining individual components.
Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It
allows to share the single physical instance of cloud resources between several tenants.
● Cost Savings: Cloud computing can significantly reduce IT costs by eliminating the
need for expensive hardware, software licenses, and on-site IT staff. You typically
pay only for the resources you consume, which can lead to substantial savings.
● Scalability and Flexibility: Cloud resources can be easily scaled up or down based
on your needs. This flexibility allows you to quickly adapt to changing business
demands without having to invest in additional infrastructure.
● Disaster Recovery: Cloud computing can provide robust disaster recovery solutions
by replicating data and applications across multiple data centers. This ensures
business continuity in the event of a disaster.
● IaaS is offered in three models: public, private, and hybrid cloud. The private cloud
implies that the infrastructure resides at the customer's premise.
● In the case of the public cloud, it is located at the cloud computing platform vendor's
data center, and the hybrid cloud is a combination of the two in which the customer
selects the best of both public cloud and private cloud.
IaaS provider provides the following services -
Computing: IaaS provides virtual CPUs and memory, allowing users to run workloads and
applications on the provider's infrastructure without managing hardware. This offers
scalability and flexibility for various computing needs.
Storage: IaaS offers back-end storage services, including block, object, and file storage,
enabling users to store and access data reliably. This provides scalable storage solutions for
diverse use cases.
Network: Through Network as a Service (NaaS), IaaS provides networking components
like routers and switches for VM connectivity. This allows customers to create and manage
their network architecture within the IaaS environment.
Load Balancers: IaaS includes load balancing services to distribute network traffic across
VMs, ensuring efficient resource utilization and high application availability. This improves
performance and prevents overload.
Security: IaaS providers offer security features like firewalls, access controls, and
encryption to protect data and resources. This helps maintain a secure environment within the
IaaS platform.
Backup and Disaster Recovery: Some IaaS providers offer backup and disaster recovery
services, allowing users to create backups and implement recovery plans. This ensures
business continuity and data protection.
Monitoring and Management: IaaS providers offer tools and services for monitoring and
managing resources and infrastructure, including VMs, storage, and network configurations.
This allows for efficient resource management and performance optimization.
Advantages of PaaS
There are the following advantages of PaaS -
1) Simplified Development
PaaS allows developers to focus on development and innovation without worrying about
infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only need a PC and an
internet connection to start building applications.
3) Prebuilt business functionality
Some PaaS vendors also provide already defined business functionality so that users can
avoid building everything from very scratch and hence can directly start the projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get ideas,
share experiences, and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes to the
applications.
Cloud Challenges
Cloud computing offers incredible benefits, but it also presents unique challenges for
organizations. Here are some of the key challenges associated with cloud adoption and
management:
Security:
● Data Breaches and Loss: Protecting sensitive data in a shared environment requires
robust security measures. Data breaches can occur due to misconfigurations,
vulnerabilities, or unauthorized access.
● Access Management: Controlling who has access to cloud resources and data is
crucial. Inadequate identity and access management (IAM) can lead to security risks.
● Lack of Visibility and Control: Organizations may have less direct control over the
underlying infrastructure, making it challenging to monitor and manage resources
effectively.
● Vendor Lock-in: Migrating from one cloud provider to another can be difficult and
costly.
● Performance and Latency: Network latency and performance issues can affect
application performance, especially for real-time applications.
● Availability and Reliability: Ensuring high availability and disaster recovery in the
cloud requires careful planning and implementation.
● Skills Gap: Finding and retaining skilled cloud professionals can be challenging.
Other Challenges:
● Governance: Establishing clear governance policies and procedures for cloud usage
is essential.
● Plan for Backup and Disaster Recovery: Ensure your cloud strategy includes a
comprehensive backup and disaster recovery plan to prevent data loss and ensure
business continuity.
● Choose the Right Cloud Provider: Conduct thorough research to select a reputable
provider that aligns with your specific needs and security requirements.
● Implement Strong Access Management: Enforce strict access controls and follow the
principle of least privilege to limit user access to only necessary resources.
● Monitor Cloud Usage and Costs: Regularly monitor your cloud usage and spending to
optimize resource allocation and avoid unexpected costs.
● Stay Updated: Keep up with the latest cloud security best practices, updates, and
vulnerabilities.
Don'ts:
● Don't Skip Due Diligence: Thoroughly evaluate cloud providers before making a
decision.
● Don't Neglect Security: Never compromise on security measures, even for perceived
cost savings.
● Don't Store Sensitive Data Unencrypted: Always encrypt sensitive data both in transit
and at rest.
● Don't Overlook Compliance: Ensure your cloud usage complies with relevant industry
regulations and data privacy laws.
● Don't Assume the Cloud is Always Secure: Proactive security measures and
continuous monitoring are crucial.
● Don't Forget About Data Governance: Implement clear data governance policies to
manage data access, usage, and retention in the cloud.
By following these do's and don'ts, organizations can leverage the benefits of cloud
computing while mitigating potential risks and ensuring a secure and efficient cloud
environment.