Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

unit-3 cloud

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

Web Services in Cloud Computing

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.

 Web services functions


 It is possible to access it via the Internet or intranet network.
 XML messaging protocol that is standardized.
 Operating system or programming language independent.
 Using the XML standard is self-describing.

A simple location approach can be used to detect this.

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.

2. UDDI (Universal Description, Search, and Integration)

UDDI is a standard for specifying, publishing and searching online service providers. It
provides a specification that helps in hosting the data through web services. UDDI provides a
repository where WSDL files can be hosted so that a client application can search the WSDL
file to learn about the various actions provided by the web service. As a result, the client
application will have full access to UDDI, which acts as the database for all WSDL files.

The UDDI Registry will keep the information needed for online services, such as a telephone
directory containing the name, address, and phone number of a certain person so that client
applications can find where it is.

3. WSDL (Web Services Description Language)

The client implementing the web service must be aware of the location of the web service. If
a web service cannot be found, it cannot be used. Second, the client application must
understand what the web service does to implement the correct web service. WSDL, or Web
Service Description Language, is used to accomplish this. A WSDL file is another XML-
based file that describes what a web service does with a client application. The client
application will understand where the web service is located and how to access it using the
WSDL document.

How does web service work?

The diagram shows a simplified version of how a web service would function. The client will
use requests to send a sequence of web service calls to the server hosting the actual web
service.

Remote procedure calls are used to perform these requests. The calls to the methods hosted
by the respective web service are known as Remote Procedure Calls (RPC). Example:
Flipkart provides a web service that displays the prices of items offered on Flipkart.com. The
front end or presentation layer can be written in .NET or Java, but the web service can be
communicated using a programming language
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.

Features/Characteristics Of Web Service

Web services have the following features:

(a) XML Based: The information representation and record transportation layers of a web
service employ XML. There is no need for networking, operating system, or platform binding
when using XML. At the middle level, web offering-based applications are highly
interoperable.

(b) Loosely Coupled: A customer of an internet service provider isn’t necessarily directly
linked to that service provider. The user interface for a web service provider can change over
time without impacting the user’s ability to interact with the service provider. A strongly
coupled system means that the patron’s and server’s decisions are inextricably linked,
indicating that if one interface changes, the other should be updated as well.
A loosely connected architecture makes software systems more manageable and allows for
easier integration between different structures.

(c) Capability to be Synchronous or Asynchronous: Synchronicity refers to the client’s


connection to the function’s execution. The client is blocked and the client has to wait for the
service to complete its operation, before continuing in synchronous invocations.
Asynchronous operations allow a client to invoke a task and then continue with other tasks.
Asynchronous clients get their results later, but synchronous clients get their effect
immediately when the service is completed. The ability to enable loosely linked systems
requires asynchronous capabilities.

(d) Coarse-Grained: Object-oriented systems, such as Java, make their services available
through individual methods. At the corporate level, a character technique is far too fine an
operation to be useful. Building a Java application from the ground, necessitates the
development of several fine-grained strategies, which are then combined into a rough-grained
provider that is consumed by either a buyer or a service.
Corporations should be coarse-grained, as should the interfaces they expose. Web services
generation is an easy approach to define coarse-grained services that have access to enough
commercial enterprise logic.

(e) Supports Remote Procedural Call: Consumers can use an XML-based protocol to call
procedures, functions, and methods on remote objects utilizing web services. A web service
must support the input and output framework exposed by remote systems.
Enterprise-wide component development Over the last few years, JavaBeans (EJBs) and.NET
Components have become more prevalent in architectural and enterprise deployments. A
number of RPC techniques are used to allocate and access both technologies.
A web function can support RPC by offering its own services, similar to those of a traditional
role, or by translating incoming invocations into an EJB or.NET component invocation.

(f) Supports Document Exchanges: One of XML’s most appealing features is its simple
approach to communicating with data and complex entities. These records can be as simple
as talking to a current address or as complex as talking to an entire book or a Request for
Quotation. Web administrations facilitate the simple exchange of archives, which aids
incorporate reconciliation.
The web benefit design can be seen in two ways: (i) The first step is to examine each web
benefit on-screen character in detail. (ii) The second is to take a look at the rapidly growing
web benefit convention stack.

Advantages Of Web Service

Using web services has the following advantages:

