0% found this document useful (0 votes)
54 views35 pages

Cloud Computing Deployment Models Explained

The document outlines the various cloud deployment models, including Private, Public, Community, and Hybrid clouds, each defined by user requirements and organizational structure. It also describes the three primary cloud service models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), highlighting their characteristics, benefits, and disadvantages. Additionally, it emphasizes the importance of technological drivers such as SOA, multicore technology, and the evolution of web technologies in cloud computing.

Uploaded by

sushmanth130
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views35 pages

Cloud Computing Deployment Models Explained

The document outlines the various cloud deployment models, including Private, Public, Community, and Hybrid clouds, each defined by user requirements and organizational structure. It also describes the three primary cloud service models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), highlighting their characteristics, benefits, and disadvantages. Additionally, it emphasizes the importance of technological drivers such as SOA, multicore technology, and the evolution of web technologies in cloud computing.

Uploaded by

sushmanth130
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CLOUD COMPUTING MATERIAL (UNIT -2)

SYLLABUS (UNIT - II): Cloud Deployment Models, Cloud Service Models, Technological
Drivers for Cloud Computing: SOA and Cloud, Multicore Technology, Web 2.0 and Web 3.0,
Pervasive Computing, Operating System, Application Environment.
I) Cloud Deployment Models

Deployment models can be defined as the different ways in which the cloud can be deployed. These
models are fully user centric, that is, these depend on users’ requirement and convenience. A user
selects a model based on his or her requirement and needs. There are several types to choose from
when it comes to cloud installations. The location of each workload in your cloud architecture will
be determined by your business needs.

Deployment models describe the ways with which the cloud services can be deployed or made
available to its customers, depending on the organizational structure and the provisioning location.
Four deployment models are usually distinguished, namely,

1) Private Cloud
2) Public Cloud
3) Community Cloud
4) Hybrid Cloud

The classification of the cloud is based on several parameters such as the size of the cloud (number
of resources), type of service provider, location, type of users, security, and other issues. The
smallest in size is the private cloud.
The private cloud is the most basic deployment model that can be deployed by a single
organization for its personal use. It is not shared by other organizations, and it is not allowed for
public use. The private cloud is to serve the people of an organization. It is usually on premise but
can be outsourced also.

The next one is the community cloud, which is an extension of the private cloud. Here, the cloud is
the same as the private cloud but is shared by several organizations. The community cloud is
established for a common cause. The cause can be anything, but usually it leads to mutual benefits
among the participating organizations.

The next is the public cloud, which is the opposite of the private cloud. This cloud allows access
from any place in the world and is open to the public. This cloud is biggest in size among all other
deployment models. The public cloud model is one of the most popular deployment models. The
public cloud service provider charges the users on an hourly basis and serve the users according to
the service-level agreements (SLAs).

The next one is the hybrid cloud, which is a combination of other deployments. Usually, it consists
of the private and public clouds combined. Several properties of the private cloud are used with the

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

properties of the public cloud. This cloud is one of the upcoming cloud models growing in the
industry.

1. Private Cloud Model: Private Cloud allows systems and services to be accessible within an
organization. The Private Cloud is operated only within a single organization. The cloud
infrastructure is provisioned for exclusive use by a single organization comprising multiple
consumers (e.g., business units). It may be owned, managed, and operated by the organization, a
third party, or some combination of them, and it may exist on or off premises.

o Exclusively used by a single organization.


o May be owned / operated by the organization, third party, or both.
o Can exist on – or - off premises.

The private cloud model is shown in the diagram below.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Benefits:
There are many benefits of deploying cloud as private cloud model. The following diagram shows
some of those benefits:

High Security and Privacy: Private cloud operations are not available to general public and
resources are shared from distinct pool of resources. Therefore, it ensures high security and privacy.

More Control: The private cloud has more control on its resources and hardware than public cloud
because it is accessed only within an organization.

Cost and Energy Efficiency: The private cloud resources are not as cost effective as resources in
public clouds but they offer more efficiency than public cloud resources.

Disadvantages: Here are the disadvantages of using private cloud model:

Restricted Area of Operation: The private cloud is only accessible locally and is very difficult to
deploy globally.

High Priced: Purchasing new hardware in order to fulfill the demand is a costly transaction.
Limited Scalability: The private cloud can be scaled only within capacity of internal hosted
resources.

Additional Skills: In order to maintain cloud deployment, organization requires skilled expertise.

2. Public Cloud Model: The cloud infrastructure is provisioned for open use by the general public.
It may be owned, managed, and operated by a business, academic, or government organization, or
some combination of them. It exists on the premises of the cloud provider.

o Open for use by the general public.


o Managed by businesses, academia, or governments.
o Exists at the cloud provider’s premises.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Benefits: There are many benefits of deploying cloud as public cloud model. The following
diagram shows some of those benefits:

Cost Effective: Since public cloud shares same resources with large number of customers it turns out
inexpensive.

Reliability: The public cloud employs large number of resources from different locations. If any of the
resources fails, public cloud can employ another one.

Flexibility: The public cloud can smoothly integrate with private cloud, which gives customers a
flexible approach.

Location Independence: Public cloud services are delivered through Internet, ensuring location
independence.

Utility Style Costing: Public cloud is also based on pay-per-use model and resources are accessible
whenever customer needs them.

High Scalability: Cloud resources are made available on demand from a pool of resources, i.e., they
can be scaled up or down according the requirement.

Disadvantages:- Here are some disadvantages of public cloud model:


Low Security: In public cloud model, data is hosted off-site and resources are shared publicly,
therefore does not ensure higher level of security.

Less Customizable: It is comparatively less customizable than private cloud.

3. Community Cloud Model: The cloud infrastructure is shared by several organizations and
supports a specific community that has shared concerns (e.g., mission, security requirements,
policy, and compliance considerations). It may be managed by the organizations or a third party and
may exist on premise or off premise.

o Shared by several organizations with common interests (e.g., security, compliance).


o Managed internally or by a third party.
o Can exist on- or off-premises.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Benefits: There are many benefits of deploying cloud as community cloud model.

Cost Effective: Community cloud offers same advantages as that of private cloud at low cost.

