0% found this document useful (0 votes)
6 views10 pages

Lecture 4

Uploaded by

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

Lecture 4

Uploaded by

Chhotu Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Service-oriented computing

Service orientation is the core reference model for cloud computing


systems.
This approach adopts the concept of services as the main building blocks of
application and system development.
Service-oriented computing (SOC) supports the development of rapid, low-
cost, flexible, interoperable, and evolvable applications and systems.
A service is supposed to be loosely coupled, reusable, programming
language independent, and location transparent.
Loose coupling allows services to serve different scenarios more easily and
makes them reusable.
Quality of service (QoS)
Service-oriented computing introduces and diffuses two important
concepts, which are also fundamental to cloud computing: quality of
service (QoS) and Software-as-a-Service (SaaS).
Quality of service (QoS) identifies a set of functional and nonfunctional
attributes that can be used to evaluate the behavior of a service from
different perspectives.
These could be performance metrics such as response time, or security
attributes, transactional integrity, reliability, scalability, and availability.
QoS requirements are established between the client and the provider via
an SLA that identifies the minimum values (or an acceptable range) for the
QoS attributes that need to be satisfied upon the service call.
Software-as-a-Service
The concept of Software-as-a-Service introduces a new delivery model for
applications.
The term has been inherited from the world of application service providers (ASPs),
which deliver software services-based solutions across the wide area network from
a central data center and make them available on a subscription or rental basis.
 The ASP is responsible for maintaining the infrastructure and making available the
application, and the client is freed from maintenance costs and difficult upgrades.
This software delivery model is possible because economies of scale are reached
utilizing multitenancy.
The SaaS approach reaches its full development with service-oriented computing
(SOC), where loosely coupled software components can be exposed and priced
singularly, rather than entire applications.
Utility-oriented computing
Utility computing is a vision of computing that defines a service-
provisioning model for compute services in which resources such as
storage, compute power, applications, and infrastructure are
packaged and offered on a pay-per-use basis.
The idea of providing computing as a utility like natural gas, water,
power, and telephone connection has a long history but has become a
reality today with the advent of cloud computing.
Computing platforms and
technologies
Amazon web services (AWS)
Google AppEngine
Microsoft Azure
Hadoop
Force.com and Salesforce.com
Manjrasoft Aneka
Amazon web services (AWS)
AWS offers comprehensive cloud IaaS services ranging from virtual
computing, storage, and networking to complete computing stacks.
AWS is mostly known for its compute and storage-on-demand services,
namely Elastic Compute Cloud (EC2) and Simple Storage Service (S3).
EC2 provides users with customizable virtual hardware that can be used as
the base infrastructure for deploying computing systems on the cloud.
It is possible to choose from a large variety of virtual hardware
configurations, including GPU and cluster instances.
EC2 instances are deployed either by using the AWS console, which is a
comprehensive Web portal for accessing AWS services, or by using the Web
services API available for several programming languages.
Amazon web services (AWS)
EC2 also provides the capability to save a specific running instance as an
image, thus allowing users to create their templates for deploying systems.
These templates are stored in S3 which delivers persistent storage on
demand.
S3 is organized into buckets; these are containers of objects that are stored
in binary form and can be enriched with attributes.
Users can store objects of any size, from simple files to entire disk images,
and have them accessible from everywhere.
Besides EC2 and S3, a wide range of services can be leveraged to build
virtual computing systems. including networking support, caching systems,
DNS, database (relational and not) support, and others
Google AppEngine
Google AppEngine is a scalable runtime environment mostly devoted to executing Web applications.
These take advantage of the large computing infrastructure of Google to dynamically scale as the demand
varies over time.
AppEngine provides both a secure execution environment and a collection of services that simplify the
development of scalable and high-performance Web applications.
These services include in-memory caching, scalable data storage, job queues, messaging, and cron tasks.
 Developers can build and test applications on their own machines using the AppEngine software
development kit (SDK), which replicates the production runtime environment and helps test and profile
applications.
Once development is complete, developers can easily migrate their application to AppEngine, set quotas
to contain the costs generated, and make the application available to the world. The languages currently
supported are Python, Java, and Go.
Go (also known as Golang) is indeed a programming language. It was developed by Google engineers
and has gained popularity for its simplicity, efficiency, and strong support for concurrency.
Microsoft Azure
Microsoft Azure is a cloud operating system and a platform for developing applications in the cloud. It
provides a scalable runtime environment for Web applications and distributed applications in
general.
 Applications in Azure are organized around the concept of roles, which identify a distribution unit for
applications and embody the application’s logic. Currently, there are three types of roles: Web role,
worker role, and virtual machine role.
The Web role is designed to host a Web application, the worker role is a more generic container of
applications and can be used to perform workload processing, and the virtual machine role provides
a virtual environment in which the computing stack can be fully customized, including the operating
systems.
Besides roles, Azure provides a set of additional services that complement application execution,
such as support for storage (relational data and blobs), networking, caching, content delivery, and
others.
Hadoop
Apache Hadoop is an open-source framework that is suited for processing large data sets on commodity
hardware.
Hadoop is an implementation of MapReduce, an application programming model developed by Google,
which provides two fundamental operations for data processing: map and reduce.
The former transforms and synthesizes the input data provided by the user; the latter aggregates the
output obtained by the map operations.
Hadoop provides the runtime environment, and developers need only provide the input data and
specify the map, and reduce functions that need to be executed.
Yahoo!, the sponsor of the Apache Hadoop project, has put considerable effort into transforming the
project into an enterprise-ready cloud computing platform for data processing.
Hadoop is an integral part of the Yahoo! cloud infrastructure and supports several business processes of
the company.
Currently, Yahoo! manages the largest Hadoop cluster in the world, which is also available to academic
institutions.

You might also like