Chapter 3.2
Chapter 3.2
Contents
1. Cloud Services Models &
Features: SaaS
2. PaaS
3. IaaS
4. UcaaS/FaaS
5. Service oriented architecture
and web services
6. Features of cloud computing
architectures
3
Cloud Computing & Distributed Systems
UNIT 2
CLOUD INFRASTRUCTURE AND SERVICES
CHAPTER 3
CLOUD SERVICE MODELS
4
Service Oriented Architecture (CO-3)
Service-Oriented Architecture (SOA) is a stage in the evolution of application development and/or
integration. It defines a way to make software components reusable using the interfaces.
Formally, SOA is an architectural approach in which applications make use of services available in the
network. In this architecture, services are provided to form applications, through a network call over
the internet. It uses common communication standards to speed up and streamline the service
integrations in applications. Each service in SOA is a complete business function in itself. The services
are published in such a way that it makes it easy for the developers to assemble their apps using
those services. Note that SOA is different from microservice architecture.
SOA allows users to combine a large number of facilities from existing services to form applications.
SOA encompasses a set of design principles that structure system development and provide means
for integrating components into a coherent and decentralized system.
SOA-based computing packages functionalities into a set of interoperable services, which can be
integrated into different software systems belonging to separate business domains.
5
6
The different characteristics of SOA are as follows :
o Provides interoperability between the services.
o Provides methods for service encapsulation, service discovery, service composition,
service reusability and service integration.
o Facilitates QoS (Quality of Services) through service contract based on Service Level
Agreement (SLA).
o Provides loosely couples services.
o Provides location transparency with better scalability and availability.
o Ease of maintenance with reduced cost of application development and
deployment.
1. Service provider: The service provider is the maintainer of the service and the organization
that makes available one or more services for others to use. To advertise services, the provider
can publish them in a registry, together with a service contract that specifies the nature of the
service, how to use it, the requirements for the service, and the fees charged.
2. Service consumer: The service consumer can locate the service metadata in the registry and
develop the required client components to bind and use the service. 7
Services might aggregate information and data retrieved from other services or create workflows of
services to satisfy the request of a given service consumer. This practice is known as service
orchestration Another important interaction pattern is service choreography, which is the
coordinated interaction of services without a single point of control.
8
Components of SoA
9
Guiding Principles of SOA:
1. Standardized service contract: Specified through one or more service description documents.
Loose coupling: Services are designed as self-contained components, maintain relationships that
minimize dependencies on other services.
2. Abstraction: A service is completely defined by service contracts and description documents. They
hide their logic, which is encapsulated within their implementation.
3. Reusability: Designed as components, services can be reused more effectively, thus reducing
development time and the associated costs.
4. Autonomy: Services have control over the logic they encapsulate and, from a service consumer point
of view, there is no need to know about their implementation.
5. Discoverability: Services are defined by description documents that constitute supplemental
metadata through which they can be effectively discovered. Service discovery provides an effective
means for utilizing third-party resources.
6. Composability: Using services as building blocks, sophisticated and complex operations can be
implemented. Service orchestration and choreography provide a solid support for composing services
and achieving business goals.
10
Advantages of SOA:
1. Service reusability: In SOA, applications are made from existing services. Thus, services can be reused to make
many applications.
2. Easy maintenance: As services are independent of each other they can be updated and modified easily without
affecting other services.
3. Platform independent: SOA allows making a complex application by combining services picked from different
sources, independent of the platform.
4. Availability: SOA facilities are easily available to anyone on request.
5. Reliability: SOA applications are more reliable because it is easy to debug small services rather than huge codes
6. Scalability: Services can run on different servers within an environment, this increases scalability
Disadvantages of SOA:
1.High overhead: A validation of input parameters of services is done whenever services interact this decreases
performance as it increases load and response time.
2. High investment: A huge initial investment is required for SOA.
3. Complex service management: When services interact they exchange messages to tasks. the number of messages
may go in millions. It becomes a c umbersome task to handle a large number of messages.
Practical applications of SOA: SOA is used in many ways around us whether it is mentioned or not.
1.SOA infrastructure is used by many armies and air forces to deploy situational awareness systems.
2.SOA is used to improve healthcare delivery.
3. Nowadays many apps are games and they use inbuilt functions to run. For example, an app might need GPS so it
uses the inbuilt GPS functions of the device. This is SOA in mobile solutions.
4. SOA helps maintain museums a virtualized storage pool for their information and content.
11
12
Web Services (CO-3)
The Internet is the worldwide connectivity of hundreds of thousands of computers belonging to many different
networks.
A web service is a standardized method for propagating messages between client and server applications on the World
Wide Web. A web service is a software module that aims to accomplish a specific set of tasks. Web services can be
found and implemented over a network in cloud computing.
The web service would be able to provide the functionality to the client that invoked the web service.
A web service is a set of open protocols and standards that allow data exchange between different applications or
systems. Web services can be used by software programs written in different programming languages and on different
platforms to exchange data through computer networks such as the Internet. In the same way, communication on a
computer can be inter-processed.
Any software, application, or cloud technology that uses a standardized Web protocol (HTTP or HTTPS) to connect,
interoperate, and exchange data messages over the Internet-usually XML (Extensible Markup Language) is considered a Web
service. Is.
Web services allow programs developed in different languages to be connected between a client and a server by exchanging
data over a web service. A client invokes a web service by submitting an XML request, to which the service responds with an
XML response.
13
Web Service Components
XML and HTTP is the most fundamental web service platform. All typical web services use the following components:
1. SOAP (Simple Object Access Protocol)
SOAP stands for "Simple Object Access Protocol". It is a transport-independent messaging protocol. SOAP is built on sending XML
data in the form of SOAP messages. A document known as an XML document is attached to each message.
Only the structure of an XML document, not the content, follows a pattern. The great thing about web services and SOAP is that
everything is sent through HTTP, the standard web protocol.
Every SOAP document requires a root element known as an element. In an XML document, the root element is the first element.
The "envelope" is divided into two halves. The header comes first, followed by the body. Routing data, or information that directs
the XML document to which client it should be sent, is contained in the header. The real message will be in the body.
The data exchanged between the client and the server, XML, is the most important part of web service design. XML
(Extensible Markup Language) is a simple, intermediate language understood by various programming languages. It
is the equivalent of HTML.
As a result, when programs communicate with each other, they use XML. It forms a common platform for
applications written in different programming languages to communicate with each other.
Web services employ SOAP (Simple Object Access Protocol) to transmit XML data between applications. The data is
sent using standard HTTP. A SOAP message is data sent from a web service to an application. An XML document is
all that is contained in a SOAP message. The client application that calls the web service can be built in any
programming language as the content is written in XML.
16
Features of Web Service
(a) XML-based: A web service's information representation and record transport layers employ XML. There is no need for
networking, operating system, or platform bindings when using XML. At the mid-level, web offering-based applications are highly
interactive.
(b) Loosely Coupled: The subscriber of an Internet service provider may not necessarily be directly connected to that service
provider. The user interface for a web service provider may change over time without affecting the user's ability to interact with the
service provider. A strongly coupled system means that the decisions of the mentor and the server are inextricably linked, indicating
that if one interface changes, the other must be updated.
A loosely connected architecture makes software systems more manageable and easier to integrate between different structures.
(c) Ability to be synchronous or asynchronous: Synchronicity refers to the client's connection to the execution of the function.
Asynchronous operations allow the client to initiate a task and continue with other tasks. The client is blocked, and the client must
wait for the service to complete its operation before continuing in synchronous invocation. Asynchronous clients get their results
later, but synchronous clients get their effect immediately when the service is complete. The ability to enable loosely connected
systems requires asynchronous capabilities.
(d) Coarse Grain: Object-oriented systems, such as Java, make their services available differently. At the corporate level, an operation
is too great for a character technique to be useful. Building a Java application from the ground up requires the development of
several granular strategies, which are then combined into a coarse grain provider that is consumed by the buyer or service.
Corporations should be coarse-grained, as should the interfaces they expose. Building web services is an easy way to define coarse-
grained services that have access to substantial business enterprise logic.
(e) Supports remote procedural calls: Consumers can use XML-based protocols to call procedures, functions, and methods on
remote objects that use web services. A web service must support the input and output framework of the remote system.
Enterprise-wide component development Over the years, JavaBeans (EJBs) and .NET components have become more prevalent in
architectural and enterprise deployments. Several RPC techniques are used to both allocate and access them. A web function can
support RPC by providing its services, similar to a traditional role, or translating incoming invocations into an EJB or .NET component
invocation.
(f) Supports document exchanges: One of the most attractive features of XML for communicating with data and complex entities.
17
Summary
Cloud computing service models can be summarized into three main categories: Infrastructure as
a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides
virtualized computing resources, including virtual machines, storage, and networking, giving
users maximum control over their infrastructure. PaaS simplifies application development by
offering a platform with development tools, middleware, and database management, allowing
users to focus on coding while the platform manages the underlying infrastructure. SaaS delivers
software applications over the internet on a subscription basis, eliminating the need for local
installations and allowing users to access applications through web browsers. The choice among
these service models depends on factors such as control requirements, development needs, and
the level of responsibility users want to delegate to the cloud service provider.
18
QUIZ
2. In which cloud service model is the underlying infrastructure managed by the cloud provider, allowing users to focus on application development?
a. IaaS b. PaaS c. SaaS d. FaaS
3. Which service model is characterized by delivering software applications over the internet on a subscription basis?
a. IaaS b. PaaS c. SaaS d. FaaS
6. Which cloud service model provides virtualized computing resources, including virtual machines, storage, and networking?
a. IaaS b. PaaS c. SaaS d. FaaS
7. Which service model allows users to run individual functions in response to events without managing the underlying infrastructure?
a. IaaS b. PaaS c. SaaS d. FaaS
19
REFERENCES
TEXT BOOKS
1. Cloud Computing: A Practical Approach by Toby Velte, Anthony Velte, Robert C. Elsenpeter, McGraw Hill Professional, 22 Oct 2009
2. Buyya, Rajkumar, James Broberg, and Andrzej M. Goscinski, eds. Cloud computing: Principles and paradigms. Vol. 87. John Wiley & Sons, 2010.
3. Miller, Michael. Cloud computing: Web-based applications that change the way you work and collaborate online. Que publishing, 2008.
4. Hurwitz, Judith S., et al. Cloud computing for dummies. John Wiley & Sons, 2010.
5. Kris Jamsa. Cloud Computing: SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile, Security and more, Jones &Bartlet Learning Company LC, 20012
REFRENCE BOOKS
1. G. Pfister. In Search of Clusters. Prentice Hall PTR, NJ, 2nd Edition, NJ, 1998.
2. Cloud Computing: Implementation, Management, and Security, by John Rittinghouse and James F.Ransome, CRC Press Taylor and Francis Group
3. Joshy Joseph and Craig Fellenstein, Grid Computing, Person Edition, (2004).
4. Maozhen Li, Mark Baker, “The Grid Core Technologies”, John Wiley & Sons (2005).
5. Cloud Computing: A Practical Approach for Learning and Implementation Paperback – 1 January 2014 by Srinivasan, Pearson Education
Video Links
https://www.youtube.com/watch?v=A3FPxuKlnkU&list=PLFW6lRTa1g82dte3YD_7-GoZXcBiK6K9G
Web Links
1. https://www.geeksforgeeks.org/what-is-a-distributed-system/
2. https://www.geeksforgeeks.org/difference-between-cloud-computing-and-distributed-computing/
3. https://www.ibm.com/topics/distributed-cloud
4. https://www.geeksforgeeks.org/cloud-computing/
5. https://learn.rumie.org/jR/bytes/learn-the-basics-of-cloud-computing-in-3-minutes/?
utm_source=bing&utm_medium=cpc&utm_campaign=RumieLearn-Bytes%20%28non-NA%29&utm_term=cloud%20computing&utm_content=TS 20
%20-%20Computing%20In%20Cloud%20Computing
THANK YOU