Sharing Among Organizations: Community cloud provides an infrastructure to share cloud


resources and capabilities among several organizations.

Security: The community cloud is comparatively more secure than the public cloud but less secured
than the private cloud.

Disadvantages:-

 Since all data is located at one place, one must be careful in storing data in community
cloud because it might be accessible to others.
 It is also challenging to allocate responsibilities of governance, security and cost among
organizations.

4. Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud
infrastructures (private, community, or public) that remain unique entities but are bound together by
standardized or proprietary technology that enables data and application portability (e.g.,cloud
bursting for load balancing between clouds).

o Combines two or more distinct cloud types (private, public, community).


o Connected by technology enabling data and application portability (e.g., cloud
bursting).

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Benefits: There are many benefits of deploying cloud as hybrid cloud model. The following
diagram shows some of those benefits:

Scalability: It offers features of both, the public cloud scalability and the private cloud scalability.

Flexibility: It offers secure resources and scalable public resources.

Cost Efficiency: Public clouds are more cost effective than private ones. Therefore, hybrid clouds can
be cost saving.

Security: The private cloud in hybrid cloud ensures higher degree of security.

Disadvantages:
Networking Issues: Networking becomes complex due to presence of private and public cloud.

Security Compliance: It is necessary to ensure that cloud services are compliant with security
policies of the organization.

Infrastructure Dependency: The hybrid cloud model is dependent on internal IT infrastructure;


therefore it is necessary to ensure redundancy across data centers.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

II) Cloud Service Models (Three Cloud Service Models (SPI Model))

Cloud computing is a model that enables the end users to access the shared pool of resources such
as compute, network, storage, database, and application as an on-demand service without the need
to buy or own it.

The services are provided and managed by the service provider, reducing the management effort
from the end user side.

The essential characteristics of the cloud include on-demand self-service, broad network access,
resource pooling, rapid elasticity, and measured service.

The National Institute of Standards and Technology (NIST) defines three basic service models,
namely, IaaS, PaaS, and SaaS

The different service models of cloud computing can be deployed and delivered through any one of
the cloud deployment models.

The NIST defines four different types of cloud deployment models, namely, public cloud, private
cloud, community cloud, and hybrid cloud.

 The public cloud is provided for the general public.


 The private cloud is used by an organization for its multiple business units.
 The community cloud is for some group of organization with the same goals.
 The hybrid cloud is any combination of the public, private, and community clouds.

The service delivery of cloud services through different deployment models is shown below

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Cloud computing provides three primary service models, each addressing different levels of user
needs:

1. Infrastructure as a Service (IaaS): Infrastructure-as-a-Service provides access to


fundamental resources such as physical machines, virtual machines, virtual storage, etc. Apart from
these resources, the IaaS also offers:

 Virtual machine disk storage


 Virtual local area network (VLANs)
 Load balancers
 IP addresses
 Software bundles

All of the above resources are made available to end user via server virtualization. Moreover,
these resources are accessed by the customers as if they own them.

• What it offers:
o Virtualized hardware resources such as servers, storage, and networking.
o Users have full control over operating systems and applications but do not manage the
underlying hardware.
• Features:
o Scalability to handle varying workloads.
o Flexibility to deploy and manage any software or applications.

• Examples:
o Amazon EC2: Elastic Compute Cloud for virtual servers.
o Google Compute Engine: Virtual machines on Google's infrastructure.
o Microsoft Azure: Virtual machines for hosting applications and services.
• Use Cases:
o Hosting websites.
o Data storage and backups.
PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

o Development and testing environments.

Characteristics: Here are the characteristics of IaaS service model


 Virtual machines with pre-installed software.
 Virtual machines with pre-installed operating systems such as Windows, Linux, and Solaris.
 On-demand availability of resources.
 Allows to store copies of particular data at different locations.
 The computing resources can be easily scaled up and down.

Benefits: IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a
cost-effective manner. Some of the key benefits of IaaS are listed below:
Full control over computing resources through administrative access to VMs: IaaS allows the
customer to access computing resources through administrative access to virtual machines in the
following manner:
 Customer issues administrative command to cloud provider to run the virtual machine or to
save data on cloud server.
 Customer issues administrative command to virtual machines they owned to start web
server or to install new applications.

Flexible and efficient renting of computer hardware: IaaS resources such as virtual machines,
storage devices, bandwidth, IP addresses, monitoring services, firewalls, etc. are made available to
the customers on rent.

The payment is based upon the amount of time the customer retains a resource. Also with
administrative access to virtual machines, the customer can run any software, even a custom
operating system.

Portability, interoperability with legacy applications: It is possible to maintain legacy between


applications and workloads between IaaS clouds. For example, network applications such as web
server or e-mail server that normally runs on customer-owned server hardware can also run from
VMs in IaaS cloud.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Disadvantages:
Compatibility with legacy security vulnerabilities: Because IaaS offers the customer to run
legacy software in provider's infrastructure, it exposes customers to all of the security
vulnerabilities of such legacy software.

Virtual Machine sprawl: The VM can become out-of-date with respect to security updates
because IaaS allows the customer to operate the virtual machines in running, suspended and off
state.

However, the provider can automatically update such VMs, but this mechanism is hard and
complex.

Robustness of VM-level isolation: IaaS offers an isolated environment to individual customers


through hypervisor.

Hypervisor is a software layer that includes hardware support for virtualization to split a physical
computer into multiple virtual machines.

Data erase practices: The customer uses virtual machines that in turn use the common disk
resources provided by the cloud provider.

When the customer releases the resource, the cloud provider must ensure that next customer to rent
the resource does not observe data residue from previous customer.

2. Platform as a Service (PaaS) : Platform-as-a-Service offers the runtime environment for


applications. It also offers development and deployment tools required to develop applications.
PaaS has a feature of point-and-click tools that enables non-developers to create web applications.

• What it offers:
o A platform that includes tools and frameworks for developers to build, test, and deploy
applications.
o Users focus on application development without managing infrastructure.
• Features:
o Pre-configured environments for application development.
o Support for multiple programming languages and frameworks.
• Examples:
o Google App Engine: For building scalable web applications.
o Microsoft Azure App Service: Deploy web apps without managing servers.
o Heroku: A cloud platform for building and deploying apps in various languages.

