Google Cloud Platform: Introduction To Cloud Computing

You might also like

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

Google Cloud Platform

Introduction to Cloud Computing


• Introduction to Cloud Computing
• What is Cloud Computing
• Cloud Characteristics
• Cloud Computing Service Model
• Deployment Models in Cloud Computing
• Benefits and Limitations of Cloud Computing

What is Cloud Computing?


• Cloud is a metaphor for the Internet. When we say cloud, we are actually
referring to internet (since a network has no fixed size or shape)

• Cloud computing is the on-demand delivery of computing power, database


storage, applications and other IT resources through a cloud services
platform via the internet with pay-as-you-go pricing model rather than
paying up-front.

• The phrase cloud computing means "Internet-based computing" where


different services - such as servers, storage and applications are delivered
to an organization through the Internet.

• In simple terms, cloud computing implies deploying of applications, storing


and accessing data over the Internet instead of our local computer /
network.

• Cloud Computing refer to a variety of services available over the Internet


that deliver computing functionality on the cloud service provider's
infrastructure.

• A cloud computing infrastructure consists of highly optimized data centers


(actually these are third party data centers from the end user point of view),
that provide various hardware, software and resources. A Cloud services
platform such as Amazon Web Services (AWS), Google Cloud Platform
(GCP), Microsoft Azure own and maintain the network-connected hardware
required for these such services and their customers provision to use what
they need. All the management activities are performed usually over a
console available over the web. Command line option for management is
also provided by many service providers.

• Cloud platform hide the complexity and details of the underlying


infrastructure from users and applications by providing very simple
graphical interface or API (Applications Programming Interface).

• The Cloud platform provides on demand services that are always on,
anywhere, anytime and anyplace.

Page | 1
Google Cloud Platform

Why are organizations shifting to Cloud computing technologies?


• It is vital to understand that cloud computing is changing the face of
Information Technology in corporates and thereby changing the workplace
for the IT professionals who manage the network and develop & deploy the
applications in the cloud.

• Organizations no longer need to own and maintain expensive network


equipment which results in reducing the resources (time as well as money)
involved in maintaining and updating their hardware servers and software.
Cloud service providers deliver the software which results in software that
would be latest.

• Organizations become agile because they are able to grow as well as shrink
computing resources as per the demand, paying only for the resources they
actually use. This prevents excess payments which may have been there
for bigger infrastructure in order to handle the occasional demand on the
servers.

• Applications can be managed from Remote places through the Internet from
any geographical location.

Cloud Characteristics
• Remotely hosted: Services or data are hosted on remote infrastructure but
available globally.

• Ubiquitous: Services or data are available from anywhere through standard


internet protocols like HTTP.

• Resilient: Cloud providers generally mirrors solutions to multiple data


centers to minimize downtime in the event of a disaster like flood or
earthquake.

• On-demand self-service: A customer can provision computing capabilities,


such as server CPU speed and storage as needed without requiring human
interaction from service provider. Such capabilities are sold on demand,
mostly per second / minute / hour. (this is Pay as you go model)

• Rapid elasticity: A user can utilize as much or as little of the cloud capability
as required by them. For example, resources (ex: webserver of a site on
the cloud) can be scaled to meet high traffic in peak times or scaled down
in times of less traffic.

• Broad network access: Cloud infrastructure capabilities are available over


the network and accessed through standard mechanisms that promote use
by heterogeneous thin or thick client platforms (e.g., mobile phones,
laptops, and PDAs).

Page | 2
Google Cloud Platform

• Fully managed by the provider: The user is abstracted from the details of
how the service is managed in the cloud. For example, the user need not
worry about aspects such as hardware used, software updates/patches,
plug-ins, firewall security. There is optimum utilization of resources and as
well as sharing of resources. Everything is taken care of by the provider.

Cloud Computing Service Models


1) Infrastructure as a Service (IaaS)
2) Platform as a Service (PaaS)
3) Software as a Service (SaaS)

1) IaaS (Infrastructure as a Service):


• It is a cloud computing offering where the cloud vendor provides access to
computing resources such as servers, storage and networking.

• Cloud customers will use their own operating systems/platforms and


deploy applications in the service provider's infrastructure.

• Instead of purchasing hardware outright, the customers pay per usage

• Infrastructure is scalable depending on processing and storage needs.

