3. Course agenda
• Introduction
• Demo and comparison
• Cloud architecture
• Hands on AWS
• Security & encryption
• Hands on GCP
• The future of the cloud
5. Definition
5
Wikipedia - Cloud computing is the on-demand availability
of computer system resources, especially data storage and computing power,
without direct active management by the user. The term is generally used to
describe data centers available to many users over the Internet.
Academic (simple) - provide on-demand resources or services over a
network, often the Internet, with the scale and reliability of a data center.
Mine – distributed mainframe, reachable from any device connected to the
internet
7. Three layers of services
7
IaaS
Infrastructure as a Service
PaaS
Platform as a Service
SaaS
Software as a Service
7
8. SaaS
PaaS
IaaS
IaaS, PaaS and SaaS Point of View
8
Platform as a Service
PRODUCT: storage, compute and other
services to simplify application
development, especially of web
applications.
USERS: Application Developers
Software as a Service
PRODUCT: Finished application
available on demand to end user
USERS: Software consumer
Infrastructure as a Service
PRODUCT: Compute power, storage and
networking infrastructure over the
internet, provided as a virtual machine
image
USERS: Developers
8
14. • No hardware or software to manage
• Service delivered through a browser
• Examples:
• CRM
• Financial Planning
• Human Resources
• Word processing
• Commercial Services:
• Salesforce.com
• email
SaaS - Software delivery model
14
42. What is there in a Cloud?
Individuals Corporations Non-Commercial
Cloud provisioning
Storage
Provisioning
OS
Provisioning
Network
Provisioning
Service(apps)
Provisioning
SLA(monitor),
Security, Billing,
Payment
Services Storage Network OS
Resources
42
43. What is Cloud OS ?
Physical Node Physical Node Storage
Server
Storage
Server
Physical Node
Physical Node
Storage
Server
Storage
Server
Mail Virtual
Cluster
Compute Nodes
Backup
Virtual
Cluster
HC Virtual
Cluster
AppX Virtual
Cluster
Data Nodes
Service Nodes
System Service
daemons
Cloud OS agents
• System Management Software layer
– Physical Resource Provisioning
– Virtual Resource Management
• Improve manageability of massive Cloud
Data Center
• Enhance self-provisioning
• Optimize physical resource utilization
• High Availability for any single point of
failure
• Energy management
– Highly Available Distributed Storage
Management
– Service Load Balancing
– Security
– High Speed Networking
• What is it not?
– It’s not Operating System
– It’s not Virtualization Hypervisor
43
48. Azure Virtualization Architecture
Azure Services (storage)
Load
Balancer
Public Internet
Worker
Role(s)
Front-end
Web Role
Switches
Highly-available
Fabric Controller
In-band
communication –
software control
Load-balancers
48
49. Azure Virtualization Architecture
Hypervisor
Guest Partition
(VM)
Host Partition
(VM)
Guest Partition
(VM)
Hardware
Virtualization
Stack
(VSP)
Drivers
Host OS
Server Core
Applications
Applications
RD OS
Virtualization
Stack
(VSC)
Guest OS
Server Enterprise
Virtualization
Stack
(VSC)
Guest OS
Server Enterprise
NIC Disk1
VMBUS VMBUS VMBUS
Disk2 CPU
Azure Services (storage)
Load
Balancer
Public Internet
Worker
Role(s)
Front-end
Web Role
49
55. • OpenStack APIs
• Nova: Open Stack Compute automates provisioning of virtual machines
• Cinder: Block storage system accessible by VMs
• Neutron: OpenStack service for establishing connectivity between VMs
• Swift: Large scale redundant object (i.e. VM) store
• Glance: Image service that catalogs and manages
(stores, retrieves, registers and delivers ) virtual
machine images
• Keystone: provides system-wide authentication
• Ironic: Bare metal management
• Horizon: Web-based dashboard access and management for users
Open Stack – A Cloud Operating System
55
56. • Stack: Collection of resources
• Virtual machines, networks, auto scaling rules
• Template: Definition of resources that make up the Stack
• Four sections
• Resources – Objects that will be created - like a server
• Properties – image, flavor
• Parameters – Property values
• Output – Information passed back to user or dashboard
Open Stack – A Cloud Operating System
Images
CentOS
XMS VNFc
CentOS
MRB VNFc
CentOS
Load Balancer VNFc
Flavors
4 CPU
8GB RAM
50GB Disk
8 CPU
16GB RAM
50GB Disk
12 CPU
16GB RAM
50GB Disk
Stacks
Auto scaling
policy
Parameters
Stack
Heat Templates contain info to create stacks
56
60. OpenStack map to AWS
Horizon
Dashboard
Swift
object store
Glance
image store
Nova
compute node
Cinder
volume service
Keystone
identity service
Heat
Orchestration
Celiometer telemetry service
Trove
database
Neutron
networking
S3 EC2 EBS vPC RDS
AMI
IAM
Cloud
Formation
60
67. • The good news
• The cloud providers are better at security than we are
(hey, it’s their specialty…)
• The bad news
• It’s a different ball game
• With bigger threats
Cloud and the “security problem”
67
77. “Packaged”
Application
An application that I buy “off the
shelf” and run myself
Self Hosted “Home
Built”
An application that I develop and
run myself
Build
Buy
Hosted
“Home Built”
An application that I develop
myself, but run at a hoster
Hosted
“Packaged”
An application that I buy “off the
shelf” and then run at a hoster
Cloud Platform
An application that I develop
myself, but run in the cloud
“Software as a Service”
A hosted application that I
buy from a vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
77
78. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Bild
vs.
Buy
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted application
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Maximum
Economy of Scale
All acceptable options (trade off)
Maximum Control
78
79. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
Molecule Research
HR System
Email
Issue Tracking
ERP
“Too costly to run this myself,
but I’ve made too many
customizations”
79
80. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
Molecule Research
HR System
Email
Issue Tracking
ERP
“CRM and Email are commodity
services – They have no
customizations, and it’s cheaper for
someone else to run these”
80
81. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
Molecule Research
HR System
ERP
Email
Issue Tracking
“I can’t afford to maintain
this old HR application
written in VB – it’s driving
me mad!”
“…but due to privacy issues, I
prefer keeping my HR data
on-premises”
81
82. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
Molecule Research
HR System
ERP
Email
Issue Tracking
“I wish I had access to
cheaper compute and
storage when I need it”
82
83. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
HR System
ERP
Email
Issue Tracking
Molecule Research
83
84. “Packaged”
Application
An application that I buy
“off the shelf” and run
myself
Self Hosted
“Home Built”
An application that I
develop and run myself
Build
Buy
Hosted
“Home Built”
An application that I
develop myself, but run
at a hoster
Hosted
“Packaged”
An application that I buy
“off the shelf” and then
run at a hoster
Cloud Platform
An application that I
develop myself, but
run in the cloud
“Software as a
Service”
A hosted pplication
that I buy from a
vendor
On premises vs. Cloud
On premises Cloud
Bild
vs.
Buy
Clinical Trial
HR System
ERP
Email
Issue Tracking
Molecule Research
“THIS is where I want to
spend my IT resources – I’m
going to double down on this
application!”
84
86. Kubernetes
Kubernetes (K8s) is an open-source system
for automating deployment, scaling, and
management of containerized applications.
It groups containers that make up an application
into logical units for easy management and
discovery. Kubernetes builds upon 15 years of
experience of running production workloads at
Google, combined with best-of-breed ideas and
practices from the community.
86
86
87. What is Kubernetes (aka K8s)
• Greek for Pilot or “Helmsman” of a Ship
• Project that was spun out of Google as an open source
container orchestration platform
• Planet Scale
• Run Anywhere
• On-Prem, Hybrid, Cloud
87
87
88. Kubernetes Features
• Self Healing
• Horizontal scaling
• Service discovery and load balancing
• Automatic bin packing
• Automated rollouts and rollbacks
• Secret and configuration management
88
88
90. Master Nodes
• Controller Manager
• Decides what needs to be executed
• Scheduler
• Decide where Pods need to be executed
• etcd:
• Distributed key/value store (In Mem DB)
• Store the State of Cluster/Nodes/Pods
• API Server
• Provides internal and external interface to Kubernetes
90
90
91. Worker Nodes
• Kubelet
• Kubernetes Agent running on each node
• Responsible to execute
• Proxy
• Network Proxy for cluster communication
• Forwarding and Load Balancing
• Container Runtime
• Docker
91
91
94. • 1 MicroService == 1 POD + 1 Deployment + 1 ReplicationSet + 1 Service (+ 1 Ingress)
• Lifecycle Management of Applications is challenging
Kubernetes Pain Point
94
95. • Package manager for K8s
• like yum, apt, pip but for Kubernetes Application
• Search and reuse or start from scratch
• Lifecycle Management
• Create
• Install
• Upgrade/Rollback
• Delete
• Status
• Versioning
What is Helm
95
97. • Helm Client
• Command-line client
• Interacts with Tiller Server
• Deploy Applications from Local/Public Repository
• Tiller Server
• In-cluster (Pod)
• Listens to the Helm client
• Interacts with Kubernetes API Server
• Manages the lifecycle
Helm Architecture
97