UNIT 1 Cloud

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

UNIT 1

Cloud Computing
Cloud computing enables customers to use infrastructure and applications via internet without
installing and maintaining them on premises.

The term cloud refers to a network or the internet. It is a technology that uses remote servers on the
internet to store, manage, and access data online rather than local drives. The data can be anything
such as files, images, documents, audio, video, and more.

There are the following operations that we can do using cloud computing:

o Developing new applications and services

o Storage, back up, and recovery of data

o Hosting blogs and websites

o Delivery of software on demand

o Analysis of data

o Streaming videos and audios

NIST Definition of Cloud Computing


Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, storage, applications, and services) that
can be rapidly provisioned and released with minimal management effort or service provider
interaction.

This cloud model promotes availability and is composed of five essential characteristics, three
service models, and four deployment models.

Characteristics of Cloud Computing


Agility

The cloud works in a distributed computing environment. It shares resources among users and works
very fast.

High availability and reliability

The availability of servers is high and more reliable because the chances of infrastructure failure are
minimum.

High Scalability

Cloud offers "on-demand" provisioning of resources on a large scale, without having engineers for
peak loads.

Multi-Sharing

With the help of cloud computing, multiple users and applications can work more efficiently with
cost reductions by sharing common infrastructure.
Device and Location Independence

Cloud computing enables the users to access systems using a web browser regardless of their
location or what device they use e.g. PC, mobile phone, etc. As infrastructure is off-site and accessed
via the Internet, users can connect from anywhere.

Maintenance

Maintenance of cloud computing applications is easier, since they do not need to be installed on
each user's computer and can be accessed from different places. So, it reduces the cost also

Low Cost

By using cloud computing, the cost will be reduced because to take the services of cloud
computing, IT company need not to set its own infrastructure and pay-as-per usage of resources.

Advantages of Cloud Computing


Back-up and restore data

Once the data is stored in the cloud, it is easier to get back-up and restore that data using the cloud.

Improved collaboration

Cloud applications improve collaboration by allowing groups of people to quickly and easily share
information in the cloud via shared storage.

Low maintenance cost

Cloud computing reduces both hardware and software maintenance costs for organizations.

Mobility

Cloud computing allows us to easily access all cloud data via mobile.

Unlimited storage capacity

Cloud offers us a huge amount of storing capacity for storing our important data such as documents,
images, audio, video, etc. in one place.

Data security

Data security is one of the biggest advantages of cloud computing. Cloud offers many advanced
features related to security and ensures that data is securely stored and handled.

Disadvantages of Cloud Computing


Internet Connectivity

As you know, in cloud computing, every data (image, audio, video, etc.) is stored on the cloud, and
we access these data through the cloud by using the internet connection. If you do not have good
internet connectivity, you cannot access these data.

Vendor lock-in

Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may face problems
when transferring their services from one vendor to another. As different vendors provide different
platforms, that can cause difficulty moving from one cloud to another.
Limited Control

As we know, cloud infrastructure is completely owned, managed, and monitored by the service
provider, so the cloud users have less control over the function and execution of services within a
cloud infrastructure.

Security

Although cloud service providers implement the best security standards to store important
information. But, before adopting cloud technology, you should be aware that you will be sending all
your organization's sensitive information to a third party, i.e., a cloud computing service provider.
While sending the data on the cloud, there may be a chance that your organization's information is
hacked by Hackers.

Cloud Computing Services / Cloud Service Model


SaaS (Software-as-a-Service)
SaaS is also known as "On-Demand Software". It is a software distribution model in which services
are hosted by a cloud service provider. These services are available to end-users over the internet
so, the end-users do not need to install any software on their devices to access these services.

There are the following services provided by SaaS providers -

Business Services - SaaS Provider provides various business services to start-up the business. The
SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer Relationship
Management), billing, and sales.

Document Management - SaaS document management is a software application offered by a third


party (SaaS providers) to create, manage, and track electronic documents.

Social Networks - As we all know, social networking sites are used by the general public, so social
networking service providers use SaaS for their convenience and handle the general public's
information.

Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-
mail providers offering their services using SaaS.
Advantages of SaaS

SaaS is easy to buy

SaaS pricing is based on a monthly fee or annual fee subscription, so it allows organizations to access
business functionality at a low cost, which is less than licensed applications.

Unlike traditional software, which is sold as a licensed based with an up-front cost (and often an
optional ongoing support fee), SaaS providers are generally pricing the applications using a
subscription fee, most commonly a monthly or annually fee.

One to Many

SaaS services are offered as a one-to-many model means a single instance of the application is
shared by multiple users.

Less hardware

The software is hosted remotely, so organizations do not need to invest in additional hardware.

Low maintenance

Software as a service removes the need for installation, set-up, and daily maintenance for the
organizations. The initial set-up cost for SaaS is typically less than the enterprise software. SaaS
vendors are pricing their applications based on some usage parameters, such as a number of users
using the application. So SaaS does easy to monitor and automatic updates.

