Unit 5 - Cloud Computing - DC

You might also like

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

UNIT 5 : CLOUD COMPUTING:

Definition of Cloud Computing – Characteristics of Cloud – Cloud Deployment Models –


Cloud Service Models – Driving Factors and Challenges of Cloud – Virtualization – Load
Balancing – Scalability and Elasticity – Replication – Monitoring – Cloud Services and
Platforms: Compute Services – Storage Services – Application Services.

Definition of Cloud Computing:

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.
Cloud computing = Software as a service + Platform as a service + Infrastructure as a
service + Data as a service
There are the following operations that we can do using cloud computing:
● Developing new applications and services
● Storage, back up, and recovery of data
● Hosting blogs and websites
● Delivery of software on demand
● Analysis of data
● Streaming videos and audios

Components of Cloud Computing

1. Client Infrastructure
Client Infrastructure is a front-end component that provides a GUI. It helps users to
interact with the Cloud.
2. Application
The application can be any software or platform which a client wants to access.
3. 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)
4. Runtime Cloud
Runtime cloud offers the execution and runtime environment to the virtual machines.
5. 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.

Characteristics of Cloud Computing

1) Agility

The cloud works in a distributed computing environment. It shares resources


among users and works very fast.

2) High availability and reliability

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

3) High Scalability

Cloud offers "on-demand" provisioning of resources on a large scale, without


having engineers for peak loads.

4) Multi-Sharing

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

5) 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 (typically provided by a third-party) and accessed via the Internet, users
can connect from anywhere.
6) 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.

7) Low Cost

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

8) Services in the pay-per-use mode

Application Programming Interfaces (APIs) are provided to the users so that they
can access services on the cloud by using these APIs and pay the charges as per
the usage of services.

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.

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.
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.
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
organization in the community

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.

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.

Cloud Service Models :

There are the following three types of cloud service models -

1. Infrastructure as a Service (IaaS)


2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)

Infrastructure as a Service (IaaS)

● IaaS is also known as Hardware as a Service (HaaS). It is a computing


infrastructure managed over the internet.
● The main advantage of using IaaS is that it helps users to avoid the cost and
complexity of purchasing and managing the physical servers.
● Typically IaaS is a service where infrastructure is provided as outsourcing to
enterprises such as networking equipment, devices, database, and web servers.
● IaaS customers pay on a per-user basis, typically by the hour, week, or month.
Some providers also charge customers based on the amount of virtual machine
space they use.
● It simply provides the underlying operating systems, security, networking, and
servers for developing such applications, and services, and deploying
development tools, databases, etc.

Characteristics of IaaS

There are the following characteristics of IaaS -

● Resources are available as a service


● Services are highly scalable
● Dynamic and flexible
● GUI and API-based access

Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure,


Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Advantages of IaaS:
1. Cost-Effective: Eliminates capital expense and reduces ongoing cost and
IaaS customers pay on a per-user basis, typically by the hour, week, or
month.
2. Website hosting: Running websites using IaaS can be less expensive than
traditional web hosting.
3. Security: The IaaS Cloud Provider may provide better security than your
existing software.

Disadvantages of laaS :
1. Security concerns: Users are responsible for securing their own data and
applications, which can be a significant undertaking.
2. Limited access: Cloud computing may not be accessible in certain
regions and countries due to legal policies.
Platform as a Service (PaaS)

● PaaS cloud computing platform is created for the programmer to develop, test,
run, and manage the applications.
● PaaS services are hosted in the cloud and accessed by users simply via their
web browser.
● A PaaS provider hosts the hardware and software on its own infrastructure. As a
result, PaaS frees users from having to install in-house hardware and software to
develop or run a new application. Thus, the development and deployment of the
application take place independent of the hardware.
● The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, or storage, but has control over
the deployed applications.

Characteristics of PaaS

There are the following characteristics of PaaS -

● Accessible to various users via the same development application.


● Integrates with web services and databases.
● Builds on virtualization technology, so resources can easily be scaled up or down
as per the organization's need.
● Support multiple languages and frameworks.
● Provides an ability to "Auto-scale".

Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App
Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.
Advantages of PaaS:
1. Simple and convenient for users: It provides much of the infrastructure and
other IT services, which users can access anywhere via a web browser.
2. Efficiently managing the lifecycle: It is designed to support the complete
web application lifecycle: building, testing, deploying, managing, and
updating.
3. Efficiency: It allows for higher-level programming with reduced complexity
thus, the overall development of the application can be more effective.