• Saves enterprises the costs of buying and maintaining their own hardware.

• Since the data is on the cloud, there can be no single point of failure. e.g.:
Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft
Azure, Rackspace Cloud.

2) PaaS (Platform as a Service):


• It is a cloud computing offering that provides users with a cloud
environment that has hardware and operating system for which they can
develop, deploy and manage applications.

• In addition to storage and other computing resources, cloud customers


provided with tools for developing and testing their own applications.

• Helps in improving efficiency as they do not have to worry about resource


procurement, software maintenance and patching.

• Provides the developers with the necessary tools to create, test, host and
maintain applications. Enables organizations to focus on development
without having to worry about underlying infrastructure. Facilitates
collaborative work even if teams work remotely.

• Service providers manage operating systems, server, security software


and backups.

Page | 3
Google Cloud Platform

• Cloud providers offer a readily available Internet-based platform for


developers to create applications for such platform. e.g.: Amazon Web
Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Rackspace
Cloud

3) SaaS (Software as a Service):


• It is a cloud computing offering that provides users with access to a cloud-
based software. The applications reside on a remote cloud network
accessed through the web.

• SaaS vendors provide users with software and applications via a


subscription model.

• Users do not have to manage, install or upgrade software; SaaS providers


manage this.

• Data is secure in the cloud; equipment failure does not result in loss of
data.

• Applications are accessible from almost any internet-connected device,


from virtually anywhere in the world. e.g.: email, CRM, ERP and Office apps
are the common SaaS examples.

The following figure summarizes the functionality of the three service models
of the cloud.

Page | 4
Google Cloud Platform

Benefits and Limitations of Cloud Computing

• Cost efficiency
• Ease of use
• Improved Performance
• Reduced Software Cost and Instant Software Updates
• Unlimited Storage Capacity
• Durability of data
• High availability of the data
• Device Independence

Limitations of Cloud Computing


• Requires a constant Internet connection.
• Does not work well with low-speed connections.
• Stored data might not be secure.
• Technical issues
• Vulnerability to attack

Emerging cloud technologies and services

• Cloud providers are quite competitive and they constantly expand their
services to differentiate themselves from their competition.

• This has led public laaS providers to offer far more than common compute
and storage instances.

• For example, serverless or event-driven computing is a cloud service that


executes specific functions - such as image processing and database
updates.

• Traditional cloud deployments require users to establish a compute instance


and load code into that instance. The user then decides how long to run and
pay for that instance.

• With serverless computing, developers simply create code and the cloud
provider loads and executes that code in response to real-world events, so
users do not have to worry about the server or instance aspect of the cloud
deployment.

• Users only pay for the number of transactions that the function executes.
AWS Lambda, Google Cloud Functions and Azure Functions are examples of
serverless computing services.

• FaaS > Function as a Service

Page | 5
Google Cloud Platform

Cloud Computing Deployment Models


Let us have an overview the types of cloud computing systems available.

When we discuss cloud computing, we generally talk about one of three possible
deployment choices for application code: Infrastructure as a Service (laaS),
Platform as a Service (PaaS) or Software as a Service (SaaS). Which one is right
for our project depends on our specific needs for the code base that we are working
on.

There are three main deployment models in Cloud Computing.

1) Public Cloud:
• These are the cloud networks which are open for use by general public and
they exist beyond the firewall of an organization, fully hosted and managed
by cloud service providers.

• Our data is stored in the provider's data center and the provider is
responsible for the management and maintenance of the data center.

• Because we are sharing computing resources among a network of users,


the public cloud offers greater flexibility and cost savings.

• This is good option if our demand for computing resources fluctuates. We


have to purchase the capacity on the basis of usage and can scale up or
scale down server capabilities based on traffic and other dynamic
requirements.

• This type of cloud environment is appealing to many companies because it


reduces lead times in testing and deploying new products.
• They are more vulnerable than private clouds and there is no control of
resources used or who shares them. Some organization feel it is less ideal
for services using sensitive data to compliance the regulations.

• Note: Even though we don't control the Security of a public cloud, all of our
data remains separate from others and security breaches of public clouds
are rare.

2) Private Cloud:
• A private cloud hosting solution, also known as an internal or enterprise
cloud, resides on company's intranet or hosted data center where all of our
data is protected behind a firewall.

• This can be a great option for companies who already have expensive data
centers because they can use their current infrastructure.