Multidevice support

SaaS services can be accessed from any device such as desktops, laptops, tablets, phones, and thin
clients.

No client-side installation

SaaS services are accessed directly from the service provider using the internet connection, so do
not need to require any software installation.

Disadvantages of SaaS

Security

Actually, data is stored in the cloud, so security may be an issue for some users. However, cloud
computing is not more secure than in-house deployment.

Latency issue

Since data and applications are stored in the cloud at a variable distance from the end-user, there is
a possibility that there may be greater latency when interacting with the application compared to
local deployment. Therefore, the SaaS model is not suitable for applications whose demand
response time is in milliseconds.

Total Dependency on Internet

Without an internet connection, most SaaS applications are not usable.

Switching between SaaS vendors is difficult


Switching SaaS vendors involves the difficult and slow task of transferring the very large data files
over the internet and then converting and importing them into another SaaS also.

PaaS (Platform-as-a-Service)
Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily create,
test, run, and deploy web applications. You can purchase these applications from a cloud service
provider on a pay-as-per use basis and access them using the Internet connection.

In PaaS, backend scalability is managed by the cloud service provider, so end- users do not need to
worry about managing the infrastructure.

PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to support the
web application life cycle.

Example: Google App Engine, Force.com, Joyent, Azure.

PaaS providers provide the Programming languages, Application frameworks, Databases, and other
tools:

Programming languages

PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java, PHP, Ruby,
Perl, and Go.

Application frameworks

PaaS providers provide application frameworks to easily understand the application development.
Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla,
WordPress, Spring, Play, Rack, and Zend.

Databases

PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to
communicate with the applications.

Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the
applications.

Advantages of PaaS

There are the following advantages of PaaS -

Simplified Development

PaaS allows developers to focus on development and innovation without worrying about
infrastructure management.

Lower risk

No need for up-front investment in hardware and software. Developers only need a PC and an
internet connection to start building applications.

Instant community

PaaS vendors frequently provide online communities where the developer can get the ideas to share
experiences and seek advice from others.

Scalability

Applications deployed can scale from one to thousands of users without any changes to the
applications.

Disadvantages of PaaS

Vendor lock-in

One has to write the applications according to the platform provided by the PaaS vendor, so the
migration of an application to another PaaS vendor would be a problem.

Data Privacy

Corporate data, whether it can be critical or not, will be private, so if it is not located within the walls
of the company, there can be a risk in terms of privacy of data.

Integration with the rest of the systems applications

It may happen that some applications are local, and some are in the cloud. So there will be chances
of increased complexity when we want to use data which in the cloud with the local data.

IaaS (Infrastructure-as-a-Service)
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud computing
platform. It allows customers to outsource their IT infrastructures such as servers, networking,
processing, storage, virtual machines, and other resources. Customers access these resources on the
Internet using a pay-as-per use model.

In traditional hosting services, IT infrastructure was rented out for a specific period of time, with pre-
determined hardware configuration. The client paid for the configuration and time, regardless of the
actual use. With the help of the IaaS cloud computing platform layer, clients can dynamically scale
the configuration to meet changing requirements and are billed only for the services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the IT
infrastructure.

IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that the
infrastructure resides at the customer-premise. In the case of public cloud, it is located at the cloud
computing platform vendor's data center, and the hybrid cloud is a combination of the two in which
the customer selects the best of both public cloud or private cloud.

IaaS provider provides the following services -

1. Compute: Computing as a Service includes virtual central processing units and virtual main
memory for the Vms that is provisioned to the end- users.

2. Storage: IaaS provider provides back-end storage for storing files.

3. Network: Network as a Service (NaaS) provides networking components such as routers,


switches, and bridges for the Vms.

4. Load balancers: It provides load balancing capability at the infrastructure layer.

Advantages of IaaS

Shared infrastructure

IaaS allows multiple users to share the same physical infrastructure.

Web access to the resources

Iaas allows IT users to access resources over the internet.

Pay-as-per-use model

IaaS providers provide services based on the pay-as-per-use basis. The users are required to pay for
what they have used.

On-demand scalability

On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry about
to upgrade software and troubleshoot the issues related to hardware components.

Disadvantages of IaaS

Security
Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide 100%
security.

Maintenance & Upgrade

Although IaaS service providers maintain the software, but they do not upgrade the software for
some organizations.

Interoperability issues

It is difficult to migrate VM from one IaaS provider to the other, so the customers might face
problem related to vendor lock-in.

Types of Cloud Deployments / Cloud Deployment Model


The cloud deployment model identifies the specific type of cloud environment based on ownership,
scale, and access, as well as the cloud’s nature and purpose. The location of the servers you’re
utilizing and who controls them are defined by a cloud deployment model. It specifies how your
cloud infrastructure will look, what you can change, and whether you will be given services or will
have to create everything yourself. Relationships between the infrastructure and your users are also
defined by cloud deployment types.