(a) Business Functions can be exposed over the Internet: A web service is a controlled
code component that delivers functionality to client applications or end-users. This capability
can be accessed over the HTTP protocol, which means it can be accessed from anywhere on
the internet. Because all apps are now accessible via the internet, Web services have become
increasingly valuable. Because all apps are now accessible via the internet, Web services
have become increasingly valuable. That is to say, the web service can be located anywhere
on the internet and provide the required functionality.

(b) Interoperability: Web administrations allow diverse apps to communicate with one
another and exchange information and services. Different apps can also make use of web
services. A .NET application, for example, can communicate with Java web administrations
and vice versa. To make the application stage and innovation self-contained, web
administrations are used.

(c) Communication with Low Cost: Because web services employ the SOAP over HTTP
protocol, you can use your existing low-cost internet connection to implement them. Web
services can be developed using additional dependable transport protocols, such as FTP, in
addition to SOAP over HTTP.

(d) A Standard Protocol that Everyone Understands: Web services communicate via a
defined industry protocol. In the web services protocol stack, all four layers (Service
Transport, XML Messaging, Service Description, and Service Discovery) use well-defined
protocols.

(e) Reusability: A single web service can be used simultaneously by several client
applications.
Cloud Deployment Models

In cloud computing, we have access to a shared pool of computer resources (servers, storage,
programs, and so on) in the cloud. You simply need to request additional resources when you
require them. Getting resources up and running quickly is a breeze thanks to the clouds. It is
possible to release resources that are no longer necessary. This method allows you to just pay
for what you use. Your cloud provider is in charge of all upkeep.

What is a Cloud Deployment Model?

Cloud Deployment Model functions as a virtual computing environment with a deployment


architecture that varies depending on the amount of data you want to store and who has
access to the infrastructure.

Types of Cloud Computing Deployment Models

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. Different types of
cloud computing deployment models are described below.

 Public Cloud
 Private Cloud
 Hybrid Cloud
 Community Cloud
 Multi-Cloud

Public Cloud

The public cloud makes it possible for anybody to access systems and services. The public
cloud may be less secure as it is open to everyone. The public cloud is one in which cloud
infrastructure services are provided over the internet to the general people or major industry
groups. The infrastructure in this cloud model is owned by the entity that delivers the cloud
services, not by the consumer. It is a type of cloud hosting that allows customers and users to
easily access systems and services. This form of cloud computing is an excellent example of
cloud hosting, in which service providers supply services to a variety of customers. In this
arrangement, storage backup and retrieval services are given for free, as a subscription, or on
a per-user basis. For example, Google App Engine etc.
Public Cloud

Advantages of the Public Cloud Model

 Minimal Investment: Because it is a pay-per-use service, there is no substantial


upfront fee, making it excellent for enterprises that require immediate access to
resources.
 No setup cost: The entire infrastructure is fully subsidized by the cloud service
providers, thus there is no need to set up any hardware.
 Infrastructure Management is not required: Using the public cloud does not
necessitate infrastructure management.
 No maintenance: The maintenance work is done by the service provider (not users).
 Dynamic Scalability: To fulfill your company’s needs, on-demand resources are
accessible.

Disadvantages of the Public Cloud Model

 Less secure: Public cloud is less secure as resources are public so there is no
guarantee of high-level security.
 Low customization: It is accessed by many public so it can’t be customized
according to personal requirements.

Private Cloud

The private cloud deployment model is the exact opposite of the public cloud deployment
model. It’s a one-on-one environment for a single user (customer). There is no need to share
your hardware with anyone else. The distinction between private and public clouds is in how
you handle all of the hardware. It is also called the “internal cloud” & it refers to the ability to
access systems and services within a given border or organization. The cloud platform is
implemented in a cloud-based secure environment that is protected by powerful firewalls and
under the supervision of an organization’s IT department. The private cloud gives greater
flexibility of control over cloud resources.
Private Cloud

Advantages of the Private Cloud Model

 Better Control: You are the sole owner of the property. You gain complete command
over service integration, IT operations, policies, and user behavior.
 Data Security and Privacy: It’s suitable for storing corporate information to which
only authorized staff have access. By segmenting resources within the same
infrastructure, improved access and security can be achieved.
 Supports Legacy Systems: This approach is designed to work with legacy systems
that are unable to access the public cloud.
 Customization: Unlike a public cloud deployment, a private cloud allows a company
to tailor its solution to meet its specific needs.

