1.0 Transformation of Computing
1.0 Transformation of Computing
1.0 INTRODUCTION
Transformation of Computing:
• Computing is evolving into a service model, akin to utilities like water, electricity, gas, and
telephony.
• Users access services based on their needs, independent of the service location.
Utility Computing Vision:
• Paradigms like grid computing have aimed to deliver utility computing.
• Cloud computing is the latest paradigm striving to make this vision a reality.
Cloud Computing Overview:
• Focuses on designing computing systems, developing applications, and leveraging services for
software building.
• Relies on dynamic provisioning, applying to services, compute capability, storage, networking, and
IT infrastructure.
Resource Accessibility:
• Resources are provided via the Internet on a pay-per-use basis by cloud vendors.
• Users can subscribe to cloud services with a credit card, deploy and configure servers quickly, scale
infrastructure as needed, and pay only for the resources used.
Fundamental Characteristic of Cloud Computing: A key feature of cloud computing is the ability to
deliver a wide variety of IT services on demand, which results in varying perceptions of cloud computing
among users. Despite these differences, cloud computing services can be classified into three major
categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service
(SaaS). These categories are interrelated, as shown in the Cloud Computing Reference Model (Figure
1.5), which presents cloud services in a layered view from bottom to top.
Infrastructure-as-a-Service (IaaS):
• IaaS solutions provide infrastructure on demand, including virtual hardware, storage, and
networking.
• Virtual hardware is used to provide on-demand compute through virtual machine instances. Users
can configure the software stack in the virtual machine as per their needs.
• The pricing model is typically based on an hourly rate, influenced by the virtual hardware
characteristics.
• Virtual storage comes in two forms:
o Raw disk space for persistent storage needs.
o Object store for storing entities, as opposed to files.
• Virtual networking involves managing networking among virtual instances and their connectivity to
the internet or private networks.
Platform-as-a-Service (PaaS):
• PaaS solutions provide scalable and elastic runtime environments for application execution.
• These services are backed by middleware platforms that create the abstract environment where
applications are deployed and run.
• The service provider handles scalability and fault tolerance, while users focus on developing
applications using the provider's APIs and libraries.
• PaaS increases the level of abstraction in cloud computing but places more constraints on the user, as
they are working within a more controlled environment.
Software-as-a-Service (SaaS):
• SaaS solutions offer applications and services on demand, accessible via a browser.
• Common functionalities of desktop applications, such as office automation, document management,
photo editing, and CRM software, are provided on the provider's infrastructure.
• These applications are shared across multiple users, with their interactions isolated from one another.
• SaaS is also the platform for social networking websites that rely on cloud infrastructures to manage
their user load.
Use Cases for Each Layer:
• IaaS: Suitable for users who need to build dynamically scalable computing systems with specific
software stacks. It is often used for developing scalable websites or background processing.
• PaaS: Best for users developing new applications, providing a scalable programming platform.
• SaaS: Targeted at end users who need cloud services without the need for software development,
installation, or maintenance. It is ideal for users seeking existing services (e.g., email, document
management, CRM) with minimal customization.
1.1.5 Characteristics and Benefits
Characteristics of Cloud Computing:
• No up-front commitments: Users don’t need to make large upfront investments.
• On-demand access: Services are available as needed.
• Nice pricing: Cloud services typically offer favourable pricing models.
• Simplified application acceleration and scalability: Cloud systems simplify the scaling of
applications.
• Efficient resource allocation: Resources are allocated effectively to meet demands.
• Energy efficiency: Cloud computing can help optimize energy use.
• Seamless creation and use of third-party services: Integrating external services is easier.
Benefits of Cloud Computing:
• Economical Return: The main benefit is a reduction in maintenance and operational costs
associated with IT infrastructure and software. This happens because IT assets like software and
infrastructure are turned into utility costs, meaning users pay for them only when used, rather than
paying upfront.
• Capital Costs vs Utility Costs: Before cloud computing, IT infrastructure required upfront capital
costs. For example, hardware such as servers had to be bought upfront, which resulted in
depreciation over time. Cloud computing transforms these costs into utilities, significantly improving
a company’s net gain.
• Benefits for Small Organizations and Start-ups: Cloud computing reduces the need for large
initial investments, allowing small businesses to grow without heavy capital expenditures. It also
significantly reduces maintenance costs as the cloud service provider is responsible for infrastructure
upkeep.
• Increased Agility: Cloud computing provides flexibility in software system development, allowing
organizations to scale up or down easily. There is less need for capacity planning as organizations
can respond quickly to unexpected surges in demand, such as adding or removing servers as needed.
• Ease of Scalability: Cloud computing allows organizations to extend their IT capabilities easily.
Infrastructure, Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) all offer scalable
solutions that can be adjusted as needed without requiring manual hardware provisioning or complex
programming for scalability.
End-User Benefits:
• Always Available Data: End users can access their data from anywhere, at any time, and on multiple
devices. Cloud computing provides Web-based interfaces to access services, making them available
on portable devices and desktops.
• Cost-Effective Processing: Users can perform tasks like office automation, photo editing, and
information management using cloud-based tools, which were previously costly due to the need for
significant software investments.
• Multitenancy: Cloud providers can serve multiple users (tenants) on shared infrastructure,
optimizing resource use and lowering costs for each user.
• Energy Efficiency: Cloud computing benefits from the concentration of IT infrastructure in large
data centers, which can be optimized for better resource allocation and energy efficiency, leading to
reduced environmental impact.
Service Orientation and Flexibility:
• New Opportunities for Composing Systems: Cloud computing offers flexibility for creating new
service offerings by combining existing services. On-demand access to components of the computing
stack allows for the rapid creation of products with limited costs, focusing efforts on adding value
rather than managing infrastructure.
1.1.6 Challenges Ahead
• New Issues and Problems: As cloud computing grows in popularity, new challenges arise for IT
practitioners, managers, governments, and regulators.
• Dynamic Provisioning: One challenge is determining how many resources need to be provisioned
and for how long to maximize benefit, especially in the Infrastructure-as-a-Service domain.
• Technical Challenges for Service Providers: Cloud service providers face challenges in managing
large computing infrastructures and using virtualization technologies effectively.
• Integration of Real and Virtual Infrastructure: Issues regarding the integration of physical and
virtual infrastructures need to be addressed from multiple perspectives, such as security and
legislation.
Security Challenges:
• Confidentiality and Data Protection: Organizations do not own the infrastructure they use, posing
risks to confidential data that cannot be exposed. Assurance of data confidentiality and compliance
with security standards are crucial.
• Cryptography and Vulnerabilities: While cryptography secures data during transit, the data must
be decrypted in memory to be processed, which can expose it to threats. Virtualization allows
capturing memory pages, making it easier for a malicious provider to access sensitive data.
Legal Challenges:
• Geographical Privacy Legislation: Cloud computing's global infrastructure introduces challenges
related to privacy laws in different countries. This can lead to disputes over who has rights to access
data.
• U.S. vs European Legislation: U.S. laws grant government agencies broad powers to acquire data
related to national security threats, while European laws are more privacy-focused. This discrepancy
creates challenges, especially when a U.S. organization uses cloud services with data stored in
Europe, making it difficult for the U.S. government to access data stored in a European data center.