Disadvantages of Paas:
1. Limited control over infrastructure: PaaS providers typically manage the
underlying infrastructure and take care of maintenance and updates, but this
can also mean that users have less control over the environment and may not
be able to make certain customizations.
2. Dependence on the provider: Users are dependent on the PaaS provider
for the availability, scalability, and reliability of the platform, which can be a
risk if the provider experiences outages or other issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate certain
types of workloads or applications, which can limit the value of the solution for
certain organizations.

Software as a Service (SaaS)

● SaaS is also known as "on-demand software". It is a software in which the


applications are hosted by a cloud service provider.
● Users can access these applications with the help of internet connection and web
browser.
● It removes the need to install and run applications on our own computers or in
the data centers eliminating the expenses of hardware as well as software
maintenance.
● SaaS provides a complete software solution that you purchase on a
pay-as-you-go basis from a cloud service provider.
● Most SaaS applications can be run directly from a web browser without any
downloads or installations required.
● SaaS applications are sometimes called Web-based software, on-demand
software, or hosted software.

Characteristics of SaaS

There are the following characteristics of SaaS -

● Managed from a central location


● Hosted on a remote server
● Accessible over the internet
● Users are not responsible for hardware and software updates. Updates are
applied automatically.
● The services are purchased on the pay-as-per-use basis
Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx,
ZenDesk, Slack, and GoToMeeting.

Advantages of SaaS
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web
browser without needing to download and install any software. This reduces
the time spent in installation and configuration and can reduce the issues that
can get in the way of the software deployment.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers rely
on a SaaS provider to automatically perform the updates.

Disadvantages of Saas :

1. Limited customization: SaaS solutions are typically not as customizable as


on-premises software, meaning that users may have to work within the
constraints of the SaaS provider’s platform and may not be able to tailor the
software to their specific needs.
2. Dependence on internet connectivity: SaaS solutions are typically
cloud-based, which means that they require a stable internet connection to
function properly. This can be problematic for users in areas with poor
connectivity or for those who need to access the software in offline
environments.
3. Security concerns: SaaS providers are responsible for maintaining the
security of the data stored on their servers, but there is still a risk of data
breaches or other security incidents.

Driving Factors and Challenges of Cloud


1) Increased security vulnerabilities.
2) Reduced operational governance control.
3) Limited portability between cloud providers.
4) Multi-regional compliance and legal issues.

● Use of the cloud for business purposes means that the responsibility over
data security becomes shared with the cloud provider.
● Organization extends their trust boundary to cloud consumers to external
clouds.
● It is clear that the security issue has played the most important role in
hindering cloud computing acceptance.
● Without doubt, putting your data, running your software on someone else's
hard disk using someone else's CPU appears daunting to many.
● Well-down security issues such as data loss, phishing, pose serious
threats to organization's data and software.

Virtualization:
Virtualization is a technique to separate a service from the underlying physical
delivery of that service. It is the process of creating a virtual version of something like
computer hardware. It was initially developed during the mainframe era. It involves
using specialized software to create a virtual or software-created version of a

computing resource rather than the actual version of the same resource. With the
help of Virtualization, multiple operating systems and applications can run on the
same machine and its same hardware at the same time, increasing the utilization and
flexibility of hardware.

Work of Virtualization in Cloud Computing


Virtualization has a prominent impact on Cloud Computing. In the case of cloud
computing, users store data in the cloud, but with the help of Virtualization, users
have the extra benefit of sharing the infrastructure. Cloud Vendors take care of the
required physical resources, but these cloud providers charge a huge amount for
these services which impacts every user or organization. Virtualization helps Users
or Organisations in maintaining those services which are required by a company
through external (third-party) people, which helps in reducing costs to the
company. This is the way through which Virtualization works in Cloud Computing.
Benefits of Virtualization
● More flexible and efficient allocation of resources.
● Enhance development productivity.
● It lowers the cost of IT infrastructure.
● Remote access and rapid scalability.
● High availability and disaster recovery.
● Pay per use of the IT infrastructure on demand.
● Enables running multiple operating systems.
Types of Virtualization
1. Application Virtualization
2. Network Virtualization
3. Desktop Virtualization
4. Storage Virtualization
5. Server Virtualization
6. Data virtualization