Disadvantages of the Private Cloud Model

 Less scalable: Private clouds are scaled within a certain range as there is less number
of clients.
 Costly: Private clouds are more costly as they provide personalized facilities.

Hybrid Cloud

By bridging the public and private worlds with a layer of proprietary software, hybrid cloud
computing gives the best of both worlds. With a hybrid solution, you may host the app in a
safe environment while taking advantage of the public cloud’s cost savings. Organizations
can move data and applications between different clouds using a combination of two or more
cloud deployment methods, depending on their needs.
Hybrid Cloud

Advantages of the Hybrid Cloud Model

 Flexibility and control: Businesses with more flexibility can design personalized
solutions that meet their particular needs.
 Cost: Because public clouds provide scalability, you’ll only be responsible for paying
for the extra capacity if you require it.
 Security: Because data is properly separated, the chances of data theft by attackers
are considerably reduced.

Disadvantages of the Hybrid Cloud Model

 Difficult to manage: Hybrid clouds are difficult to manage as it is a combination of


both public and private cloud. So, it is complex.
 Slow data transmission: Data transmission in the hybrid cloud takes place through
the public cloud so latency occurs.

Community Cloud

It allows systems and services to be accessible by a group of organizations. It is a distributed


system that is created by integrating the services of different clouds to address the specific
needs of a community, industry, or business. The infrastructure of the community could be
shared between the organization which has shared concerns or tasks. It is generally managed
by a third party or by the combination of one or more organizations in the community.
Community Cloud

Advantages of the Community Cloud Model

 Cost Effective: It is cost-effective because the cloud is shared by multiple


organizations or communities.
 Security: Community cloud provides better security.
 Shared resources: It allows you to share resources, infrastructure, etc. with multiple
organizations.
 Collaboration and data sharing: It is suitable for both collaboration and data
sharing.

Disadvantages of the Community Cloud Model

 Limited Scalability: Community cloud is relatively less scalable as many


organizations share the same resources according to their collaborative interests.
 Rigid in customization: As the data and resources are shared among different
organizations according to their mutual interests if an organization wants some
changes according to their needs they cannot do so because it will have an impact on
other organizations.

Multi-Cloud

We’re talking about employing multiple cloud providers at the same time under this
paradigm, as the name implies. It’s similar to the hybrid cloud deployment approach, which
combines public and private cloud resources. Instead of merging private and public clouds,
multi-cloud uses many public clouds. Although public cloud providers provide numerous
tools to improve the reliability of their services, mishaps still occur. It’s quite rare that two
distinct clouds would have an incident at the same moment. As a result, multi-cloud
deployment improves the high availability of your services even more.

Multi-Cloud
Advantages of the Multi-Cloud Model

 You can mix and match the best features of each cloud provider’s services to suit the
demands of your apps, workloads, and business by choosing different cloud
providers.
 Reduced Latency: To reduce latency and improve user experience, you can choose
cloud regions and zones that are close to your clients.
 High availability of service: It’s quite rare that two distinct clouds would have an
incident at the same moment. So, the multi-cloud deployment improves the high
availability of your services.

Disadvantages of the Multi-Cloud Model

 Complex: The combination of many clouds makes the system complex and
bottlenecks may occur.
 Security issue: Due to the complex structure, there may be loopholes to which a
hacker can take advantage hence, makes the data insecure.

What is the Right Choice for Cloud Deployment Model?

As of now, no such approach fits picking a cloud deployment model. We will always
consider the best cloud deployment model as per our requirements. Here are some factors
which should be considered before choosing the best deployment model.

 Cost: Cost is an important factor for the cloud deployment model as it tells how much
amount you want to pay for these things.
 Scalability: Scalability tells about the current activity status and how much we can
scale it.
 Easy to use: It tells how much your resources are trained and how easily can you
manage these models.
 Compliance: Compliance tells about the laws and regulations which impact the
implementation of the model.
 Privacy: Privacy tells about what data you gather for the model.

Each model has some advantages and some disadvantages, and the selection of the best is
only done on the basis of your requirement. If your requirement changes, you can switch to
any other model.
Overall Analysis of Cloud Deployment Models

The overall Analysis of these models with respect to different factors is described below.

