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

MODULE 1 - INTRODUCTION

BASICS OF CLOUD COMPUTING

Cloud Computing provides us a means by which we can access the applications as utilities, over
the Internet. It allows us to create, configure, and customize applications online. With Cloud,
Computing users can access database resources via the internet from anywhere for as long as they
need without worrying about any maintenance or management of actual resources.

What is Cloud?

The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is
something, which is present at remote locations. Cloud can provide services over the network,
i.e., on public networks or on private networks, i.e., WAN, LAN or VPN.

Applications such as e-mail, web conferencing, customer relationship management (CRM), all
run in the cloud.

Characteristics and benefits

Cloud computing has some interesting characteristics that bring benefits to both cloud service
consumers(CSCs) and cloud service providers(CSPs).

These characteristics are:

•No up-front commitments

• On-demand access

• Nice pricing

• Simplified application acceleration and scalability

• Efficient resource allocation

• Energy efficiency

• Seamless creation and use of third-party services

CLOUD COMPUTING MODELS

There are certain services and models working behind the scene making cloud computing
feasible and accessible to end-users.

Following are the working models for cloud computing:

1. Deployment Models
2. Service Models
SERVICE MODELS

Service Models are the reference models on which Cloud Computing is

based. These can be categorized into three basic service models as listed

below:

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 the delivery of technology infrastructure as an on-demand scalable service. IaaS provides
access to fundamental resources such as physical machines, virtual machines, virtual storage, etc.
Usually billed based on usage. Usually a multi-tenant virtualized environment. Can be coupled
with Managed Services for OS and application support

Platform as a Service (PaaS)

PaaS provides the runtime environment for applications, development & deployment tools, etc.
PaaS provides all of the facilities required to support the complete life cycle of building and
delivering web applications and services entirely from the Internet. Typically applications must
be developed with a particular platform in mind. Multi-tenant environments. Highly scalable
multi-tier architecture.

Software as a Service (SaaS)

The SaaS model allows using software applications as a service to end-users. SaaS is a software
delivery methodology that provides licensed multi-tenant access to software and its functions
remotely as a Web-based service. Usually billed based on usage. Usually a multi-tenant
environment. Highly scalable architecture.
DEPLOYMENT MODELS:

Clouds constitute the primary outcome of cloud computing. They are a type of parallel and
distributed system harnessing physical and virtual computers presented as a unified computing
resource. Clouds build the infrastructure on top of which services are implemented and delivered
to customers.

Different Types of Cloud Computing Deployment Models


● Public
● Private
● Community
● Hybrid
1. Public clouds: The cloud is open to the wider public.

Benefits of Public Cloud:

Minimal Investment – As a pay-per-use service, there is no large upfront cost and is ideal for
businesses who need quick access to resources
No Hardware Set-up – The entire infrastructure is fully funded by the cloud service providers
No Infrastructure Management – Does not require an in-house team to utilize the public cloud
Limitations of Public Cloud
Data Security and Privacy Concerns – Since it is accessible to all, it does not fully protect
against cyber-attacks and could lead to vulnerabilities
Reliability Issues – Since the same server network is open to a wide range of users, it can lead to
malfunction and outages
Service/License Limitation – While there are many resources that you can exchange with
tenants, there is a cap on usage
2. Private clouds: The cloud is implemented within the private premises of an institution and
generally made accessible to the members of the institution or a subset of them Benefits of
Private Cloud
Data Privacy – It is ideal for storing corporate data where only authorized personnel gets access
·Security – Segmentation of resources within the same infrastructure can help with better access
and higher levels of security
Supports Legacy Systems – This model supports legacy systems that cannot access the public
cloud

Limitations of Private Cloud:

Higher Cost – With the benefits that you get, the investment will also be larger than the public
cloud. Here, you will pay for software, hardware, and resources for staff and training. ·Fixed
Scalability – The hardware you choose will accordingly help you scale in a certain direction
High Maintenance – Since it is managed in-house, the maintenance costs also increase

3. Hybrid or heterogeneous clouds: The cloud is a combination of the two previous solutions
and most likely identifies a private cloud that has been augmented with resources or services
hosted in a public cloud.

Benefits of Hybrid Cloud:

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

Security – Since data is properly segmented, the chances of data theft from attackers is
significantly reduced

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

Limitations of Hybrid Cloud

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

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

4. Community clouds: The cloud is characterized by a multi-administrative domain involving


different deployment models(public, private, and hybrid), and it is specifically designed to
address the needs of a specific industry.
Benefits of Community Cloud

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

Setup Benefits – The protocols and configuration of a community cloud must align with industry
standards. This allows customers to work much more efficiently

Limitations of Community Cloud