Types of Virtualization
1. Application Virtualization: Application virtualization helps a user to have remote
access to an application from a server. The server stores all personal information and
other characteristics of the application but can still run on a local workstation through
the internet. An example of this would be a user who needs to run two different versions
of the same software.
2. Network Virtualization: The ability to run multiple virtual networks with each having
a separate control and data plan. It co-exists together on top of one physical network. It
can be managed by individual parties that are potentially confidential to each other.
Network virtualization provides a facility to create and provision virtual networks, logical
switches, routers, firewalls, load balancers, Virtual Private Networks (VPN), and
workload security within days or even weeks.
Network Virtualization
3. Desktop Virtualization: Desktop virtualization allows the users’ OS to be remotely
stored on a server in the data center. It allows the user to access their desktop virtually,
from any location by a different machine. Users who want specific operating systems
other than Windows Server will need to have a virtual desktop. The main benefits of
desktop virtualization are user mobility, portability, and easy management of software
installation, updates, and patches.
4. Storage Virtualization: Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers aren’t aware of exactly where their
data is stored. It makes managing storage, from multiple sources be managed and
utilized as a single repository. Storage virtualization software maintains smooth
operations, consistent performance, and a continuous suite of advanced functions
despite changes, breaks down, and differences in the underlying equipment.
5. Server Virtualization: This is a kind of virtualization in which the masking of server
resources takes place. Here, the central server (physical server) is divided into multiple
different virtual servers by changing the identity number, and processors. So, each
system can operate its operating systems in an isolated manner. Where each
sub-server knows the identity of the central server. It causes an increase in
performance and reduces the operating cost by the deployment of main server
resources into a sub-server resource. It’s beneficial in virtual migration, reducing energy
consumption, reducing infrastructure costs, etc.
Server Virtualization
6. Data Virtualization: This is the kind of virtualization in which the data is collected
from various sources and managed at a single place without knowing more about the
technical information like how data is collected, stored & formatted then arranged that
data logically so that its virtual view can be accessed by its interested people and
stakeholders, and users through the various cloud services remotely. Many big giant
companies are providing their services like Oracle, IBM, At scale, Cdata, etc.

Load Balancing:
Load balancing is an essential technique used in cloud computing to optimize resource
utilization and ensure that no single resource is overburdened with traffic. It is a process
of distributing workloads across multiple computing resources, such as servers, virtual
machines, or containers, to achieve better performance, availability, and scalability.
1. In cloud computing, load balancing can be implemented at various levels,
including the network layer, application layer, and database layer. The most
common load balancing techniques used in cloud computing are:
2. Network Load Balancing: This technique is used to balance the network
traffic across multiple servers or instances. It is implemented at the network
layer and ensures that the incoming traffic is distributed evenly across the
available servers.
3. Application Load Balancing: This technique is used to balance the
workload across multiple instances of an application. It is implemented at the
application layer and ensures that each instance receives an equal share of
the incoming requests.
4. Database Load Balancing: This technique is used to balance the workload
across multiple database servers. It is implemented at the database layer and
ensures that the incoming queries are distributed evenly across the available
database servers.

Load balancing helps to improve the overall performance and reliability of cloud-based
applications by ensuring that resources are used efficiently and that there is no single
point of failure. It also helps to scale applications on demand and provides high
availability and fault tolerance to handle spikes in traffic or server failures.
Scalability and Elasticity:
Difference Between Cloud Elasticity and Scalability :

Cloud Elasticity Cloud Scalability

Elasticity is used just to meet the


Scalability is used to meet the static
1 sudden up and down in the workload
increase in the workload.
for a small period of time.

Elasticity is used to meet dynamic Scalability is always used to address


2 changes, where the resources need the increase in workload in an
can increase or decrease. organization.

Elasticity is commonly used by small Scalability is used by giant


companies whose workload and companies whose customer circle
3
demand increases only for a specific persistently grows in order to do the
period of time. operations efficiently.
It is a short term planning and
Scalability is a long term planning
adopted just to deal with an
4 and adopted just to deal with an
unexpected increase in demand or
expected increase in demand.
seasonal demands.

Replication:
● Cloud replication refers to the process of replicating data from on-premises
storage to the cloud, or from one cloud instance to another.
● Traditional data replication involves replicating data across different physical
servers on the company's local network.
● Replication is used to create and maintain multiple copies of the data in the
cloud. Cloud enables rapid implementation of replication solutions for disaster
recovery of organizations.
● With cloud-based data replication organizations can plan for disaster recovery
without making any capital expenditures on purchasing, configuring and
managing secondary site locations.
● Types of replications are array-based, network-based and host-based replication.
● An array-based data replication strategy uses built-in software to automatically
replicate data. With this type of data replication, the software is used in
compatible storage arrays to copy data between each storage array.
● Host-based data replication uses the servers to copy data from one site to
another site. Host-based replication software usually includes options like
compression, encryption and, throttling, as well as failover.
● Network-based data replication uses a device or appliance that sits on the
network in the path of the data to manage replication. The data is then copied to
a second device. These devices usually have proprietary replication technology
but can be used with any host server and storage hardware.