Public
Factors Private Cloud Community Cloud Hybrid Cloud
Cloud
Complex, requires a Complex, requires a Complex, requires a
Initial Setup Easy professional team to professional team to professional team to
setup setup setup
Scalability and
High High Fixed High
Flexibility
Cost- Cost- Distributed cost Between public and
Costly
Comparison Effective among members private cloud
Reliability Low Low High High
Data Security Low High High High
Data Privacy Low High High High

UNIT-4

Introduction to Cloud Based Web Application Development

Cloud Based Web Application Development has changed the world and businesses have
started to realize the potential benefits that this cutting-edge tech offers.

Cloud-based application development plays a significant part in today's world. Cloud has
allowed a generation of Internet-enabled applications. What started as one of the major
technological advancements, has revolutionized the entire development paradigm and made it
simpler than ever to develop applications.

Cloud-based application development has become a revolutionary trend in the IT industry


today due to its various benefits over traditional software development models. It helps cloud
application development services to reduce the costs of software maintenance and
deployment. It provides a flexible environment for the developers which allows them to work
on projects from anywhere using any device with internet access.

Defining Cloud-based Application Development

Cloud-based Application

What is a cloud-based application?

Cloud-based applications are web-based software that can be accessed and run from
anywhere. They’re built on a framework of cloud computing, which is essentially the concept
of hosting your data and applications on remote servers rather than your own hardware.
When you use cloud-based applications, you don’t have to worry about maintaining servers
or any other hardware.

Defining Cloud-based Application Development

Cloud-based Application

What is a cloud-based application?

Cloud-based applications are web-based software that can be accessed and run from
anywhere. They’re built on a framework of cloud computing, which is essentially the concept
of hosting your data and applications on remote servers rather than your own hardware.
When you use cloud-based applications, you don’t have to worry about maintaining servers
or any other hardware.

Types of Cloud Applications in Development

Cloud applications come in a variety of forms. There are many different types of cloud-based
apps, each of which offers unique benefits for businesses and consumers. Here are some
examples:

Cloud-Based Web Applications

Web applications run in the cloud and can be accessed through any browser or mobile device.
They may also require users to log in with an account on their own devices before accessing
the application itself. Examples include social media sites like Facebook and LinkedIn as
well as apps like Google Docs and Dropbox Paper.

CRM (Customer Relationship Management)

This type of software helps you manage your customers, sales leads, and other important
contacts. It usually contains features such as email marketing campaigns, lead management
tools, and contact databases that allow you to build relationships with your customers more
effectively.

Customer Relationship Management

ERP (Enterprise Resource Planning)

ERP software helps businesses manage all aspects of their business operations from
accounting to inventory control and customer service. This type of software usually contains
modules like accounting, inventory management, human resources management, and
customer relationship management.
Enterprise Resource Planning

PMS (Property Management Software)


PMS refers to property management systems that help landlords manage their rental
properties more efficiently by automating certain tasks like collecting rent payments from
tenants or sending them maintenance requests. It also allows landlords to keep track of their

properties using a database and generate reports on their financial performance.

Property Management Software

Types of Cloud-based Application Development solution

1. SaaS - Software-as-a-Service

SaaS is one of the most popular models for cloud applications because it's easy to understand
and implement. With SaaS, you pay a monthly subscription fee for access to an application
hosted on the internet, rather than storing it locally on your computer or server. You can use
this app for anything from watching videos online or booking travel reservations.

Software-as-a-Service

The benefit of SaaS is that it’s easy to use and maintain. You don't have to worry about
software updates, security issues, or the costs of hosting your own server—all these things are
handled by the cloud provider.

The downside is that you don’t have full control over the application or its data. If there's an
issue with your cloud provider, it can take time to fix it because you’re not in charge of
maintaining the software and servers.

The benefits of SaaS include:

 Updates and maintenance are automatically handled by the provider.


 You can access your data from anywhere, as long as you have an internet connection.
 There's no need to install software on your computer or server.
 You don't need to worry about security issues or hardware maintenance.
 The software is hosted on the cloud provider’s servers, so it's available 24/7.

2. PaaS - Platform-as-a-Service

PaaS is another very popular option for building your business logic or backend services
because it lets you focus on building your application rather than managing servers or storage
systems. PaaS gives developers access to tools like databases and messaging systems so they
don’t have to worry about building those systems themselves. PaaS is ideal for software
developers who are looking for a managed solution that allows them to focus on their
application and leave the infrastructure issues to someone else.
Platform-as-a-Service

