Unit 1 - Cloud
Unit 1 - Cloud
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
Broad Network Access: The Computing services are generally provided over standard
networks and heterogeneous devices.
Resource Pooling: The IT resource (e.g., Compute, Networks, Storage, Applications, and
Database services) present are shared across multiple applications and occupants in an
uncommitted manner. Multiple clients are provided service from the same physical resource
of the cloud.
Rapid Elasticity: The Computing services should have IT resources that are able to scale out
and quickly and on a needed basis. Whenever the user requires services they will be provided
to him and it is scale-out as soon as the requirement of the user gets over.
Measured Service: The resource utilization is tracked and monitored for each application
and occupant, it will provide both the user and the resource provider and they are accountable
for what they have been used. This is done for various reasons like monitoring billing,
security concerns, and effective use of resources.
Highly Scalable:You can scale up/scale down your operation and storage needs as quickly to suit
your situation, allowing flexibility as required.
More Flexible :The cloud offers businesses more flexibility overall versus hosting on a local
server.
Reduced Infrastructure Cost: Moving to the cloud may reduce the cost of managing and
maintaining your IT systems
Higher Security: Users will buy more than in traditional environments, based on their reputations
for their integrity, confidentiality, and resilience, and the safety services of their providers.
High Availability : The term High Availability refers to a system (a network, a server array or
cluster, etc.) that is designed to avoid loss of service by reducing or managing failures and
minimizing planned downtime.
Disaster Recovery : One of the factors that contribute to the success of a business is controlling
the resources. Cloud services provide quick data recovery for all kinds of emergency scenarios,
from natural disasters to power outages.
Fault Tolerance : The term “High Availability” refers to a system (a network, database, storage,
and a server array or cluster, etc.) that is designed to avoid loss of service by reducing or
managing failures of the equipment and minimizing planned downtime.
No Location Constraints: For cloud computing, you have the ability to access your data from
the home, office, or any other location (providing you have an internet connection).
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Compute: Computing as a Service includes virtual central processing units and virtual main
memory for the Vms that is provisioned to the end- users.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to
support the web application life cycle.
Characteristics of PaaS
There are the following characteristics of PaaS -
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App
Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.
PaaS providers provide the Programming languages, Application frameworks, Databases, and
Other tools:
1. Programming languages :
PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java,
PHP, Ruby, Perl, and Go.
2. Application frameworks
3. Databases
4. Other tools
PaaS providers provide various other tools that are required to develop, test,and deploy the
applications.
PaaS Providers:
Characteristics of SaaS
There are the following characteristics of SaaS -
SaaS Services:
There are the following services provided by SaaS providers -
Business Services - SaaS Provider provides various business services to start-up the business. The
SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer Relationship
Management), billing, and sales.
Document Management - SaaS document management is a software application offered by a third
party (SaaS providers) to create, manage, and track electronic documents.
Example: Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the general public, so social
networking service providers use SaaS for their convenience and handle the general public's
information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-
mail providers offering their services using SaaS.
SaaS PROVIDERS:
Difference between IaaS, PaaS, and SaaS
The below table shows the difference between IaaS, PaaS, and SaaS -
It provides a virtual data center to It provides virtual platforms and It provides web software and
store information and create tools to create, test, and deploy apps to complete business
platforms for app development, apps. tasks.
testing, and deployment.
Public Cloud
Private Cloud
The private cloud is the opposite of the public cloud. It’s a dedicated environment
for just one user or organization, so you don’t have to share your hardware with
anyone else. In a private cloud, all the hardware is controlled by the organization,
rather than being shared with others. It’s sometimes called the "internal cloud"
because it’s used within a specific organization or group.
A private cloud is set up in a secure environment, protected by strong firewalls,
and managed by the organization's IT team. This setup gives the organization
more control and flexibility over its cloud resources.
Private Cloud
Hybrid Cloud
o Front End
o Back End
Back End
The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security
mechanism, virtual machines, deploying models, servers, traffic control mechanisms, etc.
Note: Both front end and back end are connected to others through a network, generally using
the internet connection.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to
interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to the client’s
requirement.
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite
similar to SaaS, but the difference is that PaaS provides a platform for software creation, but
using SaaS, we can access software over the internet without the need of any platform.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco
Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network
devices, virtualization software, and other storage resources that are needed to support the
cloud computing model.
7. Management
8. Security
9. Internet
The Internet is medium through which front end and back end can interact and communicate
with each other.
Cloud Computing has its applications in almost all the fields such as business, entertainment, data
storage, social networking, management, entertainment, education, art and global positioning
system, etc.
Business Applications
Cloud computing has made businesses more collaborative and easy by incorporating various apps
such as MailChimp, Chatter, Google Apps for business, and Quickbooks.
SN Application Description
MailChimp
1 It offers an e-mail publishing platform. It is widely employed by the businesses to
design and send their e-mail campaigns.
Chatter
2 Chatter app helps the employee to share important information about organization in
real time. One can get the instant feed regarding any issue.
Quickbooks
4 It offers online accounting solutions for a business. It helps in monitoring cash
flow, creating VAT returns and creating business reports.
Data Storage and Backup
Box.com, Mozy, Joukuu are the applications offering data storage and backup services in cloud.
SN Application Description
Box.com
1 Box.com offers drag and drop service for files. The users need to drop the files into
Box and access from anywhere.
Mozy
2
Mozy offers online backup service for files to prevent data loss.
Joukuu
3 Joukuu is a web-based interface. It allows to display a single list of contents for files
stored in Google Docs, Box.net and Dropbox.
Management Applications
There are apps available for management task such as time tracking, organizing
notes. Applications performing such tasks are discussed below:
SN Application Description
Toggl
1
It helps in tracking time period assigned to a particular project.
Evernote
2 It organizes the sticky notes and even can read the text from images which helps the
user to locate the notes easily.
Outright
3 It is an accounting app. It helps to track income, expenses, profits and losses in real
time.
Social Applications
There are several social networking services providing websites such as Facebook, Twitter, etc.
SN Application Description
Facebook
1 It offers social networking service. One can share photos, videos, files, status and
much more.
Twitter
2 It helps to interact with the public directly. One can follow any celebrity, organization
and any person, who is on twitter and can have latest updates regarding the same.
Entertainment Applications
SN Application Description
Audio box.fm
1 It offers streaming service. The music files are stored online and can be played from
cloud using the own media player of the service.
Art Applications
SN Application Description
1 Moo
It offers art services such as designing and printing business cards,
postcards and mini cards.
INTRODUCTION TO OPENSTACK
OpenStack is a cloud OS that is used to control the large pools of computing, storage, and
networking resources within a data center. OpenStack is an open-source and free software
platform. This is essentially used and implemented as an IaaS for cloud computing.
We can call the OpenStack a software platform that uses pooled virtual resources to create and
manage private and public cloud. OpenStack offers many cloud-related services (such as
networking, storage, image services, identity, etc.) by default. This can be handled by users
through a web-based dashboard, a RESTful API, or command-line tools. OpenStack manages a
lot of virtual machines; this permits the usage of physical resources to be reduced.
Open Source: Under the Apache 2.0 license, OpenStack is coded and published. Apache allows
the community to use it for free.
Open Design: For the forthcoming update, the development group holds a Design Summit every
6 months.
Open Development: The developers maintain a source code repository that is freely accessible
through projects like the Ubuntu Linux distribution via entig100s.
Open Community: OpenStack allows open and transparent documentation for the community.
Components of OpenStack
Major components of OpenStack are given below:
Object Storage (Swift): To store and retrieve arbitrary data in the cloud, object storage is used. In
Swift, it is possible to store the files, objects, backups, images, videos, virtual machines, and other
unstructured data. Developers may use a special identifier for referring the file and objects in
place of the path, which directly points to a file and allows the OpenStack to manage where to
store the files.
Block Storage (Cinder): This works in the traditional way of attaching and detaching an external
hard drive to the OS for its local use. Cinder manages to add, remove, create new disk space in the
server. This component provides the virtual storage for the virtual machines in the system.
Networking (Neutron): This component is used for networking in OpenStack. Neutron manages
all the network-related queries, such as IP address management, routers, subnets, firewalls, VPNs,
etc. It confirms that all the other components are well connected with the OpenStack.
Dashboard (Horizon): This is the first component that the user sees in the OpenStack. Horizon is
the web UI (user interface) component used to access the other back-end services. Through
individual API (Application programming interface), developers can access the OpenStack's
components, but through the dashboard, system administrators can look at what is going on in the
cloud and manage it as per their need.
Identity Service (Keystone): It is the central repository of all the users and their permissions for
the OpenStack services they use. This component is used to manage identity services like
authorization, authentication, AWS Styles (Amazon Web Services) logins, token-based systems,
and checking the other credentials (username & password).
Image Service (Glance): The glance component is used to provide the image services to
OpenStack. Here, image service means the images or virtual copies of hard disks. When we plan
to deploy a new virtual machine instance, then glance allows us to use these images as templates.
Glance allows virtual box (VDI), VMware (VMDK, OVF), Raw, Hyper-V (VHD) and KVM
(qcow2) virtual images.
Telemetry (Ceilometer): It is used to meter the usage and report it to OpenStack's individual
users. So basically, Telementry provides billing services to OpenStack's individual users.
Orchestration (Heat): It allows the developers to store the cloud application's necessities as a file
so that all-important resources are available in handy. This component organizes many complex
applications of the cloud through the templates, via both the local OpenStack REST API and
Query API.
Shared File System (Manila): It offers storage of the file to a virtual machine. This component
gives an infrastructure for managing and provisioning file shares.
Elastic Map-reduce (Sahara): The Sahara component offers a simple method to the users to
preplanned Hadoop clusters by referring to the multiple options such as the Hadoop version,
cluster topology and hardware details of nodes and some more.
AWS?
AWS stands for Amazon Web Services, It is an expanded cloud computing platform provided
by Amazon Company. AWS provides a wide range of services with a pay-as-per-use pricing
model over the Internet such as Storage, Computing power, Databases, Machine
Learning services, and much more.
Why Is It Used?
AWS facilitates for both businesses and individual users with effectively hosting the applications,
storing the data securely, and making use of a wide variety of tools and services improving
management flexibility for IT resources.
• Amazon VPC (Virtual Private Cloud): It enables the users to create isolated networks with
option of public and private expose within the AWS cloud, providing safe and adaptable
configurations of their resources
• AWS Autoscaling – It can manage fleets of servers and the incoming traffic. Multiple
instances are created when needed.
• AWS IAM- AWS Identity and Access Management (IAM). Unquestionably, security has a
lot to do with access and what gets accessed. This service offers an effective fortification of
sensitive data and AWS resources.
• Amazon SNS(Simple Notification Service)-This is an event-driven computing hub that
alerts subscriber services to perform tasks automatically in response to specified triggers.
• AWS Beanstalk- It offers autoscaling to ensure automatic updates of new software. And, this
service runs automatically. AWS Beanstalk really is a timesaver. It automates the setup,
configuration, and provisioning of other AWS services such as EC2, RDS, and S3.
AWS ARCHITECTURE
• AWS architecture is a process of planning, designing, and implementing AWS resources in a
cloud infrastructure. Various AWS resources connect in a structured way that allows data to
flow seamlessly.
Five Pillars of AWS Architecture
1. Security
2. Reliability
3. Performance Efficiency
4. Cost Optimization
5. Operation Excellence
ELB or Elastic Load Balancer uses request routing algorithms to distribute the traffic
automatically. It handles all the incoming and outgoing traffic and can scale its load balancing
capability based on real-time traffic. It ensures high performance with high fault tolerance.
AmazonCloudFront
Amazon CloudFront is a Content Delivery Network (CDN) service. It handles the delivery of
static and dynamic content stored in global network locations. The content can be of many types
like streaming content, images, gif, etc. It enhances the performance by requesting content from
the nearest location automatically.
AmazonRDS
Amazon RDS (Relational Database Service) is a database service that stores data in tables. It is an
easily accessible, manageable and cost-efficient service.
AmazonElastiCache
Amazon ElastiCache is a fully managed in-memory cache service that stores data and maintains
the cache. It improves the performance of web applications with fast retrieval of information from
the in-memorycache.
AWS Architecure contains Web, App and Database tiers. The AWS region bounds all the
components present in the architecture. Inside the region are the availability zones AZ1 and AZ2.
The inner boxes in the above image are of VPC (Virtual Private Cloud). In a VPC, three subnets
are present as Web, App and Database tier from top to bottom.
1. When a user visits the app URL, it gets checked by the DNS (Domain Name
System) management system called Route 53.
2. The user request will then go through the load balancer that maintains all the incoming and
outgoing traffic.
3. This traffic will finally go to the web and app tier and then connect with the database tier.
4. The database tier contains one Amazon ElastiCache for fast data access and one Amazon
RDS DB Instance. One more Amazon RDS DB Instance is present in Availability Zone 2 that
will act as a standby database for disaster recovery solutions.
5. One S3 Bucket connects with the Web tier and the database tier for the backup solution to
store the static data like images and GIFs.
6. The request to access the content will go to the Content Delivery Network that
is CloudFront.
7. Also, this complete Architecture can integrate with other services like CloudWatch, Amazon
Dynamo DB, SES, AWS SNS, and more.
AWS Advantages & Disadvantages