Public Cloud
It is accessible to the public. Public deployment models in the cloud are perfect for organizations
with growing and fluctuating demands. It also makes a great choice for companies with low-security
concerns. Thus, you pay a cloud service provider for networking services, compute virtualization &
storage available on the public internet. It is also a great delivery model for the teams with
development and testing. Its configuration and deployment are quick and easy, making it an ideal
choice for test environments.

Benefits of Public Cloud

o Minimal Investment - As a pay-per-use service, there is no large upfront cost and is ideal for
businesses who need quick access to resources

o No Hardware Setup - The cloud service providers fully fund the entire Infrastructure
o No Infrastructure Management - This does not require an in-house team to utilize the public
cloud.

Limitations of Public Cloud

o Data Security and Privacy Concerns - Since it is accessible to all, it does not fully protect
against cyber-attacks and could lead to vulnerabilities.

o Reliability Issues - Since the same server network is open to a wide range of users, it can
lead to malfunction and outages

o Service/License Limitation - While there are many resources you can exchange with tenants,
there is a usage cap.

Private cloud
A private cloud is computing resources dedicated exclusively to an organization. It can be physically
located at an organization’s on-site data center, or hosted by a cloud provider. A private cloud
delivers a higher level of security and privacy than public clouds by offering dedicated resources to
companies.

Private cloud customers get the primary benefits of a public cloud, including self-service, scalability,
and elasticity, but with the added benefit of additional control and customization. Plus, private
clouds can have a higher level of security and privacy because they are housed on private networks
not accessible to public traffic.

Benefits of Private Cloud

o Data Privacy - It is ideal for storing corporate data where only authorized personnel gets
access

o Security - Segmentation of resources within the same Infrastructure can help with better
access and higher levels of security.

o Supports Legacy Systems - This model supports legacy systems that cannot access the public
cloud.

Limitations of Private Cloud

o Higher Cost - With the benefits you get, the investment will also be larger than the public
cloud. Here, you will pay for software, hardware, and resources for staff and training.
o Fixed Scalability - The hardware you choose will accordingly help you scale in a certain
direction

o High Maintenance - Since it is managed in-house, the maintenance costs also increase.

Hybrid Cloud
Hybrid clouds are a combination of private and public clouds (for example, IBM Hybrid Cloud,
powered by Red Hat), connected together with technology that enables data and application to
work together.

Sensitive services and applications can be kept in the secure private cloud while publicly-accessible
web servers and customer-facing endpoints can live in the public cloud.

Most popular third-party cloud providers offer a hybrid cloud model, allowing users to combine
private and public clouds to satisfy their needs. This allows businesses greater flexibility to deploy
the specific infrastructure requirements of their application.

Benefits of Hybrid Cloud

o Cost-Effectiveness - The overall cost of a hybrid solution decreases since it majorly uses the
public cloud to store data.

o Security - Since data is properly segmented, the chances of data theft from attackers are
significantly reduced.

o Flexibility - With higher levels of flexibility, businesses can create custom solutions that fit
their exact requirements

Limitations of Hybrid Cloud

o Complexity - It is complex setting up a hybrid cloud since it needs to integrate two or more
cloud architectures

o Specific Use Case - This model makes more sense for organizations that have multiple use
cases or need to separate critical and sensitive data

Community Cloud
In this model, the cloud infrastructure and services are shared by multiple organizations with
common interests, such as a specific industry or geographic region.

Community clouds offer greater collaboration and cost savings, but require careful coordination
among the participating organizations.

Benefits of Community Cloud

o Smaller Investment - A community cloud is much cheaper than the private & public cloud
and provides great performance

o Setup Benefits - The protocols and configuration of a community cloud must align with
industry standards, allowing customers to work much more efficiently.

Limitations of Community Cloud

o Shared Resources - Due to restricted bandwidth and storage capacity, community resources
often pose challenges.

o Not as Popular - Since this is a recently introduced model, it is not that popular or available
across industries

Cloud Economics
Cloud economics is the study of cloud computing’s costs and benefits and the economic principles
that underpin them.

Cloud economics is the study of the benefits, costs, and principles of cloud computing. It involves
understanding: The total cost of ownership (TCO) of cloud computing, the benefits of the cloud over
on-premises models, and cost optimization strategies that will maximize ROI on your cloud
investment.

Cloud economics is not just about costs in actual monetary terms, but also about the opportunity
costs of the cloud and the peculiarities of managing costs in a highly dynamic environment.

A cloud economist is an expert in cloud economics: principles, costs, and benefits. Cloud economists
help businesses forecast their costs and savings for a new cloud solution. A TCO business case
analysis from a cloud economist can serve as an invaluable decision-making resource.
Cloud Challenges
Data Security and Privacy

Data security is a major concern when switching to cloud computing. User or organizational data
stored in the cloud is critical and private. Even if the cloud service provider assures data integrity, it
is your responsibility to carry out user authentication and authorization, identity management, data
encryption, and access control.