PaaS can be run on-premise or in the cloud, depending on your needs. Because PaaS is a
managed cloud service, it requires less time and money from developers who want to build
their applications.

3. IaaS - Infrastructure-as-a-Service

IaaS allows users to provision virtual machines at any time and uses them for various
purposes such as testing new software or running a website temporarily during peak hours or
for special events. Some examples include Amazon Web Services and Rackspace Cloud
Servers. IaaS is ideal for software developers who need a flexible solution that allows them to
quickly scale up or down their computing resources as needed. The cloud has made it much
easier to deploy and manage your applications, but it’s not without its drawbacks. For
example, you may have to trust the provider with some sensitive data or allow them access to
your cloud app infrastructure in order to be able to use their services.

Customer Relationship Management

The cloud is also a more complex environment than traditional network infrastructure, which
can make it harder to architect and manage. If you’re considering using IaaS, it might be a
good idea to consult with an experienced consultant who can help you decide whether this
solution will meet your requirements.

The cloud can be a great solution for many businesses, but it’s not always the right choice. If
you have specific requirements, such as needing dedicated servers or having strict security
needs that are difficult to meet with IaaS, then a private cloud might be a better fit.

Key Benefits of Cloud Application Development

Flexibility

Cloud applications are much easier to scale up or down. If your business needs increase, you
can easily add storage or memory. You can also reduce costs by shutting down unused cloud
applications when you don’t need them. The flexibility of cloud apps also makes it easier for
you to switch providers. If you find a better deal with another provider, you can simply move
your data and applications over without having to worry about setting up new servers or
migrating your data.

Lower Costs

Cloud app development can save you money compared to traditional on-premise software
development. It does not require any upfront capital expenditure such as setting up servers or
buying expensive licenses for operating systems and databases. In addition, most cloud
platforms charge their customers based on usage instead of charging them based on their
resources like in traditional software development where they would have to purchase
additional capacity before they know if they even need it or not which results in paying more
than needed or not enough capacity being purchased which results in poor performance and
unmet expectations from customers who expect their app to work flawlessly at all times when
they use it no matter how many users are using it at the same time.
Scalability

Cloud-based apps are scalable in nature, which means they can handle more traffic than
traditional IT systems without slowing down performance or crashing. Cloud servers also
have high availability meaning if one server goes down another will be available immediately
so no downtime occurs during peak demand times or when there is a failure in another part of
your system.

Security and reliability

Cloud applications are highly secure because they run in data centers that are protected by
sophisticated security systems. You don’t have to worry about potential external threats such
as hackers or viruses affecting your data because it is stored securely on remote servers.
Cloud technology also reduces downtime because if something goes wrong with your own
hardware, it doesn’t impact other users of the same service at all.

Faster Deployment Time

The biggest benefit of Cloud Application Development is its fast deployment time. With
traditional application development methods, an application has to be developed on your own
server which could take months or even years depending on how complex it is. Once it’s
ready for deployment, you have to manually install it on your server and configure everything
before making it available for use by others. On the other hand, with cloud-based
applications, all you need to do is create an account with a cloud provider like Amazon Web
Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP). Once your application
is ready for testing or production purposes, simply upload it onto their servers where it will
be compiled automatically within minutes!

Increased Productivity & Efficiency

Cloud Application Development helps you grow your business more efficiently by allowing
you to focus on what matters most: your customers' needs and requirements. With Cloud
Application Development, you can easily scale up or down as needed without having to
worry about IT infrastructure or other technical issues. You can also make changes quickly
and easily without having to spend too much time on maintenance. This saves you money
that you would otherwise spend on hiring additional staff members or buying new hardware
or software licenses etc.

Cloud Computing Architecture

Cloud Computing Architecture is divided into two parts, i.e., front-end and back-end. Front-
end and back-end communicate via a network or internet. A diagrammatic representation of
cloud computing architecture is shown below:
Cloud Computing Architecture

Front-End

 It provides applications and the interfaces that are required for the cloud-based
service.
 It consists of client’s side applications, which are web browsers such as Google
Chrome and Internet Explorer.
 Cloud infrastructure is the only component of the front-end. Let's understand it in
detail.

Front-end - Cloud Computing Architecture

 Cloud infrastructure consists of hardware and software components such as data


storage, server, virtualization software, etc.
 It also provides a Graphical User Interface to the end-users to perform respective
tasks.

Moving ahead, let’s understand what the back-end is.