• Use Cases:
o Developing mobile and web applications.
o Streamlining software development and deployment.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Characteristics: Here are the characteristics of PaaS service model:

 PaaS offers browser based development environment. It allows the developer to create
database and edit the application code either via Application Programming Interface or
point-and-click tools.
 PaaS provides built-in security, scalability, and web service interfaces.
 PaaS provides built-in tools for defining workflow, approval processes, and business rules.
 It is easy to integrate PaaS with other applications on the same platform.
 PaaS also provides web services interfaces that allow us to connect the applications outside
the platform.

Benefits:

Lower administrative overhead: Customer need not bother about the administration because it is
the responsibility of cloud provider.

Lower total cost of ownership: Customer need not purchase expensive hardware, servers, power,
and data storage.

Scalable solutions: It is very easy to scale the resources up or down automatically, based on their
demand.

More current system software: It is the responsibility of the cloud provider to maintain software
versions and patch installations.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Disadvantages:
Lack of portability between PaaS Clouds: Although standard languages are used, yet the
implementations of platform services may vary.

For example, file, queue, or hash table interfaces of one platform may differ from another, making
it difficult to transfer the workloads from one platform to another.

Event based processor scheduling: The PaaS applications are event-oriented which poses
resource constraints on applications, i.e., they have to answer a request in a given interval of time.

Security engineering of PaaS applications: Since PaaS applications are dependent on network,
they must explicitly use cryptography and manage security exposures.

PaaS Types: Based on the functions, PaaS can be classified into four types as shown in the
following diagram:

Stand-alone development environments: The stand-alone PaaS works as an independent entity


for a specific function. It does not include licensing or technical dependencies on specific SaaS
applications.

Application delivery-only environments: The application delivery PaaS includes on-demand


scaling and application security.

Open platform as a service: Open PaaS offers open source software that helps a PaaS provider to
run applications.

Add-on development facilities: The add-on PaaS allows customizing the existing SaaS platform.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

3. Software as a Service (SaaS): Software-as a-Service (SaaS) model allows to provide software
application as a service to the end users. It refers to software that is deployed on a host service and
is accessible via Internet. There are several SaaS applications listed below:

 Billing and invoicing system


 Customer Relationship Management (CRM) applications
 Help desk applications
 Human Resource (HR) solutions

• What it offers:
o Fully functional software applications delivered over the internet.
o Users access software via a browser or an app without installation or
maintenance.
• Features:
o Accessible from any device with an internet connection.
o Updates and maintenance are managed by the provider.

• Examples:
o Gmail: Email as a service.
o Microsoft Office 365: Cloud-based productivity tools.
o Sales force CRM: Customer relationship management.

• Use Cases:
o Email services.
o Collaborative tools for document editing and sharing.
o Customer management and analytics.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Characteristics: Here are the characteristics of SaaS service model:

 SaaS makes the software available over the Internet.


 The software applications are maintained by the vendor.
 The license to the software may be subscription based or usage based. And it is billed on
recurring basis.
 SaaS applications are cost-effective since they do not require any maintenance at end user
side.
 They are available on demand. And can be scaled up or down on demand.
 They are automatically upgraded and updated.
 SaaS offers shared data model. Therefore, multiple users can share single instance of
infrastructure. It is not required to hard code the functionality for individual users.
 All users run the same version of the software.

Benefits:
Modest software tools: The SaaS application deployment requires a little or no client side software
installation, which results in the following benefits:

 No requirement for complex software packages at client side


 Little or no risk of configuration at client side
 Low distribution cost
Efficient use of software licenses: The customer can have single license for multiple computers
running at different locations which reduces the licensing cost. Also, there is no requirement for
license servers because the software runs in the provider's infrastructure.
Centralized management and data: The cloud provider stores data centrally. However, the
cloud providers may store data in a decentralized manner for the sake of redundancy and reliability.
Platform responsibilities managed by providers: All platform responsibilities such as backups,
system maintenance, security, hardware refresh, power management, etc. are performed by the
cloud provider. The customer does not need to bother about them.
Multitenant solutions: Multitenant solutions allow multiple users to share single instance of
different resources in virtual isolation. Customers can customize their application without affecting
the core functionality.

Disadvantages / Issues: There are several issues associated with SaaS, some of them are
listed below:

Browser based risks: If the customer visits malicious website and browser becomes infected, the
subsequent access to SaaS application might compromise the customer's data.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

To avoid such risks, the customer can use multiple browsers and dedicate a specific browser to
access SaaS applications or can use virtual desktop while accessing the SaaS applications.

Network dependence: The SaaS application can be delivered only when network is continuously
available. Also network should be reliable but the network reliability cannot be guaranteed either by
cloud provider or by the customer.

Lack of portability between SaaS clouds: Transferring workloads from one SaaS cloud to another
is not so easy because work flow, business logics, user interfaces, support scripts can be provider
specific.

Open SaaS and SOA:


Open SaaS uses those SaaS applications, which are developed using open source programming
language. These SaaS applications can run on any open source operating system and database.
Open SaaS has several benefits listed below:

 No License Required
 Low Deployment Cost
 Less Vendor Lock-in
 More portable applications
 More Robust Solution

The following diagram shows the SaaS implementation based on SOA:

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Cloud Computing Identity as a Service (IDaaS):

Employees in a company require to login to system to perform various tasks. These systems may be
based on local server or cloud based. Following are the problems that an employee might face:

 Remembering different username and password combinations for accessing multiple


servers.
 If an employee leaves the company, it is required to ensure that each account of that user is
disabled. This increases workload on IT staff.
 To solve above problems, a new technique emerged which is known as Identity-as a-
Service (IDaaS).

IDaaS offers management of identity information as a digital entity. This identity can be used
during electronic transactions.

Identity: Identity refers to set of attributes associated with something to make it recognizable. All
objects may have same attributes, but their identities cannot be the same. A unique identity is
assigned through unique identification attribute.

Single Sign-On (SSO): To solve the problem of using different username and password
combinations for different servers, companies now employ Single Sign-On software, which allows
the user to login only one time and manage the access to other systems.