Security issues on the cloud include identity theft, data breaches, malware infections, and a lot more
which eventually decrease the trust amongst the users of your applications. This can in turn lead to
potential loss in revenue alongside reputation and stature. Also, dealing with cloud computing
requires sending and receiving huge amounts of data at high speed, and therefore is susceptible to
data leaks.

Cost Management

Even as almost all cloud service providers have a “Pay As You Go” model, which reduces the overall
cost of the resources being used, there are times when there are huge costs incurred to the
enterprise using cloud computing. When there is under optimization of the resources, let’s say that
the servers are not being used to their full potential, add up to the hidden costs. If there is a
degraded application performance or sudden spikes or overages in the usage, it adds up to the
overall cost. Unused resources are one of the other main reasons why the costs go up. If you turn on
the services or an instance of cloud and forget to turn it off during the weekend or when there is no
current use of it, it will increase the cost without even using the resources.

Performance Challenges

Performance is an important factor while considering cloud-based solutions. If the performance of


the cloud is not satisfactory, it can drive away users and decrease profits. Even a little latency while
loading an app or a web page can result in a huge drop in the percentage of users. This latency can
be a product of inefficient load balancing, which means that the server cannot efficiently split the
incoming traffic so as to provide the best user experience.

Interoperability and Flexibility

When an organization uses a specific cloud service provider and wants to switch to another cloud-
based solution, it often turns up to be a tedious procedure since applications written for one cloud
with the application stack are required to be re-written for the other cloud. There is a lack of
flexibility from switching from one cloud to another due to the complexities involved. Handling data
movement, setting up the security from scratch and network also add up to the issues encountered
when changing cloud solutions, thereby reducing flexibility.

High Dependence on Network

Since cloud computing deals with provisioning resources in real-time, it deals with enormous
amounts of data transfer to and from the servers. This is only made possible due to the availability of
the high-speed network. Although these data and resources are exchanged over the network, this
can prove to be highly vulnerable in case of limited bandwidth or cases when there is a sudden
outage. Even when the enterprises can cut their hardware costs, they need to ensure that the
internet bandwidth is high as well there are zero network outages, or else it can result in a potential
business loss. It is therefore a major challenge for smaller enterprises that have to maintain network
bandwidth that comes with a high cost.

Architecture of Cloud Computing

Frontend
Frontend of the cloud architecture refers to the client side of cloud computing system. Means it
contains all the user interfaces and applications which are used by the client to access the cloud
computing services/resources. For example, use of a web browser to access the cloud platform.

Client Infrastructure

Client Infrastructure is a front-end component that provides a GUI. It helps users to interact with the
Cloud.

Backend
Backend refers to the cloud itself which is used by the service provider. It contains the resources as
well as manages the resources and provides security mechanisms. Along with this, it includes huge
storage, virtual applications, virtual machines, traffic control mechanisms, deployment models, etc.

Application

The application can be any software or platform which a client wants to access.

Service

The service component manages which type of service you can access according to the client’s
requirements.

Three Cloud computing services are:

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Runtime Cloud
Runtime cloud offers the execution and runtime environment to the virtual machines.

Storage

Storage is another important Cloud computing architecture component. It provides a large amount
of storage capacity in the Cloud to store and manage data.

Infrastructure

It offers services on the host level, network level, and application level. Cloud infrastructure includes
hardware and software components like servers, storage, network devices, virtualization software,
and various other storage resources that are needed to support the cloud computing model.

Management

This component manages components like application, service, runtime cloud, storage,
infrastructure, and other security matters in the backend. It also establishes coordination between
them.

Security

Security in the backend refers to implementing different security mechanisms for secure Cloud
systems, resources, files, and infrastructure to the end-user.

Internet

Internet connection acts as the bridge or medium between frontend and backend. It allows you to
establish the interaction and communication between the frontend and backend.

Benefits of Cloud Computing Architecture

Following are the cloud computing architecture benefits:

• Makes the overall Cloud computing system simpler.

• Helps to enhance your data processing.

• Provides high security.

• It has better disaster recovery.

• Offers good user accessibility.

• Significantly reduces IT operating costs.

Cloud Computing Stack


Cloud computing can be described as a stack that is formed by layers, similar to a cake. Those layers
will be built using cloud computing services, servers, and components, which can leverage several
different clouds forming a single application stack. The network stability and scalability of the stack
will determine its resilience and high availability.
SaaS (Software-as-a-Service)
SaaS—also known as cloud-based software or cloud applications—is application software that’s
hosted in the cloud and that you access and use via a web browser, a dedicated desktop client, or an
API that integrates with your desktop or mobile operating system. In most cases, SaaS users pay a
monthly or annual subscription fee; some may offer ‘pay-as-you-go’ pricing based on your actual
usage.

In addition to the cost savings, time-to-value, and scalability benefits of cloud, SaaS offers the
following:

Automatic upgrades: With SaaS, you take advantage of new features as soon as the provider adds
them, without having to orchestrate an on-premises upgrade.