Back-End

It is responsible for monitoring all the programs that run the application on the front-end

It has a large number of data storage systems and servers. The back-end is an important and
huge part of the whole cloud computing architecture, as shown below:

Back-end - Cloud Computing Architecture

The components of the back-end cloud architecture are mentioned below. Let's understand
them in detail one by one.

Application

 It can either be a software or a platform


 Depending upon the client requirement, the application provides the result to the end-
user (with resources) in the back end

Service

 Service is an essential component in cloud architecture


 Its responsibility is to provide utility in the architecture
 In a Cloud, few widely used services among the end-users are storage application
development environments and web services

Storage

 It stores and maintains data like files, videos, documents, etc. over the internet
 Some of the popular examples of storage services are below:
o Amazon S3
o Oracle Cloud-Storage
o Microsoft Azure Storage
 Its capacity varies depending upon the service providers available in the market
Management

 Its task is to allot specific resources to a specific task, it simultaneously performs


various functions of the cloud environment
 It helps in the management of components like application, task, service, security,
data storage, and cloud infrastructure
 In simple terms, it establishes coordination among the cloud resources

Security

 Security is an integral part of back-end cloud infrastructure


 It provides secure cloud resources, systems, files, and infrastructure to end-users
 Also, it implements security management to the cloud server with virtual firewalls
which results in preventing data loss

Now, that we know the architecture of cloud computing, let’s move on and learn about the
benefits of the architecture.

Advantages of Cloud Computing

Here are some of the key advantages of cloud computing:

 Cost Savings
 Reliability
 Strategic Edge
 Security

Now, let's discuss these advantages of cloud computing in detail:

1. Cost Savings

There are both advantages and disadvantages of cloud computing when it comes to cutting
down expenses. The most obvious disadvantage is that the cost to implement cloud services
the first time can be quite costly. If you estimate beyond that initial cost, cloud computing
helps businesses and organizations cut several expenses in the long run. A study by Gartner
shows the worldwide spend on the cloud service market will grow up to $331.2 billion by
2022.

Another important benefit is that most cloud computing services are pay-as-you-go - you
only have to pay for the features and data storage that you use.

2. Reliability

Most cloud service providers assure guaranteed assistance round the clock. When you opt for
cloud computing, all the service-related technicalities are taken care of by the cloud service
provider. In the case of a disaster, even if the host server fails, the data can easily be
transitioned to other available servers. The cloud service providers abide by the signed
Service Level Agreements (SLAs) to ensure timely assistance to your business needs.
3. Strategic Edge

With the rise in competition among businesses, you need to implement the latest technologies
and applications out there to catch up with the rest of the crowd. Installing and maintaining
new software can cost companies a huge deal of money. Through cloud computing, you will
have access to all the latest applications and infrastructure without actually having to invest in
software installations and maintenance.

4. Security

With the advancements in technology, every cloud service provider offers more advanced
security features to their clients with full backup and recovery. A The key to this is the
encryption of all data that is transmitted over networks and stored in databases. This is much
more efficient and reliable than a conventional in-house system, where a high percentage of
data thefts can occur. A study by RapidScale shows that 94 percent of businesses saw major
security improvements after switching to the cloud.

Disadvantages of Cloud Computing architecture

Here we have listed some of the key disadvantages of cloud computing:

 Downtime
 Vendor Lock-In
 Limited Control and Flexibility
 Security

Now, let's discuss these disadvantages of cloud computing in detail:

1. Downtime

Downtime can lead to lost customers, data failure, and lost revenue. So when it comes to the
advantages and disadvantages of cloud computing, downtime is at the top of the list for most
businesses.

Since cloud computing systems are all internet-based, there is no way to avoid downtime.
Moreover, if you are in a place with no connectivity, you will not be able to access the data,
software, or applications on the cloud.

No organization is immune to downtime. On 20th August 2020, Google suffered a mass


outage that lasted for over an hour. It became one of the most talked-about topics last year
and ultimately sent panic waves to several businesses around the world.

Here are some best practices you can follow to reduce downtime:

 Consider multi-region deployments to ensure business continuity


 Define a disaster recovery plan with the lowest recovery time and recovery point
objectives
 Design all your services with disaster recovery in mind
2. Vendor Lock-In