SSO has single authentication server, managing multiple accesses to other systems, as shown in the
following diagram:

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

SSO Working Mechanism:

Following steps explain the working of Single Sign-On software:

 User logs into the authentication server using a username and password.
 The authentication server returns the user's ticket.
 User sends the ticket to intranet server.
 Intranet server sends the ticket to the authentication server.
 Authentication server sends the user's security credentials for that server back to the intranet
server.

If an employee leaves the company, then disabling the user account at the authentication server
prohibits the user's access to all the systems.

OpenID:

It offers users to login into multiple websites with single account. Google, Yahoo!, Flickr,
MySpace, [Link] are some of the companies that support OpenID.

Benefits

 Increased site conversation rates


 Access to greater user profile content
 Fewer problems with lost passwords
 Ease of content integration into social networking sites

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Cloud Computing Network as a Service (NaaS):

Network-as-a-Service allows us to access to network infrastructure directly and securely. NaaS


makes it possible to deploy custom routing protocols.

NaaS uses virtualized network infrastructure to provide network services to the customer. It is
the responsibility of NaaS provider to maintain and manage the network resources. Having a
provider working for a customer decreases the workload of the customer. Moreover, NaaS offers
network as a utility. NaaS is also based on pay-per-use model.

How NaaS is delivered?

To use NaaS model, the customer is required to logon to the web portal, where he can get online
API. Here, the customer can customize the route. In turn, customer has to pay for the capacity used.
It is also possible to turn off the capacity at any time.

III) Technological Drivers for Cloud Computing


Cloud computing enables service providers to offer various resources such as infrastructure,
platform, and software as services to the requesting users on a pay-as-you-go model. The cloud
service consumers (CSCs) are benefitted from the cost reduction in procuring the resources and the
quality of service (QoS) this promising computing paradigm offers.

Nowadays, more companies and enterprises are entering the cloud scenario either as service
providers or as service consumers. There has been a considerable increase in the adoption rate of
cloud computing among service providers and users across the globe.

The success of cloud computing can be closely associated with the technological enhancements in
various areas such as service-oriented architecture (SOA), virtualization, multi core
technology, memory and storage technologies, networking technologies, Web 2.0, and Web
3.0. Also, the advancements in programming models, software development models, pervasive
computing, operating systems (OSs), and application environment have contributed to the
successful deployment of various clouds.

There are two major categories of technological drivers for cloud computing:-

A) Service Oriented Architecture (SOA)


B) Service Oriented Computing (SOC)

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

(A) Service Oriented Architecture (SOA):


Introduction of SOA:

SOA provides a conceptual framework for designing modular and interoperable services, and cloud
computing offers a scalable and flexible infrastructure for deploying and consuming those services
over the Internet.

SOA and cloud computing are highly complementary. SOA principles can be applied in the design
and development of services deployed in the cloud, contributing to a modular and scalable
architecture.

Cloud services themselves often adhere to SOA principles such as they are designed as modular,
reusable, and loosely coupled components that can be orchestrated to deliver business solutions.

Both SOA and cloud computing contribute to the flexibility and agility of IT environments,
enabling businesses to adapt quickly to changing requirements.

The combination of SOA and cloud computing can contribute to building modern, responsive, and
cost-effective IT solutions.

Definition of SOA:
SOA provides a conceptual framework for designing modular and interoperable services.

Service-oriented architecture is an architectural approach that structures software applications as a


collection of loosely coupled, interoperable services.

Each service represents a discrete business function and can be independently developed, deployed,
and scaled.

Characteristics of SOA:
 In SOA, services are the fundamental building blocks. They are self-contained, modular
units that perform specific tasks and expose well-defined interfaces.
 Services in SOA are loosely coupled, i.e. they are independent and can be changed or
updated without affecting other services.

Benefits of SOA:

 Services can be reused multiple times across multiple applications, reducing redundancy
and promoting consistency.
 Individual services can be scaled independently based on demand.
 SOA supports flexibility and agility in software development because changes to one
service do not impact others and work independently.
 SOA supports interoperability, allowing services to communicate and work together
seamlessly, often using standardized protocols like SOAP (Simple Object Access Protocol)
or REST (Representational State Transfer).
PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

(B) Service Oriented Computing(SOC)

Introduction of SOC:

Service-Oriented Computing (SOC) and cloud computing share common principles to deliver
flexible, scalable, and efficient solutions.

The principles of SOC, such as service-oriented architecture and service composition, align well
with the cloud’s capabilities to provide scalable and on-demand access to computing resources.

The cloud environment supports the entire service lifecycle as emphasized by SOC. This includes
the design, development, deployment, and management of services.

Definition of SOC:

Service-oriented computing is a broader concept that encompasses the principles, technologies,


and practices related to the development and use of services.

Service-Oriented Computing is a comprehensive computing paradigm that revolves around the


concept of services. It involves designing, building, and utilizing services to create distributed and
interoperable software systems.

Characteristics of SOC:

 SOC extends beyond just architectural considerations and includes the entire ecosystem of
service-oriented technologies and methodologies.
 SOC is the composition of services to create larger, more complex applications by
orchestrating (coordinating the elements of (a situation) to produce a desired effect)
individual services.
 SOC involves the entire lifecycle of services, including design, development, deployment,
management, and retirement.

Benefits of SOC:

 Services can be reused across various applications and projects.


 Services are designed to work seamlessly with each other, promoting interoperability.
 Individual services can be scaled independently based on demand.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

IV) Multi-Core Technology:

Introduction of Multi-Core Technology:

 Multi-core technology has become a standard in modern computing architectures, and its
widespread adoption has significantly contributed to the performance improvements
observed in various computing devices.
 It plays a crucial role in meeting the increasing computational demands of modern
applications and workloads.
 Multi-core technology has become a standard in modern computing and is widely used in a
variety of devices, from personal computers to servers and mobile devices.

Definition of Multi-Core Technology:

Multi-core technology is the integration of multiple processor cores on a single chip, allowing a
computer’s central processing unit (CPU) to simultaneously execute multiple tasks or processes.

Characteristics of Multi-Core Technology:

 Multi-core processors enable parallel processing, where multiple tasks or instructions are