Protection from data loss: Because your application data is in the cloud, with the application, you
don’t lose data if your device crashes or breaks.

SaaS is the primary delivery model for most commercial software today—there are hundreds of
thousands of SaaS solutions available, from the most focused industry and departmental
applications, to powerful enterprise software database and AI (artificial intelligence) software.

PaaS (Platform-as-a-Service)
PaaS provides software developers with on-demand platform—hardware, complete software stack,
infrastructure, and even development tools—for running, developing, and managing applications
without the cost, complexity, and inflexibility of maintaining that platform on-premises.

With PaaS, the cloud provider hosts everything—servers, networks, storage, operating
system software, middleware, databases—at their data center. Developers simply pick from a menu
to ‘spin up’ servers and environments they need to run, build, test, deploy, maintain, update, and
scale applications.

Today, PaaS is often built around containers, a virtualized compute model one step removed
from virtual servers. Containers virtualize the operating system, enabling developers to package the
application with only the operating system services it needs to run on any platform, without
modification and without need for middleware.

IaaS (Infrastructure-as-a-Service)
IaaS provides on-demand access to fundamental computing resources–physical and virtual servers,
networking, and storage—over the internet on a pay-as-you-go basis. IaaS enables end users to scale
and shrink resources on an as-needed basis, reducing the need for high, up-front capital
expenditures or unnecessary on-premises or ‘owned’ infrastructure and for overbuying resources to
accommodate periodic spikes in usage.

In contrast to SaaS and PaaS (and even newer PaaS computing models such as containers and
serverless), IaaS provides the users with the lowest-level control of computing resources in the
cloud.

IaaS was the most popular cloud computing model when it emerged in the early 2010s. While it
remains the cloud model for many types of workloads, use of SaaS and PaaS is growing at a much
faster rate.

Cloud Standards
Cloud Standards is a broad discussion of important existing and future standards. For existing
standards, the discussion focuses on how they are used, providing practical advice to engineers
constructing clouds and services to be deployed on clouds. For future standards, the discussion is on
why a standard is needed, what the benefits will be, and what is being done now to fill the gap.

Cloud Maturity Model (CMM)


A CMM is a methodology organization can use to assess the state of cloud readiness. It evaluates
where the organization is at in utilizing the cloud for completing business—and by considering the
company’s objectives—it defines where it needs to be.

A cloud maturity model organizations can build a cloud-migration strategy. It is used for gap analysis
and to understand how the organization can improve its cloud infrastructure. Even if the
organization has an existing cloud infrastructure, a CMM will help evaluate the inefficiencies or
weaknesses as the cloud is scaled up.

Maturity Level 0

At 0, the organization is completely unprepared for the cloud. Typically, the company is reliant on
on-premise or traditional infrastructure, and the organization has not yet considered moving to the
cloud.

Maturity Level 1

At this level of maturity, the organization has explored the cloud, but the processes are not well
defined. The possibility of moving existing apps to the cloud or replacing them with a cloud
equivalent has been explored.

Maturity Level 2

At level 2, the processes for moving to the cloud are well-defined and repeatable. But instead of a
universal approach over the entire organization, these processes are applied opportunistically.
Whenever a new solution is needed, or when an app is moved to the cloud, these processes are
used.

Maturity Level 3

There’s a documented approach to the cloud that is followed almost always. Cloud services are
integrated into the workplace and automated to a large extent. All activities are performed
systematically and consistently monitored.

Maturity Level 4
At this stage, the company is fully up and running on the cloud. Cloud services are used daily in a
systematic manner. Different types of clouds are used for different use cases. The organization
monitors the cloud to promote continuous improvement.

Maturity Level 5

Here the organization is managing the cloud efficiently and making continuous improvements based
on available data. Different workloads and use cases on different clouds are managed seamlessly
and efficiently.

Service-Oriented Architecture
Service-oriented architecture (SOA) is a method of software development that uses software
components called services to create business applications. Each service provides a business
capability, and services can also communicate with each other across platforms and languages.
Developers use SOA to reuse services in different systems or combine several independent services
to perform complex tasks.

For example, multiple business processes in an organization require the user authentication
functionality. Instead of rewriting the authentication code for all business processes, you can create
a single authentication service and reuse it for all applications.

Benefits of SOA
Faster time to market

Developers reuse services across different business processes to save time and costs. They can
assemble applications much faster with SOA than by writing code and performing integrations from
scratch.

Efficient maintenance

It’s easier to create, update, and debug small services than large code blocks in monolithic
applications. Modifying any service in SOA does not impact the overall functionality of the business
process.

Greater adaptability

SOA is more adaptable to advances in technology. You can modernize your applications efficiently
and cost effectively. For example, healthcare organizations can use the functionality of older
electronic health record systems in newer cloud-based applications.

Principles of service-oriented architecture


Interoperability