Shared Resources – Due to restricted bandwidth and storage capacity, community resources
often pose challenges

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

CLOUD COMPUTING BENEFITS

Flexibility: Users can scale services to fit their needs, customize applications, and access cloud
services from anywhere with an internet connection.

Scalability: Cloud infrastructure scales on-demand to support fluctuating workloads.

Storage options: Users can choose public, private, or hybrid storage offerings, depending on
security needs and other considerations.

Control choices: Organizations can determine their level of control with as-a-service options.
These include software as a service (SaaS), platform as a service (PaaS), and infrastructure as a
service (IaaS).

Tool selection: Users can select from a menu of prebuilt tools and features to build a solution
that fits their specific needs.

Security features: Virtual private cloud, encryption, and API keys help keep data secure.

Efficiency: Enterprise users can get applications to market quickly, without worrying about
underlying infrastructure costs or maintenance.
Accessibility: Cloud-based applications and data are accessible from virtually any
internet-connected device.

Speed to market: Developing in the cloud enables users to get their applications to market
quickly.
Data security: Hardware failures do not result in data loss because of networked backups.
Savings on equipment: Cloud computing uses remote resources, saving organizations the cost
of servers and other equipment.

Pay structure: A “utility” pay structure means users only pay for the resources they use.

Strategic value: Cloud services give enterprises a competitive advantage by providing the most
innovative technology available.

Streamlined work: Cloud service providers (CSPs) manage the underlying infrastructure,
enabling organizations to focus on application development and other priorities.

Regular updates: Service providers regularly update offerings to give users the most up-to-date
technology.

Collaboration: Worldwide access means teams can collaborate from widespread locations.

Competitive edge: Organizations can move more nimbly than competitors who must devote IT
resources to managing infrastructure. The cloud computing platform helps employees who are
located in different geographies to collaborate in a highly convenient and secure manner.

Mobility: Employees who are working on the premises or at remote locations can easily access
all the could services. All they need is Internet connectivity.

CLOUD COMPUTING RISKS


1. Less Visibility and Lack of control:
a. When transitioning to the cloud, some visibility and control over the assets will be
lost because of policies and infrastructure.
2. Internet APIs can be compromised:
a. APIs will have some vulnerabilities, exposing them to potential threats.
3. Vendor Lock-in:
a. A situation where the cost of switching to a different vendor is so high that the
customer is essentially stuck with the original vendor.
4. Increased complexity strains IT Staff
5. Insider attack
6. Trust & Security

CLOUD COMPUTING CHALLENGES


Since we live in the digital age, cloud computing technology is expanding. Though the
opportunities are great, this technology suffers from few challenges as follows:
1. Security Issues: Security risks of cloud computing have become the top concern because:
a. The user is unable to see the location where the data is stored and being processed.
b. Sensitive and proprietary information is maintained by a third-party service
provider.
2. Cost management and containment: The on-demand and scalable nature of cloud
computing services make it sometimes difficult to define and predict quantities and costs. 3.
Lack of resources/expertise: Many companies and enterprises are facing a lack of resources
and expertise today. Organizations are increasingly placing more workloads in the cloud
while cloud technologies continue to rapidly advance. Due to these factors, organizations are
having a tough time keeping up with the tools.
4. Governance/Control: Proper IT governance should ensure IT assets are implemented and
used according to agreed-upon policies and procedures; ensure that these assets are
properly controlled and maintained, and ensure that these assets are supporting your
organization’s strategy and business goals.
5. Compliance: Compliance is an issue for anyone using backup services or cloud storage.
Every time a company moves data from the internal storage to a cloud, it is faced with
being compliant with industry regulations and laws. Ex: The healthcare organizations in
the USA have to comply with HIPAA (Health Insurance Portability and Accountability
Act of 1996), public retail companies have to comply with SOX (Sarbanes-Oxley Act of
2002) and PCI DSS (Payment Card Industry Data Security Standard). Depending on the
industry and requirements, every organization must ensure these standards are respected
and carried out.
6. Managing Multiple Clouds: The state of multi-cloud has grown exponentially in recent
years. Companies are shifting or combining public and private clouds. Managing these
multi-cloud architectures is difficult.
7. Migration: Migration is the process of moving an application to the cloud. An although
moving a new application is a straightforward process when it comes to moving an
existing application to a cloud environment, many cloud challenges arise as follows: a.
Security challenges
b. Slow data migrations
c. Application downtime

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.
● 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.
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

The components of the back-end cloud architecture are mentioned below.

Application
● It can either be 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:
○ Amazon S3
○ Oracle Cloud-Storage
○ 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

Benefits of Cloud Computing Architecture

The cloud computing architecture is designed in such a way that:


● It solves latency issues and improves data processing requirements
● It reduces IT operating costs and gives good accessibility to access data and digital
tools
● It helps businesses to easily scale up and scale down their cloud resources
● It has a flexibility feature that gives businesses a competitive advantage ●
It results in better disaster recovery and provides high security
● It automatically updates its services
● It encourages remote working and promotes team collaboration

Cloud Computing Architecture Components

Some of the important components of Cloud Computing architecture are as follows:


● Hypervisor
● Management Software
● Deployment Software
● Network
● Cloud Server
● Cloud Storage
Hypervisor
● It is a virtual machine monitor which provides Virtual Operating Platforms to every user
● It also manages guest operating systems in the cloud
● It runs a separate virtual machine on the back end which consists of software and
hardware
● Its main objective is to divide and allocate resources
Management Software

● Its responsibility is to manage and monitor cloud operations with various strategies to
increase the performance of the cloud
● Some of the operations performed by the management software are:
○ compliance auditing
○ management of overseeing disaster
○ contingency plans
Deployment Software

● It consists of all the mandatory installations and configurations required to run a cloud
service
● Every deployment of cloud services are performed using a deployment software
● The three different models which can be deployed are the following:
● SaaS - Software as a service hosts and manages applications of the end-user.
Example: Gmail

● PaaS - Platform as a service helps developers to build, create, and manage


applications.
Example: Microsoft Azure

● IaaS - Infrastructure as a service provides services on a pay-as-you-go pricing


model.
Network

● It connects the front-end and back-end. Also, allows every user to access cloud
resources
● It helps users to connect and customize the route and protocol
● It is a virtual server that is hosted on the cloud computing platform
● It is highly flexible, secure, and cost-effective

Cloud Storage

● Here, every bit of data is stored and accessed by a user from anywhere over the internet
● It is scalable at run-time and is automatically accessed
● Data can be modified and retrieved from cloud storage over the web

CLOUD VIRTUALIZATION

Virtualization is a technique, which allows sharing a single physical instance of a resource or an


application among multiple customers and organizations. The main usage of Virtualization
Technology is to provide the applications with the standard versions to their cloud users. By
using virtualization, all severs and the software application which is required by other cloud
providers are maintained by third party people, and the cloud providers have to pay the money on
a monthly or annual basis.

Types of Virtualization:
● Desktop virtualization
● Network virtualization
● Storage virtualization
● Data virtualization
● Application virtualization
● Datacenter virtualization
● CPU virtualization
● GPU virtualization
● Linux virtualization
● Cloud virtualization

INTRODUCTION TO GOOGLE APP ENGINE

Google App Engine (GAE) or App Engine is a Platform as a Service (PaaS) product provided by
google cloud. It is a service for developing and hosting web applications in Google’s data
centers. App Engine automatically allocates additional resources to the servers to accommodate
the increased load.

GAE allows developers to build and run applications using Google’s infrastructure. These
applications are required to be written in one of a few supported languages, namely: Java,
Python, PHP, Ruby and Go. GAE removes the burden of maintaining servers and lets the
developers concentrate on app front-end development and functionality.

Features of GAE:

1. Popular Languages: The App Engine supports numerous languages for developers and
offers the flexibility to import libraries and frameworks. The applications can be
developed and tested locally using SDK (Software Development Toolkit).
2. Fully Managed: GAE allows developers to add the web application code to the platform
while the infrastructure is managed by GAE. The engine ensures that the web applications
are secure and running. It also protects against malware and threats by enabling firewalls.
3. Effective Diagnostic Services: Any bugs in the application can be easily monitored by the
engine and logging is provided to the developers to fix the bugs.
4. Application Versioning: The various versions of the application can be maintained
easily in Google App Engine.
5. Traffic Splitting: The app engine automatically routes traffic to different versions of the
apps by splitting the traffic evenly.

Benefits of GAE:

1. Quality Services and APIs: Google App Engine has several built-in APIs and those
services allow the developers to build robust applications with rich features. 2. Just add the
code: With zero configuration and server management, the developers can just add the code
by eliminating the burden to manage the infrastructure.
3. Pay only for what you use: GAE has a daily and a monthly billing cycle.
a. Daily: Users will be charged daily for the resources used.
b. Monthly: All the daily charges are calculated and added for a month and a bill is
produced to the user.
4. Availability: GAE lets the developers develop applications remotely, while the cloud
service manages the infrastructure needs by providing high availability.

Companies using GAE:

Cloud Platform as a Service (PaaS) Software is a widely used technology, and many people are
seeking popular, easy-to-use software solutions with application deployment, development tools,
and development environment. One such PaaS provider is Google App Engine. The following
are the companies using GAE:

1. Disney
2. Snapchat
3. Youtube
4. Accenture
5. Coca-Cola

You might also like