Monitoring
● Cloud monitoring comprises a series of strategies and practices for analyzing,
tracking, and managing cloud-based services and applications.
● As businesses scale their infrastructure and digital footprint, it becomes vitally
important for IT administrators and DevOps teams to maintain visibility into the
performance of their digital assets. Cloud monitoring provides an efficient way to
achieve this visibility while providing an enterprise with actionable insights to
improve availability and user experiences.
Some other capabilities that cloud monitoring software provides include the following:

1. Real-time, 24x7 monitoring of virtual machines, services, databases, and


applications

2. Multilayer visibility into application, user, and file access behavior across all
cloud-based applications and services

3. Advanced reporting and auditing capabilities for ensuring regulatory standards


are being met

4. Large-scale performance monitoring integrations across multicloud and hybrid


cloud environments.

Cloud Services and Platforms

● Cloud computing is the delivery of various services through the internet, including
tools and applications such as data storage, software, and networking.
● It allows users to access resources on demand, without needing to manage the
underlying infrastructure, such as servers, storage, and networking components.

Compute services:

● Compute services contain the fundamental element of cloud computing systems.


Example of a compute service is Amazon EC2.
● Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides
resizable compute capacity in the cloud.
● It is designed to make web-scale computing easier for developers and system
administrators.
● Amazon EC2 reduces the time required to obtain and boot new server instances
● (called Amazon EC2 instances) to minutes, allowing users to quickly scale
capacity, both up and down, as your computing requirements change. EC2
allows creating Virtual Machines (VM) on-demand.
● Pre-configured template Amazon Machine Image (AMI) can be used to get
running immediately. Creating and sharing your own AMI is also possible via the
AWS Marketplace.

Features:
● Scalable: Auto scaling policies can be defined for compute services that are
triggered when the monitor metrics go above pre-defined thresholds.
● Secure: It provides various security features.
● Cost effective.
● Flexible.

Amazon Elastic Compute Cloud:

● Amazon Web service offers EC2 which is a short form of Elastic Compute Cloud
(ECC) it is a cloud computing service offered by the Cloud Service Provider
AWS.
● You can deploy your applications in EC2 servers without worrying about the
underlying infrastructure.
● You configure the EC2-Instance in a very secure manner by using the VPC,
Subnets, and Security groups.
● You can scale the configuration of the EC2-instance you have configured based
on the demand of the application by attaching the autoscaling group to the
EC2-instance.
● You can scale up and scale down the instance based on the incoming traffic of
the application.
● The following figure shows the EC2-Instance which is deployed in VPC (Virtual
Private Cloud).
Features of AWS EC2:

● Functionality:EC2 provides its users with a true virtual computing platform,


where they can use various operations and even launch another EC2 instance
from this virtually created environment. This will increase the security of the
virtual devices. Not only creating but also EC2 allows us to customize our
environment as per our requirements, at any point of time during the life span of
the virtual machine.
● Operating Systems: Amazon EC2 includes a wide range of operating systems
to choose from while selecting your AMI. Not only are these selected options, but
users are also even given the privilege to upload their own operating systems
and opt for that while selecting AMI during launching an EC2 instance. Currently,
AWS has the most preferred set of operating systems available on the EC2
console.
● Software: Amazon is single-handedly ruling the cloud computing market,
because of the variety of options available on EC2 for its users. It allows its users
to choose from various software present to run on their EC2 machines. This
whole service is allocated to AWS Marketplace on the AWS platform. Numerous
software like SAP, LAMP, Drupal, etc are available on AWS to use.

Azure Compute Services:


● Azure Compute Services are the core set of cloud computing services that allow
you to deploy and manage workloads on Microsoft Azure. These services
provide the infrastructure, tools, and platforms for computing and storage needs.
● Compute services are the building blocks of any cloud solution, providing the
underlying technology that enables your applications and workloads to run in the
cloud.
● Compute services leverage the power of Microsoft Azure to bring you scalable,
secure, reliable and cost-effective cloud computing. Microsoft Azure Compute
services provide the infrastructure, tools, and platforms needed to create, deploy,
and manage cloud computing solutions.
● Compute services allow you to quickly and securely deploy workloads in the
cloud and provide the scalability and reliability needed for applications and
services.
Here are a few of the more well-known services
● Azure Virtual Machines
● Azure Container Instances
● Azure App Service
● Azure Functions (or server-less computing)
● Networking
● Database services