Each service in SOA includes description documents that specify the functionality of the service and
the related terms and conditions. Any client system can run a service, regardless of the underlying
platform or programming language. For instance, business processes can use services written in both
C# and Python. Since there are no direct interactions, changes in one service do not affect other
components using the service.

Loose coupling
Services in SOA should be loosely coupled, having as little dependency as possible on external
resources such as data models or information systems. They should also be stateless without
retaining any information from past sessions or transactions. This way, if you modify a service, it
won’t significantly impact the client applications and other services using the service.

Abstraction

Clients or service users in SOA need not know the service's code logic or implementation details. To
them, services should appear like a black box. Clients get the required information about what the
service does and how to use it through service contracts and other service description documents.

Granularity

Services in SOA should have an appropriate size and scope, ideally packing one discrete
business function per service. Developers can then use multiple services to create a composite
service for performing complex operations.

Components in service-oriented architecture

Service

Services are the basic building blocks of SOA. They can be private—available only to internal users of
an organization—or public—accessible over the internet to all. Individually, each service has three
main features.

Service implementation
The service implementation is the code that builds the logic for performing the specific service
function, such as user authentication or bill calculation.

Service contract

The service contract defines the nature of the service and its associated terms and conditions, such
as the prerequisites for using the service, service cost, and quality of service provided.

Service interface

In SOA, other services or systems communicate with a service through its service interface. The
interface defines how you can invoke the service to perform activities or exchange data. It reduces
dependencies between services and the service requester. For example, even users with little or no
understanding of the underlying code logic can use a service through its interface.

Service provider

The service provider creates, maintains, and provides one or more services that others can use.
Organizations can create their own services or purchase them from third-party service vendors.

Service consumer
The service consumer requests the service provider to run a specific service. It can be an entire
system, application, or other service. The service contract specifies the rules that the service
provider and consumer must follow when interacting with each other. Service providers and
consumers can belong to different departments, organizations, and even industries.

Service registry

A service registry, or service repository, is a network-accessible directory of available services. It


stores service description documents from service providers. The description documents contain
information about the service and how to communicate with it. Service consumers can easily
discover the services they need by using the service registry.

Storage as a Service (StaaS)


Storage as a Service (STaaS) is the practice of using public cloud storage resources to store your data.
Using STaaS is more cost efficient than building private storage infrastructure, especially when you
can match data types to cloud storage offerings.

Storage as a Service or STaaS is cloud storage that you rent from a Cloud Service Provider (CSP) and
that provides basic ways to access that storage.

The key benefit to STaaS is that you are offloading the cost and effort to manage data storage
infrastructure and technology to a third-party CSP. This makes it much more effective to scale up
storage resources without investing in new hardware or taking on configuration costs. You can also
respond to changing market conditions faster.

Benefits of StaaS
• Reduce infrastructure costs: Storage vendors provide all infrastructure, including hardware
arrays, so users no longer need to purchase any storage resources ahead of time, making
storage an operational expense instead of a capital-intensive upfront cost.

• Centralize: With StaaS, storage is pooled and can be accessed through one unified interface,
which reduces data sprawl and helps consolidate infrastructure overall.

• Scale capacity and workload: Subscribers of StaaS gain a level of storage responsiveness
that scales automatically, dynamically adjusting to changing application, user, and
performance demands continuously.

• Support digital transformation: By offloading storage management, staff can concentrate


on business objectives of greater value to the business, powering an increased pace of
innovation.

• Decrease latency: With early issue detection and proactive support, StaaS allows
organizations to head off performance issues that can cost a company as much as one
percent in sales revenue per 100 milliseconds of latency.

Limitations of Using StaaS


Integration issues

Organizations often have significant investments sunk into a fleet of storage hardware, which may or
may not be compatible with a vendor’s offerings. And while selling off the legacy hardware is
possible, getting the full value out of the deal can be difficult.
Incomplete coverage

Some providers are limited in what storage protocols and deployment options they offer, or even
provide limited integration with leading public cloud platforms. These may not go all the way to
support your heterogeneous and hybrid infrastructure.

Availability

Not all vendors provide a guarantee for performance or effective capacity. Subscribers should
negotiate if there are critical service-level agreement (SLA) requirements.

Limited support

Response times and the technical expertise of post-sales support staff can vary greatly between
vendors. In addition, getting extended support and maintenance after the original agreements
expire can lead to steep increases in costs long-term.

Database as a Service (DBaaS)


As we know data is everything for an IT organization to work with not only it is important for only IT
organizations rather data is very important for all sizes and all categories of businesses. Every day
huge amount of data gets generated in each organization and based on this collected or generated
data various organizational activities are performed. But the most challenging task for an
organization related to data is managing the database and proving security to the database. So
everyday new technologies are getting added to database domain to make work easier and more
flexible. DBaaS is one of that advanced improvement which makes database activities simpler.

Database as a Service (DBaaS) is self-service / on demand database consumption coupled with