executed simultaneously. Each core can handle its own set of instructions independently,
leading to improved performance for applications that can be parallelized.

 Different cores on a multi-core processor can execute separate tasks independently. This
allows for better task isolation and prevents one task from adversely affecting the
performance of another.

 Multi-core processors come in various configurations, such as dual-core (two cores),


quad-core (four cores), Hexa-core (six cores), Octa-core (eight cores), and more. The
number of cores is an important factor in determining the processing power of a CPU.

 Multi-core processors often support multithreading, where each core can handle multiple
threads simultaneously. This is different from multi-processing, where multiple independent
processes run on separate cores.

 Multi-core technology provides scalability in terms of performance. Instead of relying


solely on increasing clock speeds, which may have limitations due to heat dissipation and
power consumption, adding more cores allows for scalable performance improvements.

 In some cases, multi-core processors can be more energy-efficient than their single-core
counterparts. This is because the workload can be distributed across multiple cores,
allowing for better power management and reduced overall power consumption.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

 The operating system is responsible for allocating tasks to different cores based on factors
such as the type of task, system load, and other considerations. Efficient task allocation is
crucial for maximizing the benefits of multi-core technology.

Benefits of Multi-Core Technology:

 The primary advantage of multi-core technology is improved performance i.e., Applications


that are optimized for parallel execution can benefit significantly from multi-core
processors, as they can distribute the workload across multiple cores, reducing processing
time.
 Multi-core processors improve resource utilization by allowing the system to run multiple
tasks simultaneously.

V) Web 2.0:
Web 2.0 (or Web 2) is the popular term given to the advanced Internet technology and applications
that include blogs, wikis, really simple syndication (RSS), and social bookmarking.
The two major contributors of Web 2.0 are the technological advances enabled by Ajax and other
applications such as RSS and Eclipse that support the user interaction and their empowerment in
dealing with the web.

One of the most significant differences between Web 2.0 and the traditional World Wide Web
(referred to as Web 1.0) is that Web 2.0 facilitates greater collaboration and information sharing
among Internet users, content providers, and enterprises.

Hence, in that sense, this can be considered as a migration from the read-only web to a
read/write web.

The main focus of Web 2.0 is to provide the web users the ability to share and distribute
information online with other users and sites.

It refers to the transition from the static HTML web pages to a more dynamic web for serving web
applications to users effectively. A Web 2.0 site such as a social networking site allows its users to
interact with each other in a social media dialogue, in contrast to websites where people are
restricted to the passive viewing of information.

Common examples of Web 2.0 include social networking sites, blogs, wikis, video-sharing sites,
and any other hosted services or web applications that allow dynamic sharing of information among
users.

Also, Web 2.0 technologies can be used as interactive tools to provide feedback on contents or
information provided in the web page such as the best practices and recent updates. This feedback
will help the service providers to improve the quality of their services and thereby the business
values.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Cloud computing is closely related to the SOA of Web 2.0 and virtualization of hardware and
software resources. Cloud computing makes it possible to build applications and services that can
run/execute utilizing the resources (hardware and software) provided by the service providers,
without restricting the application developers or consumers to the resources available on premise.

Characteristics of Web 2.0:


In Web 2.0 websites, as already mentioned, instead of merely reading the contents from a web
page, a user is allowed to write or contribute to the content available to everyone in an effective and
user-friendly manner.

Web 2.0 is also called network as a platform computing as it provides software, computing, and
storage facilities to the user all through the browser. The major applications of Web 2.0 include
social networking sites, self-publishing platforms, tagging, and social bookmarking.

The key features of Web 2.0 include the following:

 Folksonomy
 Rich user experience
 User as a contributor
 User participation
 Dispersion

Applications of Web 2.0:


Web 2.0 finds applications in different fields. Some of the applications of Web 2.0 are discussed in
the following subsections.
 Social Media
 Marketing
 Education
 Web 2.0 and Cloud Computing

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

VI) Web 3.0:


The name Web 3.0 was given by John Markoff of The New York Times to this third-generation of
the web. The first two generations of the web were called Web 1.0 and Web 2.0 .

Web 1.0: Web 1.0 was the first generation of the Web in which the main focus was building the
web, making it accessible, and also commercializing it. The key areas of interest in Web 1.0
included protocols such as HTTP, open standard markup languages such as HTML and XML,
Internet access through ISPs, the first web browsers, platforms and tools for web development,
web-development software languages such as Java and Javascript, and the commercialization of
the web.

Web 2.0: The phrase Web 2.0 was coined by O’Reilly and it refers to the second generation of
Internet-based services, such as social networking sites, wikis, and communication tools, that
facilitate online collaboration and sharing among various users.

Web 3.0: John Markoff of The New York Times coined the term Web 3.0 and it refers to the third
generation of Internet-based services that is collectively called the intelligent web. Web 3.0
includes services on the Internet that use technologies such as semantic web, natural language
search, machine learning, recommendation agents, and artificial intelligence to achieve machine-
facilitated understanding of information in order to provide a more productive and intuitive
experience to the web users.

Web 2.0 technologies allows the use of read/write web, blogs, interactive web applications, rich
media, tagging or folksonomy while sharing content, and also social networking sites focusing on
communities

Components of Web 3.0:


The term Web 3.0, also known as the semantic web, describes sites wherein the computers will be
generating raw data on their own without direct user interaction.

Web 3.0 is considered as the next logical step in the evolution of the Internet and web technologies.
For Web 1.0 and Web 2.0, the Internet is confined within the physical walls of the computer, but
as more and more devices such as smartphones, cars, and other household appliances become
connected to the web, the Internet will be omnipresent and could be utilized in the most efficient
manner.

In this case, various devices will be able to exchange data among one another and they will even
generate new information from raw data (e.g., a music site, [Link], will be able to anticipate the
type of music the user likes depending on his previous song selections).

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Hence, the Internet will be able to perform the user tasks in a faster and more efficient way, such as
the case of search engines being able to search for the actual interests of the individual users and
not just based on the keyword typed into the search engines.