Azure Virtual Machines


● Azure Virtual Machines (VMs) are cloud-based virtual machines that are
hosted on Azure, Microsoft’s cloud computing platform. VMs are used to
create and configure virtualized operating systems and applications, making it
possible to run multiple copies of multiple operating systems and applications
on a single physical server.
● VMs are used to host websites, applications, and databases, or to provide
secure storage and remote access to corporate data. Virtual machines are
created using a set of pre-configured images that are stored in the Azure
Marketplace.Once the virtual machine is created, it can be customized to
meet the specific needs of the organization.

Azure Container Instances


● Azure Container Instances (ACI) is a service that provides an easy and
efficient way to run Docker containers in the cloud without having to manage
any virtual machines or other infrastructure. With Azure Container Instances,
customers can quickly and easily deploy and scale their applications without
having to worry about server infrastructure.
● Azure Container Instances is designed for applications that require fast
startup times and a high degree of agility and flexibility.
● Azure Container Instances is a great choice for customers looking to quickly
deploy and scale their applications in the cloud. It provides a cost-effective
and easy-to-use environment for running containers and can help customers
save time and money.

Azure App Service


● Azure App Service is a Platform-as-a-Service (PaaS) offering from Microsoft
Azure that allows developers to quickly create, deploy and manage web,
mobile and API apps. It provides a fully managed, highly scalable, secure,
and reliable cloud-based environment for creating and running modern web,
mobile, and API applications.
● With App Service, developers can quickly create and deploy applications to
the cloud without having to worry about managing the underlying
infrastructure. App Service also provides built-in features such as
auto-scaling, backup, security, and encryption, making it an ideal platform for
developing applications.
Storage Services

● A cloud storage service is a business that maintains and manages its customers'
data and makes that data accessible over a network, usually the internet.
● Most of these types of services are based on a utility storage model. They tend to
offer flexible, pay-as-you-go pricing and scalability. Cloud storage providers also
provide for unlimited growth and the ability to increase and decrease storage
capacity on demand.
● Leading use cases for a cloud storage service include backup, disaster recovery
(DR), collaboration and file sharing, archiving, primary data storage and near-line
storage.

Google cloud storage:


● Google Cloud Storage is the object storage service offered by Google Cloud. It
provides some very interesting out-of-the-box features such as object versioning
or fine-grain permissions (per object or bucket), that can make development easy
and help reduce operational overheads. Google Cloud Storage serves as the
foundation of several different services.
● Google Cloud provides three main services for different types of storage:
Persistent Disks for block storage, Filestore for network file storage, and Cloud
Storage for object storage. These services are at the core of the platform and act
as building blocks for the majority of the Google Cloud services.

Google Cloud Persistent Disks (Block Storage)

● Block storage is the traditional storage type, both in the cloud and in on-premises
systems. A Google Cloud Persistent Disk provides block storage and it is used
by all virtual machines in Google Cloud (Google Cloud Compute Engine).
● The easiest way to understand it is by imagining those Persistent Disks as mere
USB drives.
● They can be attached or detached from virtual machines and enable you to build,
as the name suggests, data persistence for your services whenever virtual
machines are started, stopped, or terminated.
● In addition to Google Cloud Compute Engine virtual machines, these Persistent
Disks are also used to power the Google Kubernetes Engine service.
● Very much like a virtual disk in your local machine, a Google Cloud Persistent
Disk can either be HDD or SSD, the latter for high I/O performance. In addition,
there is also the ability to choose where they are located and what type of
availability is needed: they can be Regional, Zonal, or Local.
Google Cloud Filestore (Network File Storage)

● Filestore is the fully managed Google Cloud service that provides network file
storage. Network file storage is not a new cloud concept and very much like
block storage it also exists in your typical on-premises data center.
● A network file storage, as the name suggests, provides a disk storage over the
network. This enables the development of systems with multiple parallel services
that have the ability to read and write files from the same disk storage mounted
over the network.

Google Cloud Storage (Object Storage)

● In Cloud Storage, different objects are grouped in unique “namespaces” called