automation of operations. As we know cloud computing services are like pay per use so DBaaS also
based on same payment structure like how much you will use just pay for your usage. This DBaaS
provides same function as like standard traditional and relational database models. So, using DBaaS,
organizations can avoid data base configuration, management, upgradation and security.

Advantages of DBaaS:

1. The hefty power bills for ventilation and cooling bills to stay the servers running area unit
eliminated.

2. An organization that subscribes to DBaaS is free from hiring info developers or constructing
a info system in-house.
3. Make use of the most recent automation, straightforward outs of clouds area unit possible
at low price and fewer time.

4. Human resources needed to manage the upkeep of the system is eliminated.

5. Since DBaaS is hosted off-site, the organization is free from the hassles of power or network
failure.

Disadvantages of DBaaS:

1. Traditional enterprises may have objections to cloud-based services generally.

2. In case of significant failure of the DBaaS server or network, the organization might lose its
knowledge.

3. Intrinsic network connected problems with cloud can impact the performance of a DBaaS.

4. Features offered within the typical RDBMS might not perpetually be offered during a DBaaS
system.

5. The use of DBaaS may result in revenue loss in alternative areas of code updates and
hardware management.

Information as a Service (IaaS)


Information as a Service could be a developing cloud business model within which a corporation
shares or offers relevant information to a different company or people to play out their business
models and Technology Start-up. IaaS clients would prefer not to or don't have the assets to process
and analyze data.

Information as a Service is any combination of data technology and people's activities utilizing that
technology to support operations, management, and decision-making.

IaaS Advantages

• Pay-as-you-Go: Unlike traditional IT, IaaS does not require any upfront, capital expenditures,
and end users are only billed for what they use.
• Speed: With IaaS, users can provision small or vast amounts of resources in a matter of
minutes, testing new ideas quickly or scaling proven ones even quicker.

• Availability: Through things like multizone regions, the availability and resiliency of cloud
applications can exceed traditional approaches.

• Scale: With seemingly limitless capacity and the ability to scale resources either
automatically or with some supervision, it’s simple to go from one instance of an application
or workload to many.

• Latency and performance: Given the broad geographic footprint of most IaaS providers, it’s
easy to put apps and services closers to your users, reducing latency and improving
performance.

Identity as a Service (IDaaS)


Identity-as-a-Service (IDaaS) refers identity and access management services provided through the
cloud on a subscription basis. Identity-as-a-Service is typically fully on-premises and provided via set
of software and hardware means.

An identity service stores the information linked with a digital entity in a form which can be
managed and queried for further utilization in electronic transactions. Major core functions of
Identity Services are:

1. A data stores.

2. Query Engine.

3. Policy Engine.

An identity refers to a set of attributes or characteristics which make something recognizable or


known. It is digital identity of an individual that is mostly concerned in computer network systems.
An attribute and metadata of any object related to another object that enables an object to be
identifiable is termed as Digital Identity.

Example:

MFA (Multi Factor Authentication) gives enterprises advanced security and authentication controls
using an organization’s preferred MFA solution provider.

Business Process as a Service (BPaaS)


Business process as a service, or BPaaS, is a type of business process outsourcing (BPO) delivered
based on a cloud services model. BPaaS is connected to other services, including SaaS, PaaS and IaaS,
and is fully configurable.

BPaaS provides companies with the people, processes and technology they need to operate as a
pay-per-use service by making use of the availability and efficiency of a cloud-based system. This
approach to operations greatly reduces total cost of ownership by providing an on-demand solution
based on services needed as opposed to purchasing a package deal tied into a single application.

Advantages of BPaaS
• Product/service deliverability: From managing inventory to organizing email and customer
records, BPaaS helps companies facilitate the delivery of products and services in an
automated, streamlined way with help of cloud technologies.

BPaaS is standardized for use across industries and organizations, so it’s flexible and
repeatable, resulting in higher efficiency and, ultimately, better service and experience for
customers.

• Cutting edge at reduced cost: BPaaS provides a business with the latest digital tools,
technologies, processes and talent to improve its efficiency, service and the customer
experience, without the large capital investment traditionally required. By implementing
BPaaS, companies can shift to a pay-per-use consumption model and reduce total cost of
ownership.

• Accommodates fluctuating business needs: BPaaS can scale on-demand when a company
experiences a peak workload. Due to its innate configurability applicable across multiple
business areas, and its interaction with other foundational cloud services like SaaS, the
service can make use of its cloud foundation to scale to accommodate large fluctuations in
business process needs.

Integration as a Service
Integration as a Service is a cloud service delivery model for integration. Integration-as-a-Service
delivers an integration solution that provides connectivity to backend systems, sources, files, and
operational applications through the implementation of well-defined interfaces, web services, and
calls between applications and data sources.

This provides users with a more loosely coupled environment, safe from complex interdependencies.
The Integration-as-a-Service delivery model enables integration across the cloud, making it possible
to share data between systems as well as third-party vendors in real-time.

