UNIT II
UNIT II
• Cloud computing architectures consist of front-end platforms called clients or cloud clients.
• These clients comprise servers, fat (or thick) clients, thin clients, zero clients, tablets and
mobile devices.
• These client platforms interact with the cloud data storage via an application (middleware),
via a web browser, or through a virtual session.
• The zero or ultra-thin client initializes the network to gather required configuration files that
then tell it where its OS binaries are stored.
• The entire zero client device runs via the network. This creates a single point of failure, in
that, if the network goes down, the device is rendered useless.
• Examples: Web browsers,
• An online network storage where data is stored and accessible to multiple clients.
• Cloud storage is generally deployed in the following configurations: public cloud,
private cloud, community cloud, or some combination of the three also known as
hybrid cloud.
• In order to be effective, the cloud storage needs to be agile, flexible, scalable, multi-tenancy,
and secure.
• Cloud based delivery- Iaas, Saas or Paas
• A typical zero client product is a small box that serves to connect a keyboard,
mouse, monitor andEthernet connection to a remote server.
• The server, which hosts the client's operating system (OS) and software
applications, can be accessed wirelessly or with cable.
• Zero clients are often used in a virtual desktop infrastructure (VDI)
environment.
• Benefits of Thin Clients:
• Power usage can be as low as 1/50th of fat client requirements.
• Devices are much less expensive than PCs or thin clients.
• Efficient and secure means of delivering applications to end users.
• No software at the client means that there is no vulnerability to malware.
• Easy administration.
• In a VDI environment, administrators can reduce the number of physical PCs or blades
and run multiple virtual PCs on server class hardware.
• Vendors of zero client products include Digi International, Pano Logic Inc., Teradici,
Via Labs and Wyse Technology.
Generally, the cloud network layer should offer:
•High bandwidth (low latency)
Allowing users to have uninterrupted access to their data and applications.
•Agile network
On-demand access to resources requires the ability to move quickly and efficiently between
servers and possibly even clouds.
•Network security
Security is always important, but when you are dealing with multi-tenancy, it becomes much more
important because you're dealing with segregating multiple customers.
Exploring the Cloud Computing
Stack
• Based on distributed network applications on the Internet.
• N-tiered Internet application coupling software and hardware to
provide on-demand service.
• Two architectural layers:
A client as a front end, The “cloud” as a backend
• Provides encapsulated information controlled using API’s
• A cloud architecture can be created using an infrastructure or
outsourced to a datacentre.
• Mostly uses virtualized resources which are easier to modify and
optimize.
Composability
• Assembling of resources or components
• A composable component must be:
• Modular: It is a self-contained and independent unit that is cooperative,
reusable, and replaceable.
• Stateless: A transaction is executed without regard to other transactions or
requests.
• Modular storage take advantage of the movement toward network storage
through consolidation, scalability, performance, availability and a better
return on investment.
• Currently EMC's Symmetrix, IBM's Enterprise Storage Server (Shark),
StorageTek's SVA, and Hitachi Data Systems' Lightning Series provide this large
form-factor storage system capable of attaching to mainframes, as well as
open systems server environments.
• Portable and interoperable solutions easier to implement by the
composable design of software and hardware.
• But most of the cloud computing solutions follow non std versions.-
incorporate cloud computing stack.
• Vendors such as Amazon Web Services, GoGrid, or Rackspace, it
makes no sense to offer non-standard machine instances to
customers, because those customers are almost certainly deploying
applications built on standard operating systems such as Linux,
Windows, Solaris, or some other well-known operating system.
• Vendors such as Windows Azure or Google AppEngine may narrow
the definition of standard parts to standard parts that work with their
own platforms- only to provide modularity.
• Highest degree of integration in cloud computing, which is SaaS
(Software as a Service), the notion of composability for users may
completely disappear.
• An SaaS vendor such as Quicken.com or Salesforce.com is delivering
an application as a service to a customer but not as a composable
service rather a custom application.
• Few benefits of composable systems:
• Easier to assemble systems
• Cheaper system development
• More reliable operation
• A larger pool of qualified developers
• A logical/reasonable design methodology
Infrastructure
• Virtual servers described in terms of a machine image or instance have
characteristics that often can be described in terms of real servers delivering a
certain number of microprocessor (CPU) cycles, memory access, and network
bandwidth to customers.
• Virtual machines are containers that are assigned specific resources.
• The software that runs in the virtual machines is what defines the utility of the
cloud computing system.
• Eg: IaaS uses virtual machine technology to run applications on servers like
citrixen or vmware or IBM hypervisors.
• Figure 3.1 shows the portion of the cloud computing stack that is defined as the
“server.” In the diagram, the API is shown shaded in gray because it is an optional
component that isn't always delivered with the server.
• The VMM component is the Virtual Machine Monitor, also called a hypervisor.
• This is the low-level software that allows different operating systems to run in
their own memory space and manages I/O for the virtual machines.
Platforms
• A platform in the cloud is a software layer that is used to create higher
levels of service.
• Examples:
• Salesforce.com's Force.com Platform
• Windows Azure Platform
• Google Apps and the Google AppEngine
• These three services offer all the hosted hardware and software
needed to build and deploy Web applications or services that are
custom built by the developer within the context and range of
capabilities that the platform allows.
• Platforms represent nearly the full cloud software stack, missing
only the presentation layer that represents the user interface
• Constructed from components and services and controlled through
the API that the platform provider publishes.
• Google App Engine (often referred to as GAE or simply App Engine) is a
platform as a service (PaaS) cloud computing platform for developing and
hosting web applications in Google-managed data centers.
• Applications are sandboxed and run across multiple servers.
• App Engine offers automatic scaling for web applications—as the
number of requests increases for an application, App Engine
automatically allocates more resources for the web application to handle
the additional demand.
• Google App Engine is free up to a certain level of consumed resources.
• Fees are charged for additional storage, bandwidth, or instance hours
required by the application.
• It was first released as a preview version in April 2008 and came out of
preview in September 2011.
• Platforms represent nearly the full cloud software stack, missing only
the presentation layer that represents the user interface.
• This is the same portion of the cloud computing stack that is a virtual
appliance and is shown in Figure 3.2.
• What separates a platform from a virtual appliance is that the
software that is installed is constructed from components and
services and controlled through the API that the platform provider
publishes.
• A virtual appliance is software that installs as middleware onto a
virtual machine.
A virtual appliance is software that installs as
middleware onto a virtual machine- a platform
• Data contract is a formal agreement between service and a client that abstracts the
definition of data to be exchanged.
• During service call- a service consumer invokes the operations specified in a service
contract and exchanges data as per the data contract
• GST –service contract
• Online transaction- net banking uses billing info very securely- data contract
• Enterprise Service Bus –takes care of transformation of
functions and routing between service providers and consumers.
• Web services are SOAP (XML over HTTP which is machine readable)
and RESTful (JSON/XML/XHTML over HTTP which is human readable)
• Technology:
• Application modernization
• Technology change management
• Integration and interoperability for heterogeneous applications
• Support by product vendors
Dimensions of SOA
• Additional dimensions:
• Governance – define policies that services need to adhere to at design/runtime.
• Message passing in SOA requires the use of two different protocol types:
• the data interchange format
• and the network protocol that carries the message.
• A client (or customer) connected to an ESB communicates over a network
protocol such as HTTP, Representational State Transfer (REST), or Java Message
Service (JMS) to a component (or service).
• Messages are most often in the form of the eXtensible Markup Language (XML)
or in a variant such as the Simple Object Access Protocol (SOAP) or JSON.
• SOAP is a messaging format used in Web services that use XML as the message
format while relying on Application layer protocols such as HTTP and Remote
Procedure Calls (RPC) for message negotiation and transmission
• The software used to write clients and components can be written in
Java, .NET, Web Service Business Process Execution Language (WS-BPEL), or
another form of executable code; the services that they message can be written
in the same or another language.
• What is required is the ability to transport and translate a message into a form that
both parties can understand.
• An ESB may require a variety of combinations in order to support communications
between a service consumer and a service provider.
• For example, in WebSphere ESB, you might see the following combinations:
• XML/JMS (Java Message Service)
• SOAP/JMS
• SOAP/HTTP
• Text/JMS
• Bytes/JMS
WSDL
• The Web Service Description Language (WSDL) is one of the most commonly
used XML protocols for messaging in Web services.
• Version 1.1 of WSDL is a W3C standard, but the current version WSDL 2.0
(formerly version 1.2) has yet to be ratified by the W3C.
• The significant difference between 1.1 and 2.0 is that version 2.0 has more support
for RESTful (e.g. Web 2.0) application, but much less support in the current set of
software development tools.
• The most common transport for WSDL is SOAP, and the WSDL file usually
contains both XML data and an XML schema.
REST
• REST offers some very different capabilities than SOAP.
• With REST, each URL is an object that you can query and manipulate.
• You use HTTP commands such as GET, POST, PUT, and DELETE to work with
REST objects.
• SOAP uses a different approach to working with Web data, exposing Web objects
through an API and transferring data using XML.
• The REST approach offers lightweight access using standard HTTP command, is
easier to implement than SOAP, and comes with less overhead.
• SOAP is often more precise and provides a more error-free consumption model.
• SOAP often comes with more sophisticated development tools.
• All major Web services use REST, but many Web services, especially newer ones,
combine REST with SOAP to derive the benefits that both offer.
Managing and Monitoring SOA
• For large SOA deployments
• Tools for managing SOAs tend to be multifaceted and run constantly.
SOA management tools:
• HP Software and Solutions OpenView SOA Manager
• (https://h10078.www1 hp.com/cda/hpms/display/main/hpms content.jsp?zn=bto&cp=1-10^36657
4000 100)- provides dynamic mapping, monitoring, and optimization of SOA services such as Web
services, software assets, and virtual services
• IBM Tivoli Framework Composite Application Manager for SOA (ITCAM; see
• http://www-01.ibm.com/software/tivoli/solutions/)- specializes in change management and SOA
lifecycle development, and it integrates with a WebSphere and others.
• Oracle BPEL Process Manager (http://www.oracle.com/technology/bpel/index html)- process
managers for creating an Enterprise Service Bus.
SOA security
• Network traffic is hijacked, spoofed, redirected, or blocked.
• No Application boundaries in SoA
• To address these issues products in the market are:
• Cisco has a family of products that enforce rules and policies for the transmission
of XML messaging that they have named Application Oriented Networking
(AON; http://www.cisco.com/en/US/products/ps6480/).
• A similar policy-based XML security service may be found in Citrix's NetScaler
9.0 (http://www.citrix.com/English/ps2/products/product.asp?contentID=21679)
Web application delivery appliance.
• To address SOA security, a set of OASIS standards (http://www.oasis-open.org/committees/tc home.php?wg
abbrev=security) was created, which includes the following:
• Security Assertion Markup Language (SAML) is an XML standard that provides for data authentication and
authorization between client and service. The SAML technology is used as part of Single Sign-on Systems
(SSO) and allows a user logging into a system from a Web browser to have access to distributed SOA resources.
• WS-Security (WSS) is an extension of SOA that enforces security by applying tokens such as Kerberos,
SAML, or X.509 to messages. Through the use of XML Signature and XML Encryption, WSS aims to offer
client/service security.
• WS-SecureConversion is a Web services protocol for creating and sharing security context. WS-
SecureConversion is meant to operate in systems where WS-Security, WS-Trust, and WS-Policy are in use, and
it attaches a security context token to communications such as SOAP used to transport messages in an SOA
enterprise.
• WS-SecurityPolicy provides a set of network policies that extend WS-Security, WS-Trust, and WS-
SecureConversion so messages complying to a policy must be signed and encrypted. The SecurityPolicy is part
of a general WS-Policy framework.
• WS-Trust extends WS-Security to provide a mechanism to issue, renew, and validate security tokens. A Web
service using WS-Trust can implement this system through the use of a SecurityToken Service (STS), a
mechanism for attaching security tokens to messages and a set of mechanisms for key exchanges that are used
to validate tokens and messages.
The Open Cloud Consortium
• The Open Cloud Consortium (OCC; see http://opencloudconsortium.org/) is an organization
comprised of several universities and interested companies that supports the development of
standards for cloud computing and for interoperating with the various frameworks.
Functions of OCC:
• They develop benchmarks for measuring cloud computing performance
• They provide testbeds that vendors can use to test their applications, including the Open Cloud
Testbed and the Intercloud Testbed that are part of the work of the Open Cloud Testbed and
Intercloud working groups
• They support the development of open-source reference implementations for cloud computing.
For Large Data Clouds extends the architecture for data storage with a distributed file system,
table services, and computing using MapReduce following the model that is part of Google's
offering.
• Eg: MapReduce, Apache Hadoop
Relating SOA and Cloud Computing
• Applications of big scale types have less of a need for the flexibility and loose coupling
that SOA provides.
• As cloud applications become more diverse in scope; SOA offers an architectural
blueprint for accessing diverse optimized services through a loosely coupled
standardized method.
• SOA is loosely coupled because the service is separated from the messaging.
• SOA components are often best-of-breed service providers that can provide a measured
service level and can play a role in Business Process Management (BPM) systems. The
separation of services from their design allows for much easier system upgrades and
maintenance.
• Many Web 2.0 applications use SOA components, and SOA will become increasingly
useful in larger applications that require many Web services. Eg: REST and AJAX.
• A mashup is the combination of data from two or more sources that creates a unique
service. The layers added to Google maps are examples of mashups.
• SoA- Inetrnet of Services (IoS)
• UNIT –II completed