DCC Module3
DCC Module3
Introduction
Roots of Cloud Computing: From Mainframes to Cloud
Benefits of Cloud Computing SOA
Web services
Role of Networks in Cloud Computing:
Cloud types and service models
Primary Cloud Service models
Cloud Services brokerage
Primary cloud deployment models
cloud computing reference model
The greenfield and brownfield deployment options
SLAs
UNIT - III
Resource provisioning with minimal service provider interaction.
4
Computer Network
Storage (Database)
SERvers
Here we explore how the cloud has grown from mainframe to application service
providers (ASPs), and how it works.
Primary Terminologies
Mainframe Era: The Mainframe Era was famous in the 1950s–1970s times. and it was a
large central computer that was used by many users through terminals.
Application Service Providers (ASPs): It's like early versions of cloud services that
provide applications or services that you could use through the internet.
Service Provider
Service Consumers can locate entries in the broker registry through different
find operations for binding them to the service provider to invoke one of the
services. It develops the needed component for clients to bind and use the
services.
Services might associate data and information gathered from other services
or build service workflows to fulfill the need of the consumer, which is known
as service orchestration. Another essential pattern of interaction of services
is service choreography that controls the coordinated service interactions
without any certain point of control.
Advantages of SOA
1. Reliability
With small and independent services in the SOA, it becomes easier to test and
debug the applications instead of debugging the massive code chunks,
which makes the service-oriented architecture highly reliable.
2. Location Independence
Services are located through the service registry and can be accessed through
Uniform Resource Locator (URL), therefore they can change their location
over time without interrupting consumer experience on the system while
making SOA location independent.
3. Scalability
As SOA enables services to run across multiple platforms, programming
languages and services, that is, services of the service-oriented architecture
operate on different servers within an environment, which increases its
scalability.
4. Platform Independence
Service-Oriented Architecture permits the development of the complex
application by integrating different services opted from different sources that
make it independent of the platform.
5. Loosely Coupled
The loose coupling concept in SOA is inspired by the object-oriented design
paradigm, that reduces coupling between classes to cherish an environment
where classes can be changed without breaking the existing relationship.
SOA highly encourages the development of independent services to
enhance the efficiency of the software application.
6. Reusability
An application based on SOA is developed by accumulating small,
self-contained and loosely coupled functionality services. It allows the
reusability of the services in multiple applications independently without
interacting with other services.
7. Agility
The capability of gathering applications from reusable components or services,
instead of rewriting and reintegrating each new development project
helps developers to design an application rapidly in response to the new
business requirements which in return increases the agility of SOA.
8. Easy Maintenance
If you are looking for web application development services then you can
contact us for quick consultation and quotes.
What is a Web Service?
W3C
◻ Web Services can convert your application into a Web-application, which can
publish its function or message to the rest of the world. Web services allow
different applications from different sources to communicate with each other without
time-consuming custom coding, and because all communication is in XML, Web
services are not tied to any one operating system or programming language
◻ For example , Java can talk with Perl, Windows applications can talk with UNIX
applications . Unlike traditional client/server models, such as a Web server/Web page
system, Web services do not provide the user with a GUI. Web services instead
share business logic, data and processes through a programmatic interface
across a network.
Utility Computing and Grid Computing
•Utility computing is the packaging of computing resources, such as
computation, storage and services, as a metered service. This model has the
advantage of a low or no initial cost to acquire computer resources; instead,
computational resources are essentially rented.
•Most production grids such as TeraGrid and EGEE seek to share compute and
storage resources distributed across different
administrative domains, with their main focus being speeding up a broad
range of scientific applications, such as climate modeling, drug design, and
protein analysis.
Role of Networks in Cloud Computing
The network plays a key role in the delivery of cloud-based services as it
provides a means to connect every IT system and has the ability to provision
and scale these resources to meet application and end-user requirements.
It also is one of strategic element used for management of security objectives
in the cloud as it:
Rapid Elasticity
•Provisioned or released as per on – demand.
•Make sure of exact capacity , an application demands.
•Scalability
Measured Service
Customization
Multitenancy
Single instance of resource giving access to multiple organization (tenants).
Virtualized access.
Virtualization uses software that simulates hardware functionality to create a virtual system.
This practice allows IT organizations to operate multiple operating systems, more than one
virtual system and various applications on a single server. The benefits of virtualization
include greater efficiencies and economies of scale.
Cloud Characteristics -Advanced Features
• Virtualization Support.
• Self-Service, On-Demand Resource Provisioning
• Multiple Backend Hypervisors.
(A hypervisor, also known as a virtual machine monitor or VMM, is software that creates and runs virtual machines (VMs).)
• Storage Virtualization.
• Interface to Public Clouds.
• Virtual Networking.
• Dynamic Resource Allocation.
• Virtual Clusters.
• Reservation and Negotiation Mechanism.
• High Availability and Data Recovery.
Resource Pooling
◻In this the provider’s application are running on the cloud infrastructure.
◻The application are accessible from various client devices through a thin
client interface such as a web browser.
4.Easy to use
•Data Availability
•Governance & billing Management
•Need of good connectivity
•Synchronization of client & vendor migration(vendor lock-in)
PaaS(Platform as a Service)
•Web appl envi, os instances, database, middlewares.
•Only deploy code : The consumer does not manage or control the underlying cloud
infrastructure, including network, servers, operating systems, or storage, but has
control over the deployed applications and possibly application hosting
environment configurations.
•Google App Engine, Microsoft Azure, and Force.com are foremost examples
of platform as a service.
Benefits of PaaS
•Enables developer to focus on appl code & business logic
•Natural fit for development, testing & production
environments
•Take Less time
•Scalable without delay
•Eliminate the complexities of h/w & s/w dependencies
Challenges of PaaS
•Risk of vendor lock-in
•Interoperability & connectivity with existing on-premises application
•The consumer does not manage or control the underlying cloud infrastructure but
has control over operating systems, deployed applications, and possibly limited
control of select networking components for example host firewalls.
•Examples :Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google
Compute Engine (GCE), Joyent
Benefits of IaaS
•Migration of data
•Need of good connectivity
•Vendor reliability & security risk
•Difficult to make a gateway for integrating in-premise , firewall
protected appl with appl on public cloud.
Advantages of XaaS:
Scalability: XaaS solutions can be easily scaled up or down to meet the changing needs of an
organization.
Flexibility: XaaS solutions can be used to provide a wide range of services, such as storage,
databases, networking, and software, which can be customized to meet the specific needs of an
organization.
Cost-effectiveness: XaaS solutions can be more cost-effective than traditional on-premises
solutions, as organizations only pay for the services.
Disadvantages of XaaS:
Dependence on the provider: Users are dependent on the XaaS provider for the availability,
scalability, and reliability of the service, which can be a risk if the provider experiences outages or
other issues.
Limited flexibility: XaaS solutions may not be able to accommodate certain types of workloads or
applications, which can limit the value of the solution for certain organizations.
Limited integration: XaaS solutions may not be able to integrate with existing systems and data
sources, which can limit the value of the solution for certain organizations.
Function as a Service :
FaaS is a type of cloud computing service. It provides a platform for its users or customers to
develop, compute, run and deploy the code or entire application as functions. It allows the user
to entirely develop the code and update it at any time without worrying about the maintenance
of the underlying infrastructure. The developed code can be executed with response to the
specific event. It is also as same as PaaS.
FaaS is an event-driven execution model. It is implemented in the serverless container. When the
application is developed completely, the user will now trigger the event to execute the code.
Now, the triggered event makes response and activates the servers to execute it. The servers are
nothing but the Linux servers or any other servers which is managed by the vendor completely.
Customer does not have clue about any servers which is why they do not need to maintain the
server hence it is serverless architecture.
Both PaaS and FaaS are providing the same functionality but there is still some differentiation in
terms of Scalability and Cost.
FaaS, provides auto-scaling up and scaling down depending upon the demand. PaaS also
provides scalability but here users have to configure the scaling parameter depending upon the
demand.
In FaaS, users only have to pay for the number of execution time happened. In PaaS, users have
to pay for the amount based on pay-as-you-go price regardless of how much or less they use.
Advantages of FaaS :
•Highly Scalable: Auto scaling is done by the provider depending upon the
demand.
•Cost-Effective: Pay only for the number of events executed.
•Code Simplification: FaaS allows the users to upload the entire
application all at once. It allows you to write code for independent
functions or similar to those functions.
•Maintenance of code is enough and no need to worry about the servers.
•Functions can be written in any programming language.
•Less control over the system.
Cold start latency: Since FaaS functions are event-triggered, the first
request to a new function may experience increased latency as the
function container is created and initialized.
Security concerns: Users are responsible for securing their own data and
applications, which can be a significant undertaking.
Limited scalability: FaaS functions may not be able to handle high traffic
or large number of requests.
Cloud Services brokerage
Cloud Service Brokerage (CSB)
•The CSP bills the agency for its share of resources used similar to that of an
electric utility.
•Cost effective deployment model for agencies as it gives them the flexibility
to procure only the computing resources they need
Private Cloud
Private cloud
•Operated solely for a single organization or agency: the CSP dedicates
specific cloud services to that agency and no other clients.
•The agencies or CSP may manage the community cloud and it may exist
on-premises or off-premises.
1.IBM Architecture
2.Oracle Architecture
3.HP Architecture
4.Cisco Reference Architecture
1.Cloud Consumer
2.Cloud Provider
3.Cloud Carrier
4.Cloud Auditor
5.Cloud Broker
The image below will explain the cloud computing reference model in a neat
diagram.
Interactions Between Actors in Cloud Computing in Cloud Security
Reference Model
To ensure that the cloud services are used at a consistent level in accordance with
the contractual responsibilities with the cloud consumers, a cloud provider
negotiates service level agreements SLAs with a cloud carrier and may ask for
dedicated and encrypted connections. In this situation, the provider may express its
functionality, capability, and flexibility needs in SLA2 to meet SLA1's basic
requirements.
The Greenfield and Brownfield Deployment
Options
Most of the companies moving to the cloud platform either choose to get rid of (or scrap)their
existing on premise infrastructure and choose cloud or combine on premise and cloud defining
such a process by which both are optimally utilized.
Before building a cloud infrastructure, organizations must identify which deployment option
is appropriate for them. There are two deployment options for building a cloud infrastructure
• Greenfield means deploying completely new infrastructure from scratch , the entire process
of designing, developing, deploying, monitoring and management is involved.
A pure Greenfield project is quite rare these days, you frequently end up interacting or
updating some amount of existing code or enabling integrations. Some examples of
Greenfield software development include: building a website or app from scratch, setting
up a new data center, or even implementing a new rules engine.
Therefore, any new software architecture must consider and coexist with
systems already in place – so as to enhance existing functionality or capability.
Examples of Brownfield development include: adding a new module to an
existing enterprise system, integrating a new feature to software that was
developed earlier, or upgrading code to enhance the functionality of an app.
A customer-based SLA is between a service provider and a customer or customer group. It details
the services provided, the level of service, and the terms of the relationship. For example, in the
relationship between an on-demand video service and a subscriber, a single contract covers the
services available, duration of the services provided, and promised uptime. The contract will
change for each customer based on the plan they choose. Here the SLA is based on the
individual customer.
•Service-based SLA:
•
A service-based SLA is offered when the agreement is based on the service or product chosen by
the customer. It details the regular and additional services offered and the level of service. For
example, the IT service desk provides different services to all requesters, and each service item
has a unique SLA that details the service that will be provided and when it will be delivered. Here
the SLA is based on the service item, which has a common SLA for all end users.
•Multi-level SLA:
A multi-level SLA is an agreement in which an SLA is divided into multiple tiers or levels that
specify a series of customers using a single service. It addresses agreements at the corporate,
customer, and service level. For example, a workstation service request has a high-priority SLA
when requested by a high-ranking official, and a low-priority SLA when requested by a temporary
worker.
The SLA defines the following service delivery terms:
Response time: The time within which the assigned technician needs to
respond to the ticket
Resolution time: The time within which the workstation has to be delivered.
In our example, the ticket needs to be resolved within 14 days from the time
of ticket creation.
Service owner: Service owners are responsible for delivering services within
the agreed service levels. They usually lead internal support groups.