Web 3.0 embeds intelligence in the entire web domain. It deploys web robots that are smart enough
of taking decisions in the absence of any user interference. If Web 2.0 can be called a read/write
web, Web 3.0 will surely be called a read/write/execute web.

The two major components forming the basis of Web 3.0 are the following:

1) Semantic web
2) Web services

Semantic Web:
The semantic web provides the web user a common framework that could be used to share and
reuse the data across various applications, enterprises, and community boundaries .

The semantic web is a vision of IT that allows the data and information to be readily interpreted by
machines, so that the machines are able to take contextual decisions on their own by finding, com-
bining, and acting upon relevant information on the web.

The semantic web, as originally envisioned, is a system enabling the machines to understand the
context and meaning of complex human requests and respond to them appropriately. Also, the
semantic web is considered as an integrator of contents or information across different applications
and systems.

Web Services:

A web service is a software system that supports computer-to-computer interaction over the
Internet. Web services are usually represented as APIs.

For example, the popular photography-sharing website Flickr provides a web service that could be
utilized by the developers to programmatically interface with Flickr in order to search for images.
Currently, thousands of web services are available for users, and they form an important component
in the context of Web 3.0.

By the combination of semantic markup and web services, the Web 3.0 paradigm promises the
potential for applications that can communicate to each other directly and also facilitates broader
searches for information through simpler interfaces.

Characteristics of Web 3.0:


Web 3.0 could be considered as the third generation of the web and it is enabled by the convergence
of several key emerging technology trends as discussed earlier. The major characteristics of this
paradigm are the following
PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

 Ubiquitous connectivity
 Network computing
 Open technologies
 Open identity
 The intelligent web

VII) Pervasive Computing

Pervasive computing is a combination of technologies, such as Internet capabilities, voice


recognition, networking, artificial intelligence, and wireless computing, used to make computing
anywhere possible. Pervasive computing devices make day-to-day computing activities extremely
easy to perform.

The technology is moving beyond the PC to everyday devices with embedded technology and
connectivity. Pervasive computing is also called ubiquitous computing, in which almost any
device or material such as clothing, tools, appliances, vehicles, homes, human body, or even the
coffee mug can be imbedded with chips to connect that object to an infinite network of other
devices.

The goal of pervasive computing, which combines current network technologies with wireless
computing, voice recognition, Internet capability, and artificial intelligence, is to create an
environment where the connectivity of devices is achieved in such a way that the connectivity is
unobtrusive and always available.

Pervasive computing also has a number of prospective applications, which range from home care
and health, to geographical tracking and intelligent transport systems.

How Pervasive Computing Works?

The success of ubiquitous computing rests with the proper integration of various components that
talk to each other and thereby behaving as a single connected system. Figure 6.8 shows the
architecture of a ubiquitous computing stack.

At the bottom of the stack is a physical layer. Tiny sensors are attached (carried, worn, or
embedded) to people, animals, machines, homes, cars, buildings, campuses, and fields. Sensors
capture various bits of information from the immediate surroundings. Beyond the microphone and
camera, multiple sensors such as GPS, accelerometer, and compass can be integrated into it.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Above the sensors lies the wireless communication infrastructure, which can be provided by the
802.11 family of networks. Together with mesh networks, such standards ensure the connectivity of
sensors and devices.

Another technology called ZigBee is a low-cost alternative for keeping multiple devices
connected, allowing parent devices to wirelessly control child sensors. Near field communication
(NFC) is yet another technology standard that can be used for ubiquitous computing, especially in
scenarios where non-battery-operated passive points are concerned. NFC-powered devices can
also interact with one another.

How Pervasive Computing Helps Cloud Computing?


Nowadays, IT enterprises are adopting cloud computing in order to reduce the total cost involved
and also to improve the QoS delivered to the customers. Cloud computing provides the opportunity
to access the infrastructure, platform, and the software from the service providers on a pay-per-use
basis.

Pervasive computing helps cloud computing by providing the ability to access the cloud resources
anytime, anywhere and also through any device. Pervasive computing provides the necessary
features such as ubiquitous computing, storage and archiving, social community–based
applications, and business as well as non business applications in order for cloud computing to gain
its full potential.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Cloud computing is typically a client-server architecture, where the client can be any portable
device like a laptop, phone, browser, or any other OS-enabled devices. A main issue with these
portable devices is the constraints they present in terms of storage, memory, processing, and battery
lifetime. By storing data on the cloud, and interacting with the cloud through secure communication
channels, all these constraints can be easily met.

VIII) Operating System:


An OS is a collection of softwares that manages the computer hardware resources and other
programs in the computing system. It provides common services required by computer programs
for their effective execution within the computing environment.

The OS is an essential component of the system software in a computer system as application


programs usually require an OS for their interface with the hardware resources and other system
programs. For hardware functions such as input and output, and memory allocation, the OS acts as
an intermediary between programs and the computer hardware.

Types of Operating Systems: The different variants of OSs are the following:

1) Network OSs: A network operating system (NOS) is a computer OS that is designed


primarily support workstations, PCs that are connected on a LAN. An NOS provides features
such as printer sharing, common file system and database sharing, application sharing, security
mechanisms, and also the ability to manage a network name directory and other housekeeping
functions of the network.

Novell’s NetWare and Microsoft’s LAN Manager are examples of NOSs.

2. Web OSs: Web OSs are basically websites that replicate the desktop environment of modern
OSs, all inside a web browser. They are installed onto web servers and live on the Internet. Thus,
a user can access his virtual desktop from any device, anywhere, that is connected to the net.

Web OSs are also called the dynamic computers. In this case, the applications, hard disk, and
OSs are all present at the servers from where they are accessed. The web OS service provider
manages the application and database accesses of the various users.

The user is provided with a graphical user interface similar to the one available on a desktop PC,
which can be used to access the data and the applications from the server. Google Chrome OS is
an example of a web OS.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

3. Distributed OS:
A distributed OS is a software that is present over a collection of independent, networked,
communicating, and physically separate computational nodes. Each individual node holds a
specific software that is a subset of the global aggregate OS. Each subset consists of two distinct
components of the distributed OS.

The first one is a ubiquitous minimal kernel, or microkernel, that directly controls the node’s
hardware.