buckets. A bucket can hold multiple objects yet, a single object will belong to only
one bucket.
● This model for storage is widely popular in cloud-native systems due to its low
cost (cents per GB) combined with the serverless approach and simplicity.
● The heavy work of data replication, availability, integrity, capacity planning, etc. is
then left to the cloud provider.
● The drawback of object storage is that there is no other way to access the data
besides the REST API;

Application services:

● Application Services are a pool of services such as load balancing, application


performance monitoring, application acceleration, autoscaling,
micro‑segmentation, service proxy and service discovery needed to optimally
deploy, run and improve applications.
● The process of configuring, monitoring, optimizing and orchestrating different app
services is known as application services management.

Google app engine:


● A scalable runtime environment, Google App Engine is mostly used to run Web
applications.
● These dynamic scales as demand changes over time because of Google’s vast
computing infrastructure. Because it offers a secure execution environment in
addition to a number of services, App Engine makes it easier to develop scalable
and high-performance Web apps.
● Google’s applications will scale up and down in response to shifting demand.
Croon tasks, communications, scalable data stores, work queues, and
in-memory caching are some of these services.
● The App Engine SDK facilitates the testing and professionalization of
applications by emulating the production runtime environment and allowing
developers to design and test applications on their own PCs.
● When an application is finished being produced, developers can quickly migrate
it to App Engine, put in place quotas to control the cost that is generated, and
make the programmer available to everyone. Python, Java, and Go are among
the languages that are currently supported.
● The development and hosting platform Google App Engine, which powers
anything from web programming for huge enterprises to mobile apps, uses the
same infrastructure as Google’s large-scale internet services.
● It is a fully managed PaaS (platform as a service) cloud computing platform that
uses in-built services to run your apps.
● You can start creating almost immediately after receiving the software
development kit (SDK).
● You may immediately access the Google app developer’s manual once you’ve
chosen the language you wish to use to build your app.
Features of App Engine

Runtimes and Languages

To create an application for an app engine, you can use Go, Java, PHP, or Python. You
can develop and test an app locally using the SDK’s deployment toolkit. Each
language’s SDK and nun time are unique. Your program is run in a:
● Java Run Time Environment version 7
● Python Run Time environment version 2.7
● PHP runtime’s PHP 5.4 environment
● Go runtime 1.2 environment

Generally Usable Features

These are protected by the service-level agreement and depreciation policy of the app
engine. The implementation of such a feature is often stable, and any changes made to
it are backward-compatible. These include communications, process management,
computing, data storage, retrieval, and search, as well as app configuration and
management. Features like the HRD migration tool, Google Cloud SQL, logs, datastore,
dedicated Memcached, blob store, Memcached, and search are included in the
categories of data storage, retrieval, and search.

Features in Preview

In a later iteration of the app engine, these functions will undoubtedly be made broadly
accessible. However, because they are in the preview, their implementation may
change in ways that are backward-incompatible. Sockets, MapReduce, and the Google
Cloud Storage Client Library are a few of them.

Experimental Features

These might or might not be made broadly accessible in the next app engine updates.
They might be changed in ways that are irreconcilable with the past. The “trusted tester”
features, however, are only accessible to a limited user base and require registration in
order to utilize them.

Generally Usable Features

● These are protected by the service-level agreement and depreciation policy of


the app engine.
● The implementation of such a feature is often stable, and any changes made to it
are backward-compatible.
● These include communications, process management, computing, data storage,
retrieval, and search, as well as app configuration and management. Features
like the HRD migration tool, Google Cloud SQL, logs, datastore, dedicated
Memcached, blob store, Memcached, and search are included in the categories
of data storage, retrieval, and search.
Advantages of Google App Engine
The Google App Engine has a lot of benefits that can help you advance your app ideas.
This comprises:

1. Infrastructure for Security: The Internet infrastructure that Google uses is


arguably the safest in the entire world. Since the application data and code
are hosted on extremely secure servers, there has rarely been any kind of
illegal access to date.
2. Faster Time to Market: For every organization, getting a product or service
to market quickly is crucial. When it comes to quickly releasing the product,
encouraging the development and maintenance of an app is essential. A firm
can grow swiftly with Google Cloud App Engine’s assistance.
3. Quick to Start: You don’t need to spend a lot of time prototyping or deploying
the app to users because there is no hardware or product to buy and
maintain.
4. Easy to Use: The tools that you need to create, test, launch, and update the
applications are included in Google App Engine (GAE).

You might also like