When we discuss the advantages and disadvantages of cloud computing, vendor lock-in is
another thing that tops the list. Although most cloud service providers assure that it is a
breeze to use the cloud and integrate your business needs with them, disengaging and moving
to the next vendor is still a huge problem. The applications that work fine with one platform
may not be compatible with another. The transition might pose a risk and the change could be
inflexible due to synchronization and support issues.

Here are some best practices you can follow for reducing dependency on one vendor:

 Implement a multi-cloud strategy


 When designing applications, build in flexibility to ensure portability in the future
 Under exactly what the cloud service vendors are selling to avoid lock-in

What exactly is cloud computing?

Cloud Computing means storing and accessing the data and programs on remote servers that
are hosted on the internet instead of the computer’s hard drive or local server. Cloud
computing is also referred to as Internet-based computing, it is a technology where the
resource is provided as a service through the Internet to the user. The data that is stored can
be files, images, documents, or any other storable document.

The following are some of the Operations that can be performed with Cloud Computing

 Storage, backup, and recovery of data

 Delivery of software on demand

 Development of new applications and services

 Streaming videos and audio

For more detail about cloud computing refer this link.

Overview of AWS, Azure and GCP

Amazon Web Services: AWS is a cloud service platform offered by Amazon. The benefits
of AWS has flexibility, cost-effectiveness, scalability, and security. AWS has currently 26
regions (Global availability). In AWS what services you used, you have to pay for it, AWS
provides over 200 featured services globally. Examples – Amazon EC2 (Elastic Compute
Cloud), Amazon S3, etc. It has a 33% global market share.

Microsoft Azure: Azure is the Microsoft cloud solution. It contains all different types of
services whether you need a VM, a big or small website, to run a database or your container,
or just some kind of Server support all those services are available in Azure. The beauty of it
is like all other cloud solution providers you pay for what you use, so instantiate buy yours by
yourself by going through the portal what you need and you will pay for it. Azure has more
than 200 services.

Google Cloud Platform: Google Cloud Platform is a public cloud computing service offered
by Google. It has multiple services example – computing, Storage, Networking, Big data,
Developer Tools, IOT, Cloud AI, Data Transfer, Identity & Security. Google Cloud Platform
is a world-leading company Google Cloud Platform has high-level security and GCP has the
biggest networking and better pricing model.

How to choose a cloud service provider

Choosing a cloud service provider can be a significant decision for any organization. Here are
some key factors to consider when making your choice:

 Service Offerings: Evaluate the range of services offered by each provider and match
them with your specific needs. Consider compute, storage, networking, databases,
AI/ML, IoT, analytics, and other specialized services.

 Scalability: Ensure that the provider can accommodate your current and future
scalability requirements. The ability to scale resources up or down based on demand
is crucial for many businesses.

 Performance and Reliability: Look into the provider’s track record for uptime and
reliability. Check for redundancy and failover mechanisms to minimize downtime.

 Security: Assess the provider’s security measures, including data encryption,


compliance certifications, access controls, and monitoring capabilities. Ensure they
meet your organization’s security and compliance requirements.

 Cost: Compare pricing structures, including pay-as-you-go vs. reserved instances,


discounts, and any hidden costs. Consider your budget and projected usage to
determine the most cost-effective option.

 Support and SLAs: Review the provider’s support options, response times, and
service level agreements (SLAs). Make sure they offer adequate support for your
needs, especially if you’re running critical workloads.

 Geographic Presence: Consider the provider’s global footprint and availability


zones. Choose a provider with data centers in regions that align with your business
requirements for latency, data sovereignty, and disaster recovery.

 Integration and Compatibility: Assess how well the provider’s services integrate
with your existing systems, tools, and workflows. Compatibility with third-party
software and open standards can be important for seamless integration.

 Community and Ecosystem: Look into the provider’s developer community,


documentation, and ecosystem of partners and third-party tools. A strong ecosystem
can provide additional resources, support, and innovation opportunities.
 Vendor Lock-In: Consider the potential for vendor lock-in and evaluate each
provider’s flexibility and portability options. Look for open standards and APIs that
facilitate interoperability and data migration.

 Future Roadmap and Innovation: Research the provider’s roadmap and


commitment to innovation. Choose a provider that continually invests in new
technologies and services to stay ahead of evolving business needs.

Advantages of AWS, Azure and GCP

Advantages of Amazon Web Services:

 Users using AWS may pay for only the resources they truly use. Therefore, AWS is
affordable.

 AWS provides many different kinds of the services and has a size and dynamic
