Unit -3
Cloud Platform Architecture: Cloud Computing and Service Models, Public Cloud
Platforms, Service Oriented Architecture, Programming on Amazon AWS and
Microsoft Azure
1. Cloud Computing and Service Models
Over the past 20 years, the global economy has shifted from
manufacturing to services.
By 2010, U.S. economy composition:
80% service industry
15% manufacturing
5% agriculture and others
Cloud computing benefits service industries most and introduces a new
business computing paradigm.
Global cloud service market in 2009: $17.4 billion.
IDC (2010) predicted growth to $44.2 billion by 2013.
Cloud application developers rent resources instead of buying large capital
equipment.
Cloud platforms are accessed and deployed globally at competitive costs.
Virtualized cloud platforms are built on top of large, automated data
centres.
Cloud computing architecture involves:
Server clusters in data centres
Interconnection and automation of hardware, databases, user
interfaces, and application environments
1.1. Public, Private and Hybrid Clouds
Cloud computing evolved from cluster, grid, and utility computing.
Cluster & grid computing → use many computers in parallel to solve
Complex problems.
Utility computing & SaaS → provide resources as pay-per-use services.
Cloud computing → leverages dynamic resources to deliver many
services to end users.
It is a High-Throughput Computing (HTC) paradigm using large data
centers/server farms.
Users can share resources anytime, anywhere via connected devices.
Focus shifts from infrastructure to application development and business
value creation.
Programs are executed where data is stored, avoiding large data transfers
→ better bandwidth utilization.
Machine virtualization → improves utilization, flexibility, and reduces
costs.
Clouds free IT companies from hardware setup and system software
management.
Uses virtual platforms with elastic resources via on-demand
provisioning.
Moves desktop computing to service-oriented platforms using server
clusters & big databases.
Benefits both providers & users due to low cost and simplicity.
Supports multitasking to run many heterogeneous applications
simultaneously.
1.1.1. Centralized versus Distributed Computing
Two Views:
o Centralized computing at data centres.
o Distributed parallel computing over data-centre resources.
Distributed Execution: Cloud applications run on virtual machines (VMs)
in virtual clusters.
Virtualization: Enables distributed systems within centralized
infrastructure.
Public & Private Clouds: Both operate over the Internet and can be
interconnected.
Commercial Providers: Amazon, Google, Microsoft use geographically
distributed platforms.
Reasons for Distribution:
Fault tolerance
Reduced response latency
Legal and regulatory compliance
Hybrid Cloud Use: Private clouds connect to public clouds for extra
resources.
Cross-Border Concerns: Users may hesitate to use foreign clouds without
strong SLAs.
1.1.2. Public Clouds
Internet-Based: Accessible to any user via the Internet with a paid
subscription.
Ownership: Operated by commercial service providers.
Examples: Google App Engine, AWS, Microsoft Azure, IBM Blue Cloud,
Salesforce Force.com.
Remote Interface: Users can create and manage VM instances through
provider platforms.
Business Services: Offers specific application and infrastructure services.
Pricing Model: Flexible, pay-per-use system.
1.1.3. Private Clouds
Intranet-Based: Built within an organization's internal network.
Ownership & Management: Client-owned and managed.
Restricted Access: Limited to the organization and its trusted partners.
Not Publicly Sold: No public interface for selling capacity over the
Internet.
Infrastructure Benefits: Provides flexible, agile resources for internal
workloads.
Customization & Control: Offers greater organizational control and
tailored services.
Standardization Impact: May affect cloud standardization due to unique
configurations.
1.1.4. Hybrid Clouds
Combination Model: Integrates both public and private cloud
infrastructures.
Supplemental Capacity: Private clouds can use public cloud resources to
expand capabilities.
Example: IBM’s Research Compute Cloud (RC2) connects resources
across global research centers.
Access Scope: Available to clients, partners, and third parties.
Public Cloud Benefits: Standardization, capital investment preservation,
application flexibility.
Private Cloud Benefits: Customization, efficiency, resiliency, security,
and privacy.
Balanced Approach: Hybrid clouds offer compromises in resource
sharing and control.
Public, private, and hybrid clouds illustrated by functional architecture and
connectivity
1.1.5. Data-Centre Networking Structure
Core Component: Server clusters or VM clusters form the backbone of cloud
platforms.
Node Roles:
o Compute Nodes: Execute user jobs.
o Control Nodes: Manage and monitor cloud operations.
o Gateway Nodes: Provide external access and security control.
Job Scheduling: Assigns tasks to virtual clusters dynamically.
Resource Demand:
o Traditional grids expect static demand.
o Clouds handle fluctuating workloads with dynamic resource allocation.
Private Cloud Efficiency: Can meet variable demand if well-managed.
Data Centres vs. Supercomputers:
o Scale: Data centres scale massively (e.g., Microsoft’s 100,000-server
facility).
o Storage: Data centres use server disks, caches, and databases;
supercomputers use separate data farms.
o Networking:
Supercomputers: Custom high-bandwidth networks (e.g., fat
trees, 3D torus).
Data centres: IP-based networks (e.g., 10 Gbps Ethernet).
Network Layers:
o Layer 2: Server racks and switches.
o Layer 3: Access and border routers for Internet connectivity.
Private Cloud Examples:
o NASA: Climate modelling via remote systems.
o CERN: Distributes resources to global scientific community.
Performance & Security: Varying SLAs ensure protection and service
quality.
Technology Backbone:
o Grid computing supports resource sharing.
o Cloud computing focuses on scalability and abstracted services.
Standard data-centre networking for the cloud to access the Internet
1.1.6. Cloud Development Trends
Private Cloud Growth:
o Expected to outpace public cloud growth.
o Easier to secure and more trusted within organizations.
o May evolve into public clouds over time.
Hybrid Cloud Future:
o Blurred boundaries between public and private clouds.
o Most future clouds likely to be hybrid in nature.
Service Node Types:
o Service-Access Nodes: Interface for external users (e.g., email
apps).
o Runtime Supporting Nodes: Enable cluster functionality (e.g.,
distributed locking).
o Independent Service Nodes: Provide standalone services (e.g.,
geographic info for news).
Efficiency Focus:
o Cloud computing minimizes data movement.
o Reduces Internet traffic and improves network utilization.
Performance Challenges:
o Helps mitigate Peta scale (System can perform at least one
quadrillion (10^15) floating-point operations per second (FLOPS))
I/O issues.
o QoS and performance still need validation in real-world scenarios.
2. Cloud Ecosystem and Enabling Technologies
2.1. Cloud Design Objectives
The cloud computing community has agreed on six key design goals to make cloud
computing widely acceptable:
1. Shift from Desktops to Data Centres: Move computing power, storage, and
software delivery from local desktops and servers to centralized data centres
accessed over the internet.
2. Service Provisioning and Economics: Cloud providers offer services under
agreements (SLAs) that ensure efficient use of computing, storage, and energy,
charging users based on actual usage (pay-as-you-go).
3. Scalability: Cloud systems must scale their performance smoothly to handle
increasing numbers of users without loss of quality.
4. Data Privacy Protection: Ensuring trust by safeguarding users' private data in
data centres is essential for cloud adoption.
5. High Quality of Service (QoS): Standardizing service quality for reliability and
interoperability between different cloud providers is important.
6. New Standards and Interfaces: To tackle data lock-in, universal APIs and access
protocols are needed to allow easy portability and flexibility of applications
across different clouds.
2.2. Cost Model
The cost model of traditional IT computing involves a large fixed capital expense
to buy hardware and equipment, plus ongoing operational costs for running and
maintaining the systems. While fixed costs remain high, operational costs tend to
increase sharply with more users, leading to rapidly escalating total costs.
In contrast, cloud computing uses a pay-per-use model with no upfront hardware
investment. Users only pay variable operational costs based on actual resource
consumption. This significantly reduces overall costs for both small businesses
and large enterprises.
Cloud computing’s cost efficiency, especially the elimination of large capital
expenses, makes it attractive for startups and users with growing or variable
workloads. Users facing tight capital budgets but flexible operational expenses
benefit most by outsourcing jobs to cloud providers, which drives widespread cloud
adoption.
2.3. Cloud Eco Systems
The cloud ecosystem consists of a network of providers, users, and technologies
cantered primarily around public clouds but extending to private and hybrid clouds.
This ecosystem supports organizations in building Infrastructure as a Service
(IaaS) cloud using internal resources with remote access facilitated over the
internet, such as through interfaces like Amazon EC2.
Sotomayor et al. proposed a four-level ecosystem model for private clouds:
User Level: Consumers demand flexible cloud platforms to meet their needs.
Cloud Management Level: Cloud managers provision virtualized resources over
an IaaS platform.
Virtual Infrastructure (VI) Management Level: Managers allocate virtual
machines (VMs) across multiple server clusters.
VM Management Level: VM managers handle the operation of VMs on
individual host machines.
Beyond commercial solutions, open-source platforms like Eucalyptus and Globus
Nimbus offer virtualization for cloud infrastructures. Access to these cloud
environments is often achieved using standardized cloud management interfaces such
as Amazon EC2WS, Nimbus WSRF, and Elastic Host REST APIs. For VI
management, Open Nebula and VMware vSphere support managing VMs generated
by multiple virtualization technologies including Xen, KVM, and VMware.
2.4. Surge (sudden large increase) of Private Clouds
The surge of private clouds involves enterprises using their existing IT
infrastructure and staff to create cloud environments within their own
networks.
Unlike public clouds, which handle workloads independently without
needing communication and often offload peak demands, private clouds
balance workloads internally over the intranet to use resources more
efficiently.
Private clouds also offer advantages like better data privacy, security
enforcement, and the ability to perform pre-production testing.
While public clouds help avoid large capital investments by renting
resources, private clouds help companies optimize their current assets.
Many companies begin by virtualizing their machines to cut costs.
Large firms like Microsoft, Oracle, and SAP implement policy-driven
management of virtualized resources to enhance quality of service (QoS) for
users.
By integrating virtualized data centres with existing IT, they transform IT into
a service, improving agility and avoiding frequent hardware replacements,
thus significantly boosting IT efficiency.
3. Infrastructure-as-a-Service (IaaS)
3.1. Infrastructure as a Service
Infrastructure as a Service (IaaS) is a cloud computing model that enables
users to rent virtualized IT resources such as computing power, storage,
and networking over the internet.
In this model, the cloud provider owns and manages the underlying
physical infrastructure—including servers, storage, and networking
hardware—while the user has control over operating systems, storage,
deployed applications, and possibly select networking components.
Users can deploy and run their applications on their chosen OS
environments without managing the hardware beneath.
IaaS offerings cover services like storage as a service, compute instances as
a service, and communication as a service.
It follows a pay-as-you-go model where resources are allocated on demand
and users pay based on consumption.
Virtual Private Clouds (VPCs), such as Amazon EC2 clusters coupled with S3
storage, exemplify this model by enabling multiple users to share scalable,
virtualized infrastructure securely.
Numerous startup cloud providers have emerged to offer IaaS solutions,
including GoGrid, FlexiScale, and Aneka.
IaaS is especially valuable for its flexibility, cost-efficiency, and ability to
scale resources dynamically without the need for upfront capital
investments in physical infrastructure.
The IaaS, PaaS, and SaaS cloud service models at different service levels.
4. Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS)
Platform as a Service (PaaS) is a cloud computing model that provides users with an
integrated platform—including both hardware and software infrastructure—to
develop, deploy, and manage applications. Unlike IaaS, users do not manage the
underlying cloud infrastructure but have access to operating systems, runtime
libraries, programming languages (such as Java, Python, .NET), and development
tools supported by the cloud provider.
This environment supports application development, testing, and collaboration,
enabling developers from different locations to work together seamlessly. The
PaaS model also fosters (encourages) an ecosystem where third-party providers
can offer software management, integration, and service monitoring solutions.
Table : Five Public Cloud Offerings of PaaS
Software as a Service (SaaS) is a cloud computing model where application
software
is delivered over the internet to thousands of users via web browsers. SaaS relies
on the services and tools provided by PaaS for building and managing applications,
which in turn run on the virtual infrastructure offered by IaaS providers.
For customers, SaaS eliminates the need for upfront investments in servers or
software licenses since all software runs on the cloud. Providers benefit from lower
costs compared to traditional hosting. Customer data is stored securely in either
vendor-owned or public clouds supporting PaaS and IaaS layers.
Popular examples of SaaS include Google Gmail and Docs, Microsoft SharePoint,
and Salesforce.com’s CRM software—all widely used by individuals and businesses.
Some providers like Google and Microsoft offer integrated IaaS, PaaS, and SaaS
services. Others, such as Amazon and GoGrid, focus mainly on IaaS, allowing third-
party PaaS providers like Manjra soft to develop and deploy applications on top.
Successful real-life cloud SaaS applications in various sectors, including HTC, news
media, and business transactions, demonstrate clear benefits such as cost savings,
scalability, and ease of access, making SaaS a key driver of cloud adoption for
enterprises.
5. Cloud Platforms
Public Cloud Platforms
5.1. Public Clouds and Service Offerings
Public cloud services are demanded by IT administrators, software vendors, and end
users, each requiring different levels of services. At the top level, individual users
mostly rely on SaaS applications, while businesses often use IaaS and PaaS. IaaS
provides core resources like compute, storage, and networking, while PaaS defines the
cloud environment and supports both infrastructure and organizational needs.
Cloud services are made possible by technologies such as virtualization, SOA, grid
management, and energy efficiency. Users buy services as IaaS, PaaS, or SaaS. Many
companies outsource computing and storage to cloud providers, which is often
cheaper than maintaining their own servers.
By 2010 standards, major providers included Amazon (AWS) with EC2 (virtual
servers) and S3 (storage), Microsoft Azure with .NET, SQL, and Hotmail support,
and Salesforce.com offering SaaS-based CRM solutions.
All these models (IaaS, PaaS, SaaS) rely on the provider’s infrastructure and are
delivered over the Internet under Service Level Agreements (SLAs). SLAs in cloud
computing cover aspects like service availability, data integrity, privacy, and security,
though negotiating them is more complex compared to traditional network services.
Roles of individual and organizational users and their interaction with cloud providers under various
cloud service models
5.2. Google App Engine (GAE)
Google, with its vast search engine expertise, has developed large-scale data
processing and innovative data-center designs. It operates hundreds of data centers
worldwide with over 460,000 servers, often using around 200 data centers
simultaneously for cloud applications. Data is stored in multiple formats (text, images,
video) and replicated for fault tolerance. Google App Engine (GAE) is its PaaS
platform, designed to support cloud and web applications.
5.2.1. Google Cloud Infrastructure
Google pioneered cloud services through applications like Gmail, Google Docs,
and Google Earth, which support millions of users with high availability. Its
major technological contributions include GFS, MapReduce, BigTable, and
Chubby. In 2008, Google launched the Google App Engine (GAE), a platform
for building scalable web applications. GAE allows users to run apps across
Google’s extensive data centres, offering elasticity and reliability.
5.2.2. GAE Architecture
The Google Cloud Platform is built on core technologies: GFS (large-scale data
storage), MapReduce (program development), Chubby (distributed lock service),
and BigTable (structured/semistructured data storage). These run in tightly managed
Google data centers with thousands of clustered servers. While Google’s internal
infrastructure is private, it uses these building blocks to power its applications.
Google App Engine (GAE) allows third-party developers to run applications on
Google’s infrastructure without managing servers. It combines software components
with a frontend web framework, similar to ASP, J2EE, or JSP, and supports Python
and Java environments for building scalable web applications.
5.2.3. Functional Modules of GAE
Google App Engine (GAE) is a PaaS platform for application development, not
infrastructure management. It consists of five main components:
1. Datastore – an object-oriented, distributed storage system based on BigTable.
2. Runtime Environment – supports scalable web programming in Python and
Java.
3. SDK – allows local testing and uploading of applications.
4. Administration Console – simplifies app development management (not
hardware).
5. Web Service Infrastructure – provides interfaces for storage and network
resource management.
GAE is free for Gmail users within a quota, with paid options beyond it. It only
supports Python, Java, and Ruby, unlike Amazon which provides both IaaS and
PaaS. Similar to Azure, GAE lets users build and deploy applications on top of
Google’s infrastructure without managing servers, focusing only on app
development, testing, and operation.
5.2.4. GAE Applications
Google App Engine (GAE) powers well-known apps like Google Search, Docs,
Earth, and Gmail, all capable of serving millions of users through web interfaces.
Third-party developers can also build apps on GAE, which run in Google’s data
centers consisting of large server clusters.
GAE supports storage services for application-specific data with features like queries,
sorting, and transactions, similar to traditional databases. It also provides Google-
specific services, such as using Gmail accounts for login and authentication, which
simplifies user management. Apps can also leverage Google APIs for tasks like email
sending, making web development easier and more efficient.
5.3. Amazon Web Services (AWS)
Amazon Web Services (AWS) is a leader in public cloud services, mainly applying
the IaaS (Infrastructure as a Service) model. Its architecture includes several key
services:
EC2 provides virtual machines for running applications.
S3 offers object-based storage, while EBS provides block storage for traditional
apps.
SQS ensures reliable messaging between processes, even if receivers are offline.
SNS and other queuing/notification services help in communication.
AWS also supports load balancing (ELB) and auto-scaling, managed by
CloudWatch, which monitors metrics like CPU, storage, and network usage.
For data and applications, AWS offers RDS (Relational Database Service), Elastic
MapReduce (Hadoop-based), Import/Export (using physical disks for large data
transfers), and CloudFront (content distribution network).
For business integration, AWS provides DevPay (billing service), FPS (payment
system), and FWS (fulfillment services for merchants).
In 2010, AWS added MPI clusters and cluster compute instances, which use
hardware-assisted virtualization and boot from EBS, giving users more flexibility to
build custom AMIs.
Key Services
5.4. Microsoft Windows Azure
Microsoft launched Windows Azure in 2008 as its cloud computing platform, built
on Microsoft data centers. It uses Microsoft virtualization to deploy applications on
VMs and manages servers, storage, and networks centrally.
Azure provides several key cloud services:
Live Services – enable access to Microsoft Live apps and data across multiple
machines.
.NET Services – support app development locally and execution in the cloud.
SQL Azure – cloud-based relational database service.
SharePoint Services – platform for building scalable business web applications.
Dynamic CRM Services – tools for managing CRM tasks like finance,
marketing, sales, and promotions.
Azure services integrate smoothly with traditional Microsoft apps (Windows Live,
Office Live, Exchange, SharePoint, CRM). They use SOAP and REST protocols for
communication and can interact with third-party platforms.
Developers can use the Azure SDK to run a local version of Azure, enabling easy
development and debugging of cloud applications on Windows hosts.
6. Service Oriented Architecture
7. Programming on Amazon, AWS and Microsoft Azure