The second one is a higher-level collection of system management components that coordinate
The node’s individual and collaborative activities. The microkernel and the management
components work together.

They support the distributed system’s goal of integrating multiple resources and processing
functionality into an efficient and stable system. To a user, a distributed OS works in a manner
similar to a single-node, monolithic OS. That is, although it consists of multiple nodes, it appears to
the users and applications as a single-node OS.

4. Embedded systems:
Embedded systems are OSs present in electronic devices used for various purposes in order to make
them smart and more efficient. Embedded systems present in devices such as routers, for example,
typically include a preconfigured web server, DHCP server, and some utilities for its effective
networking operation, and they do not allow the installation of new programs in them.
Examples of embedded OSs for routers include Cisco Internetwork Operating System (IOS),
DD-WRT, and Juniper Junos. An embedded OS can also be found inside an increasing number
of consumer gadgets including phones, personal digital assistance (PDA), and digital media player
for the successful completion of their intended tasks.

Role of OS in Cloud Computing:


In the 1970s, International Business Machines Corporation (IBM) released an OS called VM
that allowed mainframe systems to have multiple virtual systems, or VMs on a single physical
node. The VM OS materialized shared access of mainframe systems to the next level by allowing
multiple distinct computing environments to live in the same physical environment.

Most of the basic functions of current virtualization software are inherited from this early VM OS.
The virtualization software is now represented with the term hypervisor. Hardware virtualization is
used to share the resources of the cloud providers effectively with the customers by generating
an illusion of dedicated computing, storage, and networking on a computing infrastructure.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

The concept of virtualization is physically implemented using the hypervisor modules, and the
operation and processing of hypervisors are materialized by the OSs. In other words, hypervisor
modules are installed on top of OSs, which act as an interface between hardware units and
hypervisor packages.

Features of Cloud based OS:


The elements required to create an operationally sophisticated hybrid cloud computing environment
include the following:

1. Well-defined interfaces that hide implementation details


2. Core security services
3. The ability to manage virtualization
4. Management of workloads to provide QoS and performance

Cloud OS based Requirements:


Other than the features of the cloud OS explained in the previous section, the major OS
requirements in a cloud environment are given in the following:

1. The cloud OS must permit autonomous management of its resources: The cloud OS should
expose a consistent and unified interface that conceals whenever possible the fact that
individual nodes are involved in its operations, and what those low-level operations are. It
should support the autonomous management of the various cloud resources on behalf of its
users and applications.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

2. Cloud OS operation must continue despite failure of nodes, clusters, and network
partitioning: Guaranteeing continued operation of the cloud management processes in these
conditions involves mechanisms for quickly detecting the failures and enacting appropriate
measures for recovering from the failures. Several cloud libraries that implement common
fault tolerance and state recovery features are provided for the customers to use.
3. The cloud must support multiple types of applications: Applications of different types such as
high-performance computing, high data availability, and high network throughput should
ideally coexist in a cloud environment and obtain from the system the resources that best
match the application requirements.
4. The cloud OS management system must be decentralized, scalable, and cost effective:
Moreover, apart from initial resource deployment, no human intervention should be
required to expand the cloud resources. Likewise, user management should only entail the
on-demand creation of user credentials, which are then automatically propagated throughout
the cloud.
5. The resources used in the cloud architecture must be accountable: The resource usage of the
various cloud customers should be monitored effectively in the cloud environment. This monitoring
activity could be used for charging the customers for their resource access, and also for the security
auditing (if needed). Moreover, dynamic billing schemes based on resource congestion could be an
effective way for resource allocation.

IX) Application Environment


An Application Development Environment (ADE) is the hardware, software, and computing
resources required for building software applications. ADE is a composite set of computing
resources that provides an interface for application development, testing, deployment,
integration, troubleshooting, and maintenance services. These are combined with the software
engineering resources, such as a programming language’s Integrated Development Environment
(IDE), reporting and analysis software, troubleshooting tools, and other performance evaluation
software utilities.

Need for Effective ADE:


As the mobile web application market matures, competitive pressures and user expectations will
drive application developers to differentiate their product offerings by providing value-added
features.

The standards-based application environment must ensure the interoperability of the application
development components. In particular, it must enable customized content, extensible functionality
and advanced user interfaces.

For the web to be ubiquitous, web access devices must be present almost everywhere. For this to
occur, web access devices must become small and portable. As web-enabled devices evolve from
today’s desktop computers to such things as cellular telephones, car radios, and personal organizers,
PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

the challenge will be to provide a common application authoring environment across a diverse
range of devices. The existing standard web application environment consists of HTML,
JavaScript, and an ad hoc collection of standard graphics file formats, processed by an HTML
browser.

Hence, an effective ADE should


 Support multiple content types, including multimedia content.
 Support multimodal user interaction.
 Provide a framework for the integration of new technologies as they become available.

Application Development Methodologies:-

 Distributed Development
 Agile Development

Distributed Development:
This is the natural by-product of the Internet and the phenomenon that not all coding geniuses
live within commuting distance from the workplace. Distributed development is a global
development that brings its own challenges with collaboration and code management. There are
applications available for distributed code management such as git and Subversion. They are
widely used in distributed environments.

Agile Development:
This is where cloud development can really be much more than just online. Since cloud
environments can be provisioned instantly and nearly any configuration can be copied and
activated, the possibilities for instant developments and test environments are very attractive to
developers.

Cloud development can also boost agile development by coordinating collaboration, planned
sprints, and emergency bug fixes. Deploying to the cloud is also very useful for agile
development. Prereleases can be pushed out to customers’ test machines on their cloud almost
instantly. Even if the customer is not in a cloud environment yet, prereleases can be posted on a
public cloud for the customer to access and test remotely before accepting delivery of the final
release of the application. Toolsets that can help the agile management in the cloud include
Code2Cloud, in conjunction with Tasktop and CollabNet.

Power of Cloud Computing in Application Development:


Cloud computing simplifies and accelerates application development by offering flexible, cost-
effective access to development tools and infrastructure. It eliminates the need for costly in-house
setups, allowing developers to focus solely on building and deploying scalable applications.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Through models like Software as a Service (SaaS), businesses can efficiently create and deliver
applications across various devices. Cloud platforms also reduce development time from months to
weeks, improve resource utilization, and support quick market deployment.

