Nell’iperspazio con Rocket: il Framework Web di Rust!
Cloud Computing - Introduction
1. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Mr. Rupesh Mishra
CloudComputingLab
CSL803
St. Francis Institute of Technology
Department of Computer Engineering
1
1
2. CourseOutcome
1. Understand concepts of Cloud Computing
2. Understand Virtualisation
3. Build private cloud
4. Analyse security issues in cloud
5. Deploy application on Commercial Cloud
6. Demonstrate various service models
Students will be able to
2
3. Term-Work [50 M]
Journal Marks
Experiments 6-10 15
Assignments 2 5
Mini Project 1 25
Attendance 100% 5
Practical and Oral Examination of [25 Marks]
3
4. MiniProject
1. Private cloud
2. Cloud Security
3. Load balancing
4. Virtualisation Technologies
5. Create application on cloud
Evaluation based on use of Cloud Computing Tools
4
8. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Finite Resources
• Finite users handled per second
• Cost
• How to handle Load?
• Well written code
• Specification of Hardware
• Increase number of server
• Load Balancer
8
9. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Increase the number of servers
• Multiple Server Name (Different but
similar)
• Multiple names for one solution
• Servers replaced with high end
machine
• Extra domain names
• DNS server to automatically redirect
the traffic evenly among the servers
• Heterogeneous Server
• Caching (IP address of server
cached to local machine)
• Cached Server Crashed
• Load Balancer ip address is cached
• Server crashed ?
• Heartbeat request to Load Balancer
• Single Point of Failure
• Multiple Load Balancer
• Heartbeat request between Load
Balancer
LoadHandlling
9
10. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Internet
Why cloud computing?
HighAvailability
10
11. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Complexity
• High Cost
• Redundant connectivity and wiring
• More physical space
• Protection of resources
• Power management
• Increased operation
• Human intervention
• Hardware failure and maintenance
• Business failed
11
12. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Servers and Infrastructure
• Buy Servers
• Maintaining and Monitoring
Servers
• Troubleshooting Servers
• Security
• Web Traffic
• Not constant
• Upscaling or Downscaling
• Huge amount of data
WhyCloud
12
13. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Storing Data/Application on remote server
Process Data/Application from remote servers
Accessing Data/Application via Internet
13
14. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Outsource all the complexity
• Abstract implementation details
• No worries about HW failure and
maintenance
• No latency
• Topology
• Required Configuration
• Fixed
• Autoscaling
Requirement
14
15. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Storage
• Computing
• Moore’s Law
• Software version of Hardware
• Physical Space
• IaaS
Technology
Technology is getting Better, Faster and Cheaper
Higher computing power can be fitted in the same space
15
16. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
16
Eniac Machine Data Center
17. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Limited Capability
• Finite Speed
• Moore’s Law not applicable
• Excess Computing availability
• How to utilise increased capacity?
• Build a business
• Sharing of resources (Time Sharing)
• Save Time and Money
• Cost and Configuration of Servers
Humans
17
18. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Advantages
• No Maintenance
• Faster Data Recovery
• Scalability
• Data Privacy and Security
• Reduced Cost
18
20. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Compute Node
• Connected in Tree topology
• Backend Node
• Storage
• User facing Servers
• Accept users request
• Software Services
• Operating system and User Application
• IP, Switch, Router, Routing Protocol, etc
• High Power
Onsite
Data Center
Geo-Distributed
20
23. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
A virtual machine is a computer in which
Software and Hardware are created as a
software solution.
WhatisVirtualMachine?
23
24. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
The process of providing a virtual
version of essential IT assets.
WhatisVirtualisation?
24
25. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Hardware Layer
Operating System
Application
Hardware Layer
Operating System
Hyperviser
OS-1
B/L
OS-2
B/L
OS-N
B/L
Virtualisation
Traditional System Virtualisation
App-1 App-2 App-N
25
26. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Hardware
• Software
representation of
Hardware
• OS is installed on
the Hardware
resources
• Storage (SDS)
• Software defined
storage
• A layer is created
between HDD and
computer to make
it more accessible
• Networking (SDN)
• Logical network
infrastructure is
created on top of
physical network
• Easy
Accommodation
26
27. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Benefits
Efficient use of
Server Capacity Floor Space Power Consumption
27
28. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• CPU uses less than 10% normally
• Less physical hardware -> Less space
• Less power uses
• KVM
• Solution to run virtual machine on
top of data centre
• Hypervisor based virtualisation
• IaaS is Software based virtualisation
• VM runs on top of small and highly
optimised kernel
• Kernel allows VM to efficiently use
the hardware
• Limitation
• Self service solution
• Admin is needed
• Limited Scalability
• Heavyweight
• Different kernel for VM
28
30. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• A package contain everything
needed to run application
• No Kernel
• Kernel is provided by the container
engine running on the container host
• Container helps to run VM with same OS
on one Kernel
• Operating System Virtualisation
• Running very efficient and minimal
instance on top of existing OS
• Solves the problem of software
installation and dependency.
• Containers can run independently
• No worry about the development
environment
• Run application on different platform
Container
30
33. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Image Container
A
D L
• Starting point of container
• Contains everything
needed to run a container
• Application
• Dependency
• Libraries
Kernel components are
provided by Host OS
Execute (Run)
• Run Image on Host OS
• Run process on Host OS
• CGroup
• Union File System
• Namespaces
33
34. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Security
• Global System Resources
• Process thinks is the only one accessing the resources
• User of one container can not access details of
another container
• Reserve and allocate isolated resources to a container
• RAM, CPU, Instance, etc
• Namespaces and cgroups.
34
35. • OS partition kernel resources using namespaces to support virtualisation
container
• Wraps Global System Resources in an abstraction
• Process within namespace thinks is the only one accessing the resources
• Limits what can be seen
Namespace
35
36. • Control Groups
• Use to reserve and allocate isolated resources to a container
• Provides a mechanism for aggregating/partitioning set of task
• Limits how much can be used
• Resource metering and limiting and Access Control
CGroups
36
37. It merges different file system into one virtual file system
UnionFileSystem
37
38. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Image Container
Host OS
Starting point of container
Contains everything to run a container
Provides
Kernel is to run image
Isolation and Security
Component of container
Run on specific OS kernel version
Run process
Many instances of application deployed
easily on top of a single kernel
38
39. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Container solves the problem of
dependency and installation
• Complete Environment
• More efficient than Virtual Machine
• Many containers run on same
kernel
• Efficient utilisation of resources
• Kernel provides isolated and secure
environment to run container
• User of one container can not access
the resources allocated to another
container
• Easy deployment due to small size of
container
• Containers are not Virtual Machines
ImportentPoints
39
40. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Bare metal Virtualisation
• Containers are used to run multiple
copies of a single application
• Virtual machines are needed to run
multiple application
• Containers and virtual machines run
together is IaaS
Container&VirtualMachine
40
41. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Not Cross Platform
• Container content depends on the kernel
• Dependency may require a container to run on same kernel
• Weak Isolation
• Kernel Crash
• Easy Deployment
• Many containers deployed and no one knows what is running and where
Need for Orchestration
Limitation
41
42. • Companies are offering important part of Infrastructure
• Solution to work with containers in effective way to provide
• Orchestration
• Scalability
• Redundancy
Solution
42
43. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• Organise container into logical group
called pods and provide Orchestration,
Scalability and Redundancy at pod level
• It ensures that pods are running on the
server, where needed
• It can increase the number of pods that
are dealing with the current workload
• During increased demand it can
increases the number of pods
• During low demand it is easy to shut the
pods to avoid unnecessary use of
available resources
• Load Balancer is used in front of the
Kubernets pod to distribute load evenly
• Application will not survive on outage of
nodes hosting pods
• Hosting of pods on more than one node
for High Availability
Kubernetes
43
44. • Containers provide new option to deal with IT
• For end user Virtual Machine and Container provides similar
access to a service
• Not much difference for end user to access services from either
VM or Container
• Containers can be integrated in cloud environment
• The IaaS cloud is used to provide access to a Application
• How to offer VM or Container?
• Openstack was initially created to offer access to instance
• Initially these instances were VM
• Containers Integrated in the cloud to access services
44
45. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Shared Pool of Resources,
data and Devices
On demand access
Data Center
At the end of VM lifecycle
nothing exists
45
46. Definition
"Cloud computing is a model for enabling ubiquitous, convenient,
on-demand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage, applications
and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction."
National Institute of Standards and Technology's (NIST)
46
47. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• On-Demand self-service
• Broad network access
• Resource pooling
• Rapid elasticity or expansion
• Measured service
• Massive Scale
• Data Intensive
• Cloud Programming Paradigm for Big-data
Characteristics
47
49. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Cloud
Computing
IaaS • Provide virtual computing resources
over the internet
• Abstract users from Physical Machine
• Technical and IT
• Virtualisation
• Servers
• Storage
• Networking
• Load balancer
• Firewall
• AWS - EC2
• Self Service portal
• Scalable Storage and Networking
• It makes IT more flexible
49
50. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
• IaaS does not make the work of IT easy
• Setup of large IaaS Cloud Specialists
are needed
• Multi disciplinary Knowledge is
required
50
51. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Cloud
Computing
PaaS • Provide platform to deploy custom created
application using programming language,
tools, etc provided by cloud provider
• No control over the underlying architecture
• Virtual Machine
• Technical and IT
• Middleware
• Application Runtime
• Database
• Identity
• Google App Engine
51
52. Mr. Rupesh Mishra | rupeshmishra@sfit.ac.in
Cloud
Computing
SaaS
• Provide Application or Software
• Abstract users from Technical Details
• Business User/ Customer
• Email
• Google Doc
• Industry Application
• ERP/CRM/HR
• Salesforce
52