CC Unit 3
CC Unit 3
Private cloud: A private cloud is built within the domain of an intranet owned by a single
organization. Therefore, it is client owned and managed, and its access is limited to the
owning clients and their partners. Its deployment was not meant to sell capacity over the
Internet through publicly accessible interfaces. Private clouds give local users a flexible
and agile private infrastructure to run service workloads within their administrative
domains. A private cloud is supposed to deliver more efficient and convenient cloud
services.
Hybrid Cloud: A hybrid cloud is built with both public and private clouds, as shown at
the lower-left corner of the above fig. Private clouds can also support a hybrid cloud model
by supplementing local infrastructure with computing capacity from an external public
cloud. Example Research Compute Cloud (RC2) is a private cloud, built by IBM.
Data-Center Networking Structure: The core of a cloud is the server cluster (or VM
cluster). Cluster nodes are used as compute nodes. A few control nodes are used to manage
and monitor cloud activities. In the case of data centers, scaling is a fundamental requirement.
Data-center server clusters are typically built with large number of servers, ranging
from thousands to millions of servers (nodes). Data centers and supercomputers also
differ in networking requirements as shown in the below diagram. Supercomputers
use custom-designed high-bandwidth networks such as fat trees or 3D torus
networks.
Fig: Standard data-center networking for the cloud to access the Internet
Cloud Design Objectives: The following list highlights six design objectives for
cloud computing:
Shifting computing from desktops to data centers
Service provisioning and cloud economics
Scalability in performance.
Data privacy protection
High quality of cloud services
New standards and interfaces
Cost Model : The below fig. shows the addition of variable operational costs on top
of fixed capital investments in traditional IT. Note that the fixed cost is the main
cost, and that it could be reduced slightly as the number of users increases. However,
the operational costs may increase sharply with a larger number of users. Therefore,
the total cost escalates quickly with massive numbers of users. On the other hand,
cloud computing applies a pay-per-use business model, in which user jobs are
outsourced to data centers. To use the cloud, one has no up-front cost in hardware
acquisitions.
Fig: Cloud ecosystem for building private clouds: (a) Consumers demand a flexible platform; (b) Cloud
manager provides virtualized resources over an IaaS platform; (c) VI manager allocates VMs; (d) VM
managers handle VMs installed on servers.
INFRASTRUCTURE AS A SERVICE (IAAS): Here the user can deploy and run his
applications over his chosen OS environment. The user does not manage or control
Dr. SHAIK KHAJA MOHIDDIN
4
the underlying cloud infrastructure, but has control over the OS, storage, deployed
applications, and possibly select networking components. This IaaS model
encompasses storage as a service, compute instances as a service, and
communication as a service. The Virtual Private Cloud (VPC) in the below fig.
shows how to provide Amazon EC2 clusters and S3 storage to multiple users
PLATFORM AS A SERVICE (PAAS) : The platform cloud is an integrated computer
system consisting of both hardware and software infrastructure. The user application
can be developed on this virtualized cloud platform using some programming
languages and software tools supported by the provider (e.g., Java, Python, .NET).
The user does not manage the underlying cloud infrastructure.
Five Public Cloud Offering of PaaS
Programming Models
Languages and Target Applications
Cloud Name Supported by
Developer Tools and storage option
Provider
Threads, task, Map
Aneka .NET, stand alone .NET Enterprises
Reduce
On demand web Java, Python and Bigtable storage and
Google App Engine
programming Eclipse web applications
Business applications
Salesforce.Com Workflow Eclipse based, Apex
as CRM
Pig, hive, java E-commerce and data
Amazon Elastic Map Reduce
cascading processing
Web and enterprise
Microsoft Azure .NET, Azure Tools Unrestricted model
applications
Public clouds and service offerings: Cloud services are demanded by computing
and IT administrators, software vendors, and end users. The below fig. introduces
five levels of cloud players. At the top level, individual users and organizational
users demand very different services. The application providers at the SaaS level
serve mainly individual users. Most business organizations are serviced by IaaS and
PaaS providers..
Fig: Roles of individual and organizational users and their interaction with cloud providers under various
cloud service models
The below table summarizes the profiles of five major cloud providers by 2010
standards.
Cloud services rely on new advances in machine virtualization, SOA, grid
infrastructure management, and power efficiency. Many cloud entrepreneurs are
selling value-added utility services to massive numbers of users. The cloud industry
leverages the growing demand by many enterprises and business users to outsource
their computing and storage jobs to professional providers. The provider service
charges are often much lower than the cost for users to replace their obsolete servers
frequently.
Five Major Cloud Platforms and Their Service Offerings
Model Amazon Google Microsoft Salesforce IBM
SaaS Gmail, Docs .NET services CRM Lotus Live
PaaS GAE Windows Azure Force.com Blue Cloud
IaaS AWS Windows Azure Ensembles
Security EBS for Chubby locks Replicated data Admin/record Websphere2
Features recovering security
from failure
Fig: Google cloud platform and major building blocks, the blocks shown are large clusters of low-cost servers
Google is one of the larger cloud application providers, although its fundamental
service program is private and outside people cannot use the Google infrastructure
to build their own service. The building blocks of Google’s cloud computing
GAE Applications GAE applications include the Google Search Engine, Google
Docs, Google Earth, and Gmail. These applications can support large numbers of
users simultaneously. Users can interact with Google applications via the web
interface provided by each application. Third-party application providers can use
GAE to build cloud applications for providing services. The applications are all run
in the Google data centers. Inside each data center, there might be thousands of
server nodes to form different clusters. GAE supports many web applications. One
is a storage service to store application-specific data in the Google infrastructure.
The data can be persistently stored in the backend storage server while still providing
the facility for queries, sorting, and even transactions similar to traditional database
systems. GAE also provides Google-specific services, such as the Gmail account
service.
Live service Users can visit Microsoft Live applications and apply the data
involved across multiple machines concurrently.
NET service This package supports application development on local hosts
and execution on cloud machines.
SQL Azure This function makes it easier for users to visit and use the
relational database associated with the SQL server in the cloud.
SharePoint service This provides a scalable and manageable platform for
users to develop their special business applications in upgraded web services.
Dynamic CRM service This provides software developers a business
platform in managing CRM applications in financing, marketing, and sales
andpromotion
SOA explains about how to design a software system that makes use of services of
new or legacy applications through their published or discoverable interfaces. These
applications are often distributed over the networks. SOA also aims to make service
interoperability extensible and effective. It prompts architecture styles such as loose
coupling, published interfaces, and a standard communication model in order to
support this goal. The World Wide Web Consortium (W3C) defines SOA as a form
of distributed systems architecture characterized by the following properties.
Logical view: The SOA is an abstracted, logical view of actual programs, databases,
business processes, and so on, defined in terms of what it does, typically carrying
out a business-level operation.
Message orientation: The internal structure of providers and requesters include the
implementation language, process structure, and even database structure. These
features are deliberately abstracted away in the SOA.
REST and systems of systems: REST is a software architecture style for distributed
systems, particularly distributed hypermedia systems, such as the World Wide Web.
It has recently gained popularity among enterprises such as Google, Amazon,
Yahoo!, and especially social networks such as Facebook and Twitter because ofits
simplicity, and its ease of being published and consumed by clients. its architecture
is as shown in the below diagram.
Resource Identification through URIs: The REST ful web service exposes a set
of resources which identify targets of interaction with its clients. The key abstraction
of information in REST, is a resource. Any information that can be named can be a
resource, such as a document or image or a temporal service. A resource is a
conceptual mapping to a set of entities. Each particular resource is identified by a
unique name, or more precisely, a Uniform Resource Identifier (URI) which is of
type URL.
Stateless Interactions: The REST interactions are “stateless” in the sense that the
meaning of a message does not depend on the state of the conversation. Stateless
communications improve visibility, since a monitoring system does not have to look
beyond a single request data field in order to determine the full nature of the request
reliability as it facilitates the task of recovering from partial failures, and increases
scalability as discarding state between requests allows the server component to
quicklyfreeresources.
FIG: a simple web service interaction among provider, user, and the uddi registry
ENTERPRISE MULTITIER ARCHITECTURE: Enterprise applications often use multitier
architecture to encapsulate and integrate various functionalities. Multitier
architecture is a kind of client/server architecture in which the presentation, the
application processing, and the data management are logically separate processes.
The simplest known multilayer architecture is a two-tier or client/server system. This
traditional two-tier, client/server model requires clustering and disaster recovery to
Other service oriented architectures and systems: the following are the other
services with are offered
1. AWS Services:
EC2 (Elastic Compute Cloud): Virtual servers in the cloud.
S3 (Simple Storage Service): Object storage for the web.
Lambda: Serverless compute service.
RDS (Relational Database Service): Managed relational database
service.
API Gateway: Build, deploy, and manage APIs.
2. Programming Languages:
AWS supports a wide range of programming languages including Python,
Java, Node.js, C#, etc.
3. SDKs (Software Development Kits):
AWS provides SDKs for various programming languages to interact with
its services.
4. Development Workflow:
Develop your application code using your preferred programming
language.
Use AWS SDKs to integrate your application with AWS services.
Deploy your application on EC2 instances or utilize serverless options like
Lambda.
Store and retrieve data using services like S3 or RDS.
Configure API Gateway to manage and expose APIs.