developer and partner ecosystem.

 Users can access or store the data with a low latency because of the AWS’s multiple
data centers around the globe.

Advantages of Microsoft Azure:

 Azure’s global network of data centers guarantees a very low latency for retrieve any
type of the data.

 Azure provides a strong safety features.

 Easy communication with on-premises systems is made feasible by Azure, providing


a seamless hybrid experience. where security and deployment are better.

Advantages of Google Cloud Platform:

 The Google Cloud Platform enables resource scaling easy. As an example, we can
swiftly construct virtual machines if our business needs additional servers.

 Because of GCP’s extensive global network of data centers, accessing any data has
extremely little latency.

 GCP offers solid safety.

Use cases for AWS, Azure and GCP

Amazon Web Services

 AWS provides web app and web hosting and administrative services, include the
Amazon Elastic Compute Cloud (EC2).

 The backup data can be maintained on AWS. But for a free tier account, it is not free.
 We may distribute the user’s load between multiple instances utilizing an AWS
service comparable to a load balancer.

Microsoft Azure

 Hosting and managing web applications and websites. And you have to pay for what
you used.

 Building and deploying machine learning models using Azure Machine Learning.

 Developing the blockchain application using Azure.

Google Cloud Platform

 GCP is also used in games. GCP is running multiplayer games.

 GCP provides the virtual desktop experience.

 GCP is used to process the big query and analyze the big data.

Disadvantages of AWS, Azure and GCP

Disadvantages of AWS:

 While users may find AWS to be cost-effective, using specific services comes at more
expense.

 Since AWS offers numerous services, consumers might discover it challenging to get
around the platform.

 Given the wide range of services provided by AWS, some users might discover that
they are unable to tailor these services to suit their specific needs. Thus, AWS’s
customer service is inadequate.

Disadvantages of Azure:

 Comparing with some other cloud providers, Azure might be more expensive.

 Azure is also dependent on the Microsoft connection.

 Workloads operating on Linux cannot be as well accepted by Azure as workloads


operating on Windows.

Disadvantages of GCP:

 Comparing with some other cloud providers, GCP is more expensive.

 Because Google provides so many services, it can be difficult.


 The Google Cloud Platform is more dependent on Google or is a part of their
ecosystem.

Pricing

The cost of cloud services such AWS, Azure, Google Cloud Platform (GCP), and more varies
according to multiple variables, such geographical location, usage specificity, volume of
consumption, and any special agreements or discounts you may have with the provider.
However, I may offer you with an additional broad summary of the cost structures:

 Amazon Web Services (AWS):

o Pay-as-you-go pricing is available from AWS, so you only have to pay for the
resources you use.

o With a variety of pricing calculators and tools, you may compute fees
according to how much you use.

o In addition, AWS offers savings plans for predictable workloads and discounts
for reserved instances.

 Google Cloud Platform (GCP):

o Pay-as-you-go pricing is additionally utilized by Google Cloud Platform, with


billing based on usage.

o For many of its services, Google frequently emphasizes per-second billing,


which is beneficial for workloads which are transitory.

o GCP provides committed use discounts for committing to a specific instance


type for a term, as well as sustained use discounts for instances that are active
for a substantial amount of the month.

 Microsoft Azure:

o Azure offers a similar pay-as-you-go billing structure that depends on utilize.

o Azure offers an array of tools and pricing calculators that help in estimating
costs.

o Similar to AWS, Azure provides discounts for reserved instances and offers
Azure Hybrid Benefit to customers who currently possess a Windows Server
or SQL Server license.
Google Cloud Amazon Web
Subject Microsoft Azure
Platform services
2008 2009 2006
Launched
Cloud Storage Blocked storage S3
Storage Domain
Stackdriver monitoring Azure Application
Cloud watch
Monitoring services Insight

Persistent disk Page blobs EBS


Block Storage
Fortigate Next Generation Web Application
Application Gate Away
Firewall Firewall Firewall

Cloud Shield DDos Cloud Armor


Services(Protecti
on)
9% 22% 33%
Market Share
Cloud DNS Azure traffic manager Amazon Route 53
DNS Service
Compute Engine Management Azure Automation AWS Opsworks
Automation
22 Regions (61 zones Zones) 60+ Regions 26 Regions
Location
Cloud security Command
Azure Security Centre AWS Security Hub
Security Centre

You might also like