Overall, cloud computing enables faster, cheaper, and more collaborative software development
with enhanced scalability and accessibility.

Disadvantages of Desktop Development: Desktop development environments are becoming


outdated, failing more often, and causing productivity issues for developers. The main issues with
desktop environment are the following:

1. Complicated configuration management: The substantial configuration management


process for a developer’s workspace turns developers into part-time system administrators,
responsible for their own mini-DC running entirely on the desktop.

This is time consuming, error prone, and challenging to automate. Many developers have
multiple computers and are forced to repeat these tasks on each machine. There is no way to
synchronize the configurations of components across different machines, and each machine
requires similar hardware and OSs to operate the components identically.

2. Decreased productivity: Many IDEs are memory and disk hogs, with significant boot times.
They are so resource-hungry that they can starve other applications and the net effect is less
productivity due to a slower machine.

3. Limited accessibility: Normally, desktop developer workspaces are not accessible via mobile
devices through the Internet. Developers who need remote access have to resort to some complex
and slow solutions such as GotoMyPC.

4. Poor collaboration: These days, most developers work as part of a team, so communication and
collaboration among the team members are critical for the success of the project.

In the case of desktop IDEs, they must outsource collaboration to communication systems outside
the developer’s workflow, forcing developers to continuously switch between developing within
the IDE and communicating with their team via other means.

To solve these problems, it requires moving the entire development workspace into the cloud. The
cloud-based environment is centralized, making it easy to share. Developers can invite others into
their workspace to coedit, cobuild, or codebug and can communicate with one another in the
workspace itself.

The cloud can offer improvements in system efficiency, giving each individual workspace a
configurable slice of the available memory and computing resources.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

Advantages of Application Development in the Cloud:


Cloud platforms reduce the overall development time of a software project. This is largely due to
the cloud platform’s ability to streamline the development process, including the ability to quickly
get the development assets online. Moreover, cloud platforms provide the ability to collaborate
effectively on development efforts. Cloud-based development platforms in PaaS and IaaS public
clouds such as Google, Amazon Web Services, Microsoft, and [Link] offer cost savings
and better QoS.

Some of the benefits of the application development in the cloud are given as follows:

 The ability to self-provision development and testing environments


 The ability to quickly get applications into production and to scale those applications as
required
 The ability to collaborate with other developers, architects, and designers on the
development of the application

Cloud Application Development Platforms:


Application development, deployment, and runtime management have always been reliant on
development platforms such as Microsoft’s .NET, WebSphere, or JBoss, which have been
deployed on premise traditionally.

In the cloud computing context, applications are generally deployed by cloud. Cloud provides
the ADE as PaaS. There are several solutions available in the PaaS market, including Google App
Engine, Microsoft Windows Azure, [Link], and Manjrasoft Aneka.

Windows Azure:
Windows Azure provides a wide array of Windows-based services for developing and deploying
Windows-based applications on the cloud. It makes use of the infrastructure provided by
Microsoft to host these services and scale them seamlessly. The Windows Azure Platform
consists of SQL Azure and the .NET services.

The .NET services comprise of access control services and .NET service bus. Windows Azure is a
platform with shared multitenant hardware provided by Microsoft. Windows Azure application
development mandates the use of SQL Azure for RDBMS functionality, because that is the only
coexisting DBMS functionality accessible in the same hardware context as the applications.

Google App Engine:


Google App Engine provides an extensible runtime environment for web-based applications
developed with Java or Python, which leverage huge Google IT infrastructure. Google App
Engine is offered by Google, Inc. Its key value is that developers can rapidly build web-based
applications on their machine and deploy them on the cloud. Google App Engine provides

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.
CLOUD COMPUTING MATERIAL (UNIT -2)

developers with a simulated environment to build and test applications locally with any OS or any
system that runs a suitable version of Python and Java language environments. Google uses the
JVM with Jetty Servlet engine and Java Data Objects.

Salesforce Platform (formerly [Link]):-[Link] is a development and execution


environment and is the best approach for PaaS for developing customer relationship
management (CRM)–based applications. With regard to the design of its platform and the
runtime environment, it is based on the Java technology. The platform uses a proprietary
programming language and environment called Apex code, which has a reputation for simplicity in
learning and rapid development and execution.

Manjrasoft Aneka:Aneka is a distributed application platform for developing cloud applica-


tions. Aneka can seam together any number of Windows-based physical or virtual desktops or
servers into a network of interconnected nodes that act as a single logical application execution
layer.
Aneka-based clouds can be deployed on a variety of hardware and OSs including several
flavors of the Windows and Linux OS families. Aneka provides a flexible model for developing
distributed applications and provides integration with external clouds such as Amazon EC2 and
GoGrid. Aneka offers the possibility to select the most appropriate infrastructure deployment
without being tied to any specific vendor, thus allowing enterprises to comfortably scale to the
cloud as and when needed.

Cloud Computing APIs:


APIs are provided by some of the CSPs for the development of cloud applications. Details of some
of the APIs provided by the CSPs such as Rackspace, IBM, and Intel are given in the following.

Rackspace: Developers have access to the API documentation and software development kit
(SDK) across all of Rackspace’s services at their developer site, [Link]
Thus, Rackspace provides developers with the tools and resources necessary to create new
applications and services on top of their APIs.

IBM: IBM introduced new APIs, which can be found at the IBM developer site,
[Link]/developerworks/. The introduction of the new APIs focuses on arming developers
with the tools and resources to build new products, applications, and services.

Intel: Intel has several SDKs that aimed at cloud computing developers. Intel has a cloud
services platform beta where developers can download the SDK for identity-based and cross-
platform services. The Intel Cloud Builders program brings together leading systems and software
solutions vendors to provide the best practices and practical guidance on how to deploy, maintain,
and optimize a cloud infrastructure based on Intel architecture. And for developers seeking to
use public cloud infrastructure services, the Intel Cloud Finder makes it easier to select providers
that meet a developer’s requirements.

PREPARED BY
[Link] KUMAR ([Link])
VEC-KHAMMAM.

You might also like