• Organizations go for a private cloud when they have strict security and data
privacy issues.

Page | 6
Google Cloud Platform

• The main purpose is to gain the benefits of cloud architecture without giving
up the control of maintaining own data center.

• The main drawback people see with a private cloud is that all management,
maintenance and updating of data centers is the responsibility of the
company

3) Hybrid Clouds:

• They consist of external and internal providers, namely a mix of public and
private clouds.

• Secure & critical apps are managed by an organization and the not-so-
critical & secure apps by the third-party vendor. For example, you can use
a public cloud to interact with the clients but keep their data secured within
a private cloud. Most companies are now switching to Hybrid clouds.

Page | 7
Google Cloud Platform

Compute Engine

Create a new VM (Compute Engine)

• Login google cloud console (https://console.cloud.google.com/).


• Go to Navigation Menu -> Compute Engine -> VM Instances.
• Click on create.
• Keep default region and zone.
• Keep default machine configuration.
• Boot disk -> Change. Select Ubuntu operating system and Ubuntu 18.04
LTS version.
• Keep default Boot Disk type and size.
• Keep default Identity and API access.
• Under Firewall section, select both Allow HTTP traffic and Allow HTTPS traffic
options.
• Click on Create.

Login to VM

• Go to VM instance and click on SSH option.

Install nginx web server and JDK 8 on VM.

• First switch to root user before installing any packages / softwares by using
sudo -i command.
• Install nginx web server and jdk 8 using below command.
apt get update && apt-get install nginx openjdk-8-jdk -y
• To Check if nginx is properly installed or not, open browser and type
http://<Instance_External_IP_Address> Make sure it is not https.
You will get home page of nginx.
• To check if Java 8 is properly installed or not, execute below command.
java -version

Page | 8
Google Cloud Platform

Create an HTML and run on nginx server.

• Let’s navigate to /var/www/html directory using below command.


cd /var/www/html
• Create a new index.html file and add below code.
vi index.html

<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>Hello World!!!!</h1>
</body>
</html>
• You can access page by http://<Instance_External_IP_address>

Create a simple Java Program and run it

• Create a new file HelloWorld.java and add below code.


vi HelloWorld.java

public class HelloWorld {

public static void main(String [] args) {


System.out.println("Hello World!!!");
}
}

• Let’s compile and run the program.


javac HelloWorld.java
java HelloWorld

Create a snapshot from disk

• Go to Navigation Menu -> Compute Engine -> Snapshots


• Click on Create Snapshot
• Provide the appropriate name to snapshot.
• Select source disk.
• Select the location as Multi-regional.
• Click on Create.

Create a VM from a custom image

• Login google cloud console (https://console.cloud.google.com/).


• Go to Navigation Menu -> Compute Engine -> VM Instances.

Page | 9
Google Cloud Platform

• Click on create.
• Keep default region and zone.
• Keep default machine configuration.
• Boot disk -> Change. Select Snapshots. Select snapshot that we have
created in previous step.
• Keep default Boot Disk type and size.
• Keep default Identity and API access.
• Under Firewall section, select both Allow HTTP traffic and Allow HTTPS traffic
options.
• Click on Create.

Another way to create a snapshot

• Go to Navigation Menu -> Compute Engine -> Disks


• Click on Create Snapshot.

Create a custom image from disk

• Stop your VM (Compute Engine) First.


• Go to Navigation Menu -> Compute Engine -> Disks
• Click on Create Image

• Provide name to Image is "my-custom-ubuntu".


• Select Source -> Disk
• Select Source disk

P a g e | 10
Google Cloud Platform

• Select Location as Multi-regional


• Select Encryption -> Google-managed key
• Click on Create.

Create a VM from a custom image

• Login google cloud console (https://console.cloud.google.com/).


• Go to Navigation Menu -> Compute Engine -> VM Instances.
• Click on create.
• Keep default region and zone.
• Keep default machine configuration.
• Boot disk -> Change. Select Custom Images. In Shows Images from option,
select your project. Under Image section select an image that we have
created in previous task i.e. "my-custom-ubuntu".
• Keep default Boot Disk type and size.
• Keep default Identity and API access.
• Under Firewall section, select both Allow HTTP traffic and Allow HTTPS traffic
options.
• Click on Create.

P a g e | 11

You might also like