IaaS is commonly used in small and medium-sized businesses since it facilitates low-cost, efficient
and reliable B2B integration. IaaS allows enterprises of modest size to spend more of their valuable
resources on the products and services that directly benefit customers.

Benefits of Integration as a Service

• A consistent architecture that is created through connecting applications and resources,


both in cloud and on-premise, in one interface.

• Reduced cost by allowing an organization to avoid management of an on-premise data


center.

• The data center infrastructure is handled by the service provider for the organization.

• The organization does not have to worry about software or hardware upgrades since the
service provider handles both.

• Startups do not have to pay the initial cost of buying, building and managing an extensive
infrastructure.

• Users pay for what they use.

Compliance as a service (CaaS)


Cloud compliance is the art and science of complying with regulatory standards of cloud usage in
accordance with industry guidelines and local, national, and international laws.

A Compliance as a Service (CaaS) application would need to oblige as a third party. CaaS may require
to be architecture as its own layer of a Service Oriented Architecture (SOA) in order to be reliable. A
CaaS may be needed to be able to manage cloud relationships, comprehend security rules and
procedures, know how to operate data and administer privacy, deliver an incidence feedback,
archive, and enable the system to be queried.

Advantages of Compliance as a Service (CaaS)

1. In cloud, Encryption is quite arduous to track which is simplified by the Compliance as a


Service. To fulfil the needs of end user and organizations around governance including
compliance, they use a cloud provider’s service. These services deliver pre-built behaviors
with specific regulations, such as needed encryption levels.

2. Compliance as a Services are configurable i.e., no development is required. This is cost


effective for the organizations and it reduce the maintenance along with changing
regulations, as well as internal and external policies of the corporations.

Disadvantages of Compliance as a Service (CaaS)

1. Cloud service consumers will be held responsible for any issues with the compliance
services. Its mandatory that customer validate the compliance services to ensure that there
are no issues.

2. It is impossible to Compliance as a Service providers to support all the regulations among all
the countries. Also, as all the services are cloud based then there is always a risk that
providers will stop to providing the services at any time because of low uses of their
services. So, end-user and organization become dependent on service providers.

Security as a Service (SECaaS)


A business model called SECaaS, or Security as a Service, offers security to IT companies on a
subscription basis. A superior security platform is provided by the outsourced approach, which
lowers the total cost of ownership than the business could supply on its own. With the use of cloud
computing, security for the company is maintained by an outside party. For the necessary
computational and storage resources to run their websites and apps, many enterprises rely on
security services.

Working of SECaaS:

When the IT department installs virus protection software, spam filtering software, and other
security tools on every computer, on the network, or on the server in your geographic location,
keeping the package up to date or instructing them to use it, security solutions are no longer
delivered regionally with security as a service.

• Encryption: makes the data unreadable until it has been authentically decoded, or
encrypted.

• Network security: Network access management protocols are used to secure and keep an
eye on network services.

• Email security: Protects against email frauds, spam, phishing, malware etc.
• Identification: Users can access with a valid log-in ID and legal permission, else forbids if it is
not authenticated.

• Data loss prevention: Tools are built to monitor and secure data to protect from data loss.

Benefits of SECaaS:

• The organization’s resources are constantly provided with greater security.


• Offers the latest version of antivirus software that is compatible with cutting-edge
technologies.
• At a reasonable cost, the company may hire qualified security personnel. To secure the
company’s data, they will provide the finest service possible.
• When a user accesses data without a valid business reason, it may be determined that they
are doing so.

Governance as a Service
Cloud governance is the process of defining, implementing, and monitoring a framework of policies
that guides an organization’s cloud operations. This process regulates how users work in cloud
environments to facilitate consistent performance of cloud services and systems.

A cloud governance framework is commonly built from existing IT practices, but in some instances,
organizations choose to develop a new set of rules and policies specifically for the cloud.

Benefits of Governance as a Service

Improve business continuity

With better visibility across all business units, organizations can develop clearer action plans in the
case of data breaches or downtime.

Optimize resources and infrastructure

Increasing monitoring and control over cloud resources and infrastructure can inform efforts to use
resources effectively and keep cloud costs low.

Maximize performance

With a clearer view of their entire cloud environment, organizations can improve operational
efficiency by eliminating productivity bottlenecks and simplifying management processes.

Minimize Security Risks

A good governance model includes clear identity and access management strategy and security
monitoring processes, so that IT teams are better positioned to identify and mitigate vulnerabilities
and improve cloud security.

Testing as a Service (TaaS)


Testing as a Service is an outsourcing model, in which software testing is carried out by a third-party
service provider rather than employees of the organization. In TaaS, testing is done by a service
provider that specializes in simulating real-world testing environments and finding bugs in the
software product.

TaaS is used when


• A company lacks the skills or resources to carry out testing internally

• Don’t want the in-house developers to influence the results of the testing process (which
they could if done internally)

• Save on Cost

• Increase the speed of test execution and reduce software development time.

You might also like