SlideShare a Scribd company logo
Cloud-Native Applications
and Kubernetes* (k8s)
Alex Glikson
15-719, S19
February 25th, 2019
CMU CS 15719 Advanced Cloud Computing S19 1
*Trivia: Κυβερνήτης – steersman, a person who steers a ship
https://en.wiktionary.org/wiki/%CE%BA%CF%85%CE%B2%CE%B5%CF%81%CE%BD%CE%AE%CF%84%CE%B7%CF%82
Icons made by Freepik
from www.flaticon.com
February 25, 2019
Outline
February 25, 2019 2
Background • Cloud-Native Applications
K8s Overview • K8s In a Nutshell
• Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Control Plane • Scheduler
• Custom Resources and Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
Cloud-Native Applications: Motivation
• Elasticity and ubiquity of cloud infrastructure enabled new
generation of applications, with a potential to disrupt their
markets, or to create new markets, e.g.:
o Netflix
o Airbnb
o Spotify
o Pinterest
o Snapchat
o Whatsapp
3CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Cloud-Native Applications: Example, Requirements
• Example: Netflix
o Value proposition (competitive advantage):
• Low cost video streaming with superb user experience, at scale
o Application properties and unique requirements:
• >100 millions of users in 190 countries (most of them in the US)
– Vast variance in load, within minutes (evenings, campaigns, etc)
• 10s of thousands of servers
– At least one server will fail every day
• 1000s of daily application changes, across 100s of functions
– Video streaming, catalog, recommendations, subscription, etc
– ~1 update every minute
4CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Cloud-Native Applications: Requirements → Design Principles
• Low Cost + Variance in Load (+User Experience)
o Can’t afford over- or under-provisioning → Auto-Scaling
• Hardware Failures + High Scale (+User Experience)
o Accommodate HW failures without downtime → Design for Failure
• Frequent Application Updates + High Scale (+User Experience)
o Can’t afford redeploying everything every time → Modularity
o Can’t afford testing everything every time → Stable Internal APIs
• Frequent Application Updates + Low Cost (+User Experience)
o Can’t afford manual QA/admin effort for each update → Automation
5CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Cloud–Native Applications: Design → Common Services
Design Principle Common Service
Auto-Scaling
Horizontal Auto-Scaling
Elastic Load Balancing
Design for Failure Replication
Health Monitoring
Modularity
Decoupling into homogenous (micro)services*
Unified packaging (across dev/test/prod) with Docker
API-driven composition
Discovery
Routing
Automation
Fully programmable life cycle of components*
Observability (monitoring, tracing, etc)
6CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 * not a service
Cloud–Native Applications: Platforms
• New platforms emerged, offering common services (features)
that make it easier to develop cloud-native applications
o Auto-scaling, replication, load balancing, health monitoring,
service discovery, application-level routing, programmability
o Commonly referred as ‘Platform as a Service’ (PaaS)
7
Google App Engine
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes
Outline
February 25, 2019 8
Background ✓ Cloud-Native Applications
K8s Overview • K8s In a Nutshell
• Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Control Plane • Scheduler
• Custom Resources and Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
Kubernetes (k8s):
Open-Source, Cloud-Native & Container-Based Platform
Open source platform for
deployment and management of
arbitrary container-based, cloud-native
applications on clusters of servers
9
• Originally developed by Google,
based on Borg and Omega ideas
• Available to all on github.com
• As of 02’2019: ~2000 contributors
• Common Services
• Programmable
• Extensible
Physical or virtual, public or private
cloud (e.g., EC2,OpenStack)
• Specification
• Provisioning
• Monitoring
• Logging
• HA
• Scaling
• Updates
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Packaging and runtime
isolation using Docker
• Auto-Scaling
• Design for Failure
• Modularity, APIs
• Automation
Kubernetes in a Nutshell
10
https://www.youtube.com/embed/4ht22ReBjno?start=0&end=220&autoplay=1
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes in a Nutshell
11CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes Architecture
12
Inspired by: https://x-team.com/blog/introduction-kubernetes-architecture/
Master Node
API Server
DB Proxy
ControllersControllersControllers
DB
(etcd)
Scheduler
Worker Node
Docker
…Pod Pod Pod
kubelet
Worker Node
Docker
…Pod Pod Pod
kubelet
kubectl, dashboard, SDKs
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
February 25, 2019
Pod: One or More Containers + Resources + Labels
Why Multi-Container Pods?
• Scaling/replication unit: runtime
components that must run together
• Sidecar pattern: “secondary” functions
deployed in separate containers
– e.g., web content synchronization
• Ambassador/Proxy pattern: simplify
access to an external system
– e.g., key-value store
• Adapter pattern: simplify access from
an external system
– e.g., monitoring
• Source: https://www.usenix.org/node/196347
13
Source: https://www.slideshare.net/ssuser6bb12d/kubernetes-
introduction-71846110
Containers in a Pod often share (some) namespaces
Labels
app: myApp
Horse +
saddle
CMU CS 15719 Advanced Cloud Computing S19
Event-Driven Architecture in k8s: Pod Creation
14
Source: https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Outline
February 25, 2019 15
Background ✓ Cloud-Native Applications
K8s Overview ✓ K8s in a Nutshell
✓ Architecture
Applications ✓ Unit of Deployment: Pod
• Composite Applications
Control Plane • Scheduler
• Custom Resources and Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
From Pods to Applications: Deployment, Replica Set
• Goal: Maintain a given number of replica’s of a given Pod
o HA, load balancing
• Example: NGiNX web server
16
Pod
template
Containers specification
Resource type
Desired # of replicas
Reference by labels
nginx.yml
Polo
team
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Replica Set
properties
Composite Application Types in Kubernetes
• Deployment (Replica Set)
o Maintains a given number of replica’s of a given Pod
• High availability, load balancing
• Daemon Set
o Runs exactly one instance of a given Pod on every node
• Access to unique host resources, load balancing
• Stateful Set
o Maintains a scalable collection of Pods with unique roles
• Persistent resource and identities
• Job
o Enforces policies for execution and completion of groups of tasks (e.g., MPI)
• Controlled parallelism, work queues, schedule-based execution, etc
• Custom
• Your own
17
Polo
team
Life
guard
Goal
keeper
Relay team
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Outline
February 25, 2019 18
Background ✓ Cloud-Native Applications
K8s Overview ✓ K8s in a Nutshell
✓ Architecture
Applications ✓ Unit of Deployment: Pod
✓ Composite Applications
Control Plane • Scheduler
• Custom Resources and Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
Kubernetes Default Scheduler
• Main goal: placement of Pods on Nodes
o Triggered primarily by watching for new Pods in ‘pending’ state
• FIFO scheduling
o Supports priority-based arbitration and eviction
• Emphasis on scale and speed
o No complex logic (e.g., superlinear in number of nodes)
19CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes Default Scheduler: Placement Policies
• Filter() + Prioritize()
• Filtering:
o Configurable set of node predicates
o A node must pass all predicates to qualify for prioritization
• Prioritization:
o Optimization goals expressed as utility functions
o Prefer nodes with maximal utility
• Can target multiple optimization goals with weights
20CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Placement Policies: Built-In Predicates
• PodFitsResources
– CPU/memory allocation
• PodMatchNodeSelector
– Labels match - e.g., specific HW
capabilities (e.g., SSD storage)
• MatchInterPodAffinity
– Same/Different node as given
(running) Pod(s)
21CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Node 1
8 CPUs
16 GB mem
Node 2
8 CPUs
32 GB mem
Node 3
8 CPUs
32 GB mem
disk=SSD
4 CPU
8GB mem
app=Web
3 CPU
8GB mem
app=DB
4 CPU
16GB mem
NodeSelector:
disk=SSD
?
4 CPU
16GB mem
Anti-Affinity:
app=DB
?
Placement Policies: Built-In Priority Functions
• InterPodAffinity
– Maximal affinity with given Pods
• LeastResourceAllocation
– Maximal spreading
• MostResourceAllocation
– Maximal packing
• BalancedResourceAllocation
– Minimal resource fragmentation
• ImageLocality
– Minimal startup time
22CMU CS 15719 Advanced Cloud Computing S19
Node 1
8 CPUs
16 GB mem
Node 2
8 CPUs
32 GB mem
Node 3
8 CPUs
32 GB mem
disk=SSD
4 CPU
8GB mem
app=Web
3 CPU
8GB mem
app=DB
1 CPU
8GB mem
PrefferedAffinity:
app=DB
?
Placement Policies: Built-In Predicates and Priorities
Predicates*
• PodFitsResources
– CPU/memory allocation
• PodMatchNodeSelector
– Labels match - e.g., specific HW
capabilities (e.g., SSD storage)
• MatchInterPodAffinity
– Same node as given (running)
Pod(s)
Priorities*
• InterPodAffinity
– Maximal affinity with given Pods
• LeastResourceAllocation
– Maximal spreading
• MostResourceAllocation
– Maximal packing
• BalancedResourceAllocation
– Minimal resource fragmentation
• ImageLocality
– Minimal startup time
23
(*) Partial List. Can also implement
custom predicates/prioritizers
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Placement Policies: Affinity / Anti-Affinity Examples
• Affinity = same host/rack/zone/etc, Anti-affinity = different
• Example 1:
o If a host fails, at most one pod out of N is down (high availability)
• Replica Set with N replicas, host-level anti-affinity
• Example 2:
o Maintain one pod in each region, to reduce latency to clients
• Daemon Set with region-level anti-affinity
• Example 3:
o Keep all tasks of a job in the same rack, for better performance
• Job with rack-level affinity
24CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Affinity/Anti-Affinity Example: Web Server + Redis
25CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Placement Policies – Example: Web Server + Redis
26
Bug!!
Different hosts Same host
Reference
by labels
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
If respective Redis server is killed,
the web server is not re-deployed
Outline
February 25, 2019 27
Background ✓ Cloud-Native Applications
K8s Overview ✓ K8s in a Nutshell
✓ Architecture
Applications ✓ Unit of Deployment: Pod
✓ Composite Applications
Control Plane ✓ Scheduler
• Custom Resources and Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
Extending Kubernetes with Custom Resources
• Example: Nuclio serverless function as a custom resource type in k8s
• Under the covers, Nuclio Controller maintains K8s Pods for each function
February 25, 2019 28Source:
https://github.com/nuclio/nuclio
NuclioFunction
resource instance
CMU CS 15719 Advanced Cloud Computing S19
New resource
type definition:
NuclioFunction
Extending Kubernetes with Custom Resources
Example: Life Cycle of NuclioFunction Resources*
• Cluster initialization [Administrator]
o Register NuclioFunction CRD
o Deploy Nuclio Controller
o Subscribe Nuclio Controller to notifications for NuclioFunction (and related) events
• Function deployment [Application Owner]
o NuclioFunction resource is created
o Nuclio Controller is triggered by the API server
o Nuclio Controller creates necessary K8s resources (Pods, routes, etc)
• Function invocation [Application User]
o Trigger is invoked (e.g., http request)
o Scaling logic is invoked (if necessary)
o Payload is forwarded to the Pod selected to run the function invocation
29CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 * Conceptual worfklow
Outline
February 25, 2019 30
Background ✓ Cloud-Native Applications
K8s Overview ✓ K8s in a Nutshell
✓ Architecture
Applications ✓ Unit of Deployment: Pod
✓ Composite Applications
Control Plane ✓ Scheduler
✓ Controllers
Summary • Related Projects
• Main Takeaways
CMU CS 15719 Advanced Cloud Computing S19
Related Project (Partial List)
• Virtual Kubelet
o Proxy to another container management platform
• kube-batch aka kube-arbitrator
o Gang scheduling (e.g., MPI), non-FIFO scheduling
• Knative
o Serverless web applications on Kubernetes
• De-scheduler
o Eviction of pods – e.g., to reduce resource fragmentation
• Rapidly growing ecosystem of projects governed by CNCF
o https://www.cncf.io/
31CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
February 25, 2019
Summary: Main Takeaways
1. Docker + Cloud-Native ➔ K8s
o Container-native platform targeting arbitrary applications
2. Pod = collection of containers
o Composable into Replica Sets, Daemon Sets, Jobs, Your Own Pattern
3. K8s API server provides CRUD and watchers (“events”)
o Triggering a set of controllers that orchestrate the life cycle of resources
4. K8s has a powerful, flexible and extensible Scheduler
5. K8s is fun!
32CMU CS 15719 Advanced Cloud Computing S19
QUESTIONS?
February 25, 2019 33CMU CS 15719 Advanced Cloud Computing S19
Trends: Linux Containers
• Linux features providing isolation within a single OS:
o Hardware resources: cgroups
• CPU, RAM, I/O devices, etc
o OS resources: namespaces, e.g.:
• USER, PID, NET, MNT
• De-facto standard to efficiently run services/jobs at scale
o Enable workload consolidation, infrastructure elasticity
o Pioneered by Google (Linux features, massive internal use*)
• 2 billion containers per week! (>3000 per second on average)
34CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Trends: Linux Containers – Implementations
• Example (open source) implementations:
o LXC, Cloud Foundry, Mesos, YARN, …
• Docker (Moby*)
o Targeting arbitrary applications, e.g. by offering:
• Flexible packaging
• Seamless inter-container network communication
• Configurable cluster-wide storage/network (SDN, NAS, etc)
o Developer-friendly
• Lightweight standalone engine
• Intuitive git-style image management
• Easy sharing and reuse of images - Docker Hub
35CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Trends: Linux Containers – Popular Docker Images*
Programming LanguageData ProcessingWeb ServerOperating System
36CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
37
Cloud-
Native
PaaS
+ =
Container-native
Platforms
(e.g., Kubernetes)
Docker
Pre-history
1979: chroot
Job scheduling
1999: VMware
2003: Xen
2004:
UnionFS
2006:
cgroups
2008:
LXC
2013:
Docker
2017:
moby
containerd
2004 2006 2008 2010 2012 2014 2016 2018
2006:
EC2
2012:
YARN
2011:
Mesos
200?:
Borg
2013:
Omega
2002:
ns
2011:
Cloud Foundry
AWS Beanstalk
OpenShift
2008:
GAE
2007:
Heroku 2014:
Kubernetes
2010:
Azure
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Surfacing Applications to Users: Service
• Goal: Maintain a given number of replica’s of a given Pod
o HA, load balancing
• Example: NGiNX web server
38
Pod
template
Resource type
Port mapping
Reference by labels
“Deployment”
resource
“Service”
resource
Polo
team
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Another Example of Composite Application Type: Job
• Goal: enforce policies for execution and completion of groups
of tasks (batch jobs, scheduled jobs)
39
Relay
race
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Resource Orchestration in Kubernetes: Controllers
40
Source: https://github.com/kubernetes/community/blob/master/contributors/devel/controllers.md
Image: https://comicvine.gamespot.com/coach-kleats/4005-1744/images/
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
February 25, 2019
Controller Example - Replica Set for Deployment myD:
41
Event:
User changed
#replicas
Event:
Pod failed
Note:
not real code
CMU CS 15719 Advanced Cloud Computing S19
• One of the most vibrant projects on Github
o 48K stars, 16K forks, 44K PRs, 75K commits, 2000 contributors
https://github.com/kubernetes/kubernetes/pulse/monthly
Kubernetes: Open Source Project and Community
42
9 lines of code
per minute
CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes: Commercial Ecosystem
• Governed by Cloud Native Computing Foundation (CNCF)
o Industry-wide consensus among leading (and competing) companies
• Multiple commercial Kubernetes products and hosted offerings
o Red Hat, IBM, CoreOS, etc; Google GKE, Amazon EKS, etc
43CMU CS 15719 Advanced Cloud Computing S19February 25, 2019

More Related Content

What's hot

Amazon EKS - Aws community day bengaluru 2019
Amazon EKS - Aws community day bengaluru 2019Amazon EKS - Aws community day bengaluru 2019
Amazon EKS - Aws community day bengaluru 2019
Akash Agrawal
 
Deploying to Day N Operations of Kubernetes and Containerized Apps
Deploying to Day N Operations of Kubernetes and Containerized AppsDeploying to Day N Operations of Kubernetes and Containerized Apps
Deploying to Day N Operations of Kubernetes and Containerized Apps
Nebulaworks
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Wojciech Barczyński
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
mountpoint.io
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introduction
ShapeBlue
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Laure Vergeron
 
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
Nicolas Brousse
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
ShapeBlue
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
Knoldus Inc.
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
Laura Frank Tacho
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
Kiran Murari
 
CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)
David Pasek
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
DoiT International
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Kublr
 
DevOps Days Galway 2017
DevOps Days Galway 2017DevOps Days Galway 2017
DevOps Days Galway 2017
Miguel Castilho Dias
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
Laura Frank Tacho
 
Ultimate kubernetes platform on aws with eks
Ultimate kubernetes platform on aws with eksUltimate kubernetes platform on aws with eks
Ultimate kubernetes platform on aws with eks
armincoralic
 
Azure dev ops_demo
Azure dev ops_demoAzure dev ops_demo
Azure dev ops_demo
Abhishek Sahu
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
OpenStack Korea Community
 
"On-premises" FaaS on Kubernetes
"On-premises" FaaS on Kubernetes"On-premises" FaaS on Kubernetes
"On-premises" FaaS on Kubernetes
Alex Casalboni
 

What's hot (20)

Amazon EKS - Aws community day bengaluru 2019
Amazon EKS - Aws community day bengaluru 2019Amazon EKS - Aws community day bengaluru 2019
Amazon EKS - Aws community day bengaluru 2019
 
Deploying to Day N Operations of Kubernetes and Containerized Apps
Deploying to Day N Operations of Kubernetes and Containerized AppsDeploying to Day N Operations of Kubernetes and Containerized Apps
Deploying to Day N Operations of Kubernetes and Containerized Apps
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introduction
 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
 
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and JenkinsPortable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
 
DevOps Days Galway 2017
DevOps Days Galway 2017DevOps Days Galway 2017
DevOps Days Galway 2017
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
 
Ultimate kubernetes platform on aws with eks
Ultimate kubernetes platform on aws with eksUltimate kubernetes platform on aws with eks
Ultimate kubernetes platform on aws with eks
 
Azure dev ops_demo
Azure dev ops_demoAzure dev ops_demo
Azure dev ops_demo
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
 
"On-premises" FaaS on Kubernetes
"On-premises" FaaS on Kubernetes"On-premises" FaaS on Kubernetes
"On-premises" FaaS on Kubernetes
 

Similar to Cloud-Native Application and Kubernetes

From chroot to Docker to Kubernetes
From chroot to Docker to KubernetesFrom chroot to Docker to Kubernetes
From chroot to Docker to Kubernetes
Alex Glikson
 
Container-Based Platforms and Kubernetes
Container-Based Platforms and KubernetesContainer-Based Platforms and Kubernetes
Container-Based Platforms and Kubernetes
Alex Glikson
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
Igor Sfiligoi
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
Cumulus Networks
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards Kubernetes
QAware GmbH
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
NETWAYS
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
LetsConnect
 
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Michael Elder
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
VMware Tanzu
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
SeungYong Oh
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
VMware Tanzu
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackAnimesh Singh
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
Avere Systems
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
Bilgin Ibryam
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container Platform
Sanjeev Rampal
 

Similar to Cloud-Native Application and Kubernetes (20)

From chroot to Docker to Kubernetes
From chroot to Docker to KubernetesFrom chroot to Docker to Kubernetes
From chroot to Docker to Kubernetes
 
Container-Based Platforms and Kubernetes
Container-Based Platforms and KubernetesContainer-Based Platforms and Kubernetes
Container-Based Platforms and Kubernetes
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards Kubernetes
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
 
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
 
Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container Platform
 

More from Alex Glikson

AWS Re:Invented
AWS Re:InventedAWS Re:Invented
AWS Re:Invented
Alex Glikson
 
Serverless Compute Platforms on Kubernetes
Serverless Compute Platforms on KubernetesServerless Compute Platforms on Kubernetes
Serverless Compute Platforms on Kubernetes
Alex Glikson
 
Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014
Alex Glikson
 
Serverless, IoT and OpenWhisk
Serverless, IoT and OpenWhiskServerless, IoT and OpenWhisk
Serverless, IoT and OpenWhisk
Alex Glikson
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
Alex Glikson
 
The Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREThe Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWARE
Alex Glikson
 

More from Alex Glikson (6)

AWS Re:Invented
AWS Re:InventedAWS Re:Invented
AWS Re:Invented
 
Serverless Compute Platforms on Kubernetes
Serverless Compute Platforms on KubernetesServerless Compute Platforms on Kubernetes
Serverless Compute Platforms on Kubernetes
 
Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014Mixing bare-metal and virtualized workloads on OpenStack - 2014
Mixing bare-metal and virtualized workloads on OpenStack - 2014
 
Serverless, IoT and OpenWhisk
Serverless, IoT and OpenWhiskServerless, IoT and OpenWhisk
Serverless, IoT and OpenWhisk
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
 
The Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREThe Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWARE
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

Cloud-Native Application and Kubernetes

  • 1. Cloud-Native Applications and Kubernetes* (k8s) Alex Glikson 15-719, S19 February 25th, 2019 CMU CS 15719 Advanced Cloud Computing S19 1 *Trivia: Κυβερνήτης – steersman, a person who steers a ship https://en.wiktionary.org/wiki/%CE%BA%CF%85%CE%B2%CE%B5%CF%81%CE%BD%CE%AE%CF%84%CE%B7%CF%82 Icons made by Freepik from www.flaticon.com February 25, 2019
  • 2. Outline February 25, 2019 2 Background • Cloud-Native Applications K8s Overview • K8s In a Nutshell • Architecture Applications • Unit of Deployment: Pod • Composite Applications Control Plane • Scheduler • Custom Resources and Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 3. Cloud-Native Applications: Motivation • Elasticity and ubiquity of cloud infrastructure enabled new generation of applications, with a potential to disrupt their markets, or to create new markets, e.g.: o Netflix o Airbnb o Spotify o Pinterest o Snapchat o Whatsapp 3CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 4. Cloud-Native Applications: Example, Requirements • Example: Netflix o Value proposition (competitive advantage): • Low cost video streaming with superb user experience, at scale o Application properties and unique requirements: • >100 millions of users in 190 countries (most of them in the US) – Vast variance in load, within minutes (evenings, campaigns, etc) • 10s of thousands of servers – At least one server will fail every day • 1000s of daily application changes, across 100s of functions – Video streaming, catalog, recommendations, subscription, etc – ~1 update every minute 4CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 5. Cloud-Native Applications: Requirements → Design Principles • Low Cost + Variance in Load (+User Experience) o Can’t afford over- or under-provisioning → Auto-Scaling • Hardware Failures + High Scale (+User Experience) o Accommodate HW failures without downtime → Design for Failure • Frequent Application Updates + High Scale (+User Experience) o Can’t afford redeploying everything every time → Modularity o Can’t afford testing everything every time → Stable Internal APIs • Frequent Application Updates + Low Cost (+User Experience) o Can’t afford manual QA/admin effort for each update → Automation 5CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 6. Cloud–Native Applications: Design → Common Services Design Principle Common Service Auto-Scaling Horizontal Auto-Scaling Elastic Load Balancing Design for Failure Replication Health Monitoring Modularity Decoupling into homogenous (micro)services* Unified packaging (across dev/test/prod) with Docker API-driven composition Discovery Routing Automation Fully programmable life cycle of components* Observability (monitoring, tracing, etc) 6CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 * not a service
  • 7. Cloud–Native Applications: Platforms • New platforms emerged, offering common services (features) that make it easier to develop cloud-native applications o Auto-scaling, replication, load balancing, health monitoring, service discovery, application-level routing, programmability o Commonly referred as ‘Platform as a Service’ (PaaS) 7 Google App Engine CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Kubernetes
  • 8. Outline February 25, 2019 8 Background ✓ Cloud-Native Applications K8s Overview • K8s In a Nutshell • Architecture Applications • Unit of Deployment: Pod • Composite Applications Control Plane • Scheduler • Custom Resources and Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 9. Kubernetes (k8s): Open-Source, Cloud-Native & Container-Based Platform Open source platform for deployment and management of arbitrary container-based, cloud-native applications on clusters of servers 9 • Originally developed by Google, based on Borg and Omega ideas • Available to all on github.com • As of 02’2019: ~2000 contributors • Common Services • Programmable • Extensible Physical or virtual, public or private cloud (e.g., EC2,OpenStack) • Specification • Provisioning • Monitoring • Logging • HA • Scaling • Updates CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Packaging and runtime isolation using Docker • Auto-Scaling • Design for Failure • Modularity, APIs • Automation
  • 10. Kubernetes in a Nutshell 10 https://www.youtube.com/embed/4ht22ReBjno?start=0&end=220&autoplay=1 CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 11. Kubernetes in a Nutshell 11CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 12. Kubernetes Architecture 12 Inspired by: https://x-team.com/blog/introduction-kubernetes-architecture/ Master Node API Server DB Proxy ControllersControllersControllers DB (etcd) Scheduler Worker Node Docker …Pod Pod Pod kubelet Worker Node Docker …Pod Pod Pod kubelet kubectl, dashboard, SDKs CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 13. February 25, 2019 Pod: One or More Containers + Resources + Labels Why Multi-Container Pods? • Scaling/replication unit: runtime components that must run together • Sidecar pattern: “secondary” functions deployed in separate containers – e.g., web content synchronization • Ambassador/Proxy pattern: simplify access to an external system – e.g., key-value store • Adapter pattern: simplify access from an external system – e.g., monitoring • Source: https://www.usenix.org/node/196347 13 Source: https://www.slideshare.net/ssuser6bb12d/kubernetes- introduction-71846110 Containers in a Pod often share (some) namespaces Labels app: myApp Horse + saddle CMU CS 15719 Advanced Cloud Computing S19
  • 14. Event-Driven Architecture in k8s: Pod Creation 14 Source: https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 15. Outline February 25, 2019 15 Background ✓ Cloud-Native Applications K8s Overview ✓ K8s in a Nutshell ✓ Architecture Applications ✓ Unit of Deployment: Pod • Composite Applications Control Plane • Scheduler • Custom Resources and Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 16. From Pods to Applications: Deployment, Replica Set • Goal: Maintain a given number of replica’s of a given Pod o HA, load balancing • Example: NGiNX web server 16 Pod template Containers specification Resource type Desired # of replicas Reference by labels nginx.yml Polo team CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Replica Set properties
  • 17. Composite Application Types in Kubernetes • Deployment (Replica Set) o Maintains a given number of replica’s of a given Pod • High availability, load balancing • Daemon Set o Runs exactly one instance of a given Pod on every node • Access to unique host resources, load balancing • Stateful Set o Maintains a scalable collection of Pods with unique roles • Persistent resource and identities • Job o Enforces policies for execution and completion of groups of tasks (e.g., MPI) • Controlled parallelism, work queues, schedule-based execution, etc • Custom • Your own 17 Polo team Life guard Goal keeper Relay team CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 18. Outline February 25, 2019 18 Background ✓ Cloud-Native Applications K8s Overview ✓ K8s in a Nutshell ✓ Architecture Applications ✓ Unit of Deployment: Pod ✓ Composite Applications Control Plane • Scheduler • Custom Resources and Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 19. Kubernetes Default Scheduler • Main goal: placement of Pods on Nodes o Triggered primarily by watching for new Pods in ‘pending’ state • FIFO scheduling o Supports priority-based arbitration and eviction • Emphasis on scale and speed o No complex logic (e.g., superlinear in number of nodes) 19CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 20. Kubernetes Default Scheduler: Placement Policies • Filter() + Prioritize() • Filtering: o Configurable set of node predicates o A node must pass all predicates to qualify for prioritization • Prioritization: o Optimization goals expressed as utility functions o Prefer nodes with maximal utility • Can target multiple optimization goals with weights 20CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 21. Placement Policies: Built-In Predicates • PodFitsResources – CPU/memory allocation • PodMatchNodeSelector – Labels match - e.g., specific HW capabilities (e.g., SSD storage) • MatchInterPodAffinity – Same/Different node as given (running) Pod(s) 21CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Node 1 8 CPUs 16 GB mem Node 2 8 CPUs 32 GB mem Node 3 8 CPUs 32 GB mem disk=SSD 4 CPU 8GB mem app=Web 3 CPU 8GB mem app=DB 4 CPU 16GB mem NodeSelector: disk=SSD ? 4 CPU 16GB mem Anti-Affinity: app=DB ?
  • 22. Placement Policies: Built-In Priority Functions • InterPodAffinity – Maximal affinity with given Pods • LeastResourceAllocation – Maximal spreading • MostResourceAllocation – Maximal packing • BalancedResourceAllocation – Minimal resource fragmentation • ImageLocality – Minimal startup time 22CMU CS 15719 Advanced Cloud Computing S19 Node 1 8 CPUs 16 GB mem Node 2 8 CPUs 32 GB mem Node 3 8 CPUs 32 GB mem disk=SSD 4 CPU 8GB mem app=Web 3 CPU 8GB mem app=DB 1 CPU 8GB mem PrefferedAffinity: app=DB ?
  • 23. Placement Policies: Built-In Predicates and Priorities Predicates* • PodFitsResources – CPU/memory allocation • PodMatchNodeSelector – Labels match - e.g., specific HW capabilities (e.g., SSD storage) • MatchInterPodAffinity – Same node as given (running) Pod(s) Priorities* • InterPodAffinity – Maximal affinity with given Pods • LeastResourceAllocation – Maximal spreading • MostResourceAllocation – Maximal packing • BalancedResourceAllocation – Minimal resource fragmentation • ImageLocality – Minimal startup time 23 (*) Partial List. Can also implement custom predicates/prioritizers CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 24. Placement Policies: Affinity / Anti-Affinity Examples • Affinity = same host/rack/zone/etc, Anti-affinity = different • Example 1: o If a host fails, at most one pod out of N is down (high availability) • Replica Set with N replicas, host-level anti-affinity • Example 2: o Maintain one pod in each region, to reduce latency to clients • Daemon Set with region-level anti-affinity • Example 3: o Keep all tasks of a job in the same rack, for better performance • Job with rack-level affinity 24CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 25. Affinity/Anti-Affinity Example: Web Server + Redis 25CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 26. Placement Policies – Example: Web Server + Redis 26 Bug!! Different hosts Same host Reference by labels CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 If respective Redis server is killed, the web server is not re-deployed
  • 27. Outline February 25, 2019 27 Background ✓ Cloud-Native Applications K8s Overview ✓ K8s in a Nutshell ✓ Architecture Applications ✓ Unit of Deployment: Pod ✓ Composite Applications Control Plane ✓ Scheduler • Custom Resources and Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 28. Extending Kubernetes with Custom Resources • Example: Nuclio serverless function as a custom resource type in k8s • Under the covers, Nuclio Controller maintains K8s Pods for each function February 25, 2019 28Source: https://github.com/nuclio/nuclio NuclioFunction resource instance CMU CS 15719 Advanced Cloud Computing S19 New resource type definition: NuclioFunction
  • 29. Extending Kubernetes with Custom Resources Example: Life Cycle of NuclioFunction Resources* • Cluster initialization [Administrator] o Register NuclioFunction CRD o Deploy Nuclio Controller o Subscribe Nuclio Controller to notifications for NuclioFunction (and related) events • Function deployment [Application Owner] o NuclioFunction resource is created o Nuclio Controller is triggered by the API server o Nuclio Controller creates necessary K8s resources (Pods, routes, etc) • Function invocation [Application User] o Trigger is invoked (e.g., http request) o Scaling logic is invoked (if necessary) o Payload is forwarded to the Pod selected to run the function invocation 29CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 * Conceptual worfklow
  • 30. Outline February 25, 2019 30 Background ✓ Cloud-Native Applications K8s Overview ✓ K8s in a Nutshell ✓ Architecture Applications ✓ Unit of Deployment: Pod ✓ Composite Applications Control Plane ✓ Scheduler ✓ Controllers Summary • Related Projects • Main Takeaways CMU CS 15719 Advanced Cloud Computing S19
  • 31. Related Project (Partial List) • Virtual Kubelet o Proxy to another container management platform • kube-batch aka kube-arbitrator o Gang scheduling (e.g., MPI), non-FIFO scheduling • Knative o Serverless web applications on Kubernetes • De-scheduler o Eviction of pods – e.g., to reduce resource fragmentation • Rapidly growing ecosystem of projects governed by CNCF o https://www.cncf.io/ 31CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 32. February 25, 2019 Summary: Main Takeaways 1. Docker + Cloud-Native ➔ K8s o Container-native platform targeting arbitrary applications 2. Pod = collection of containers o Composable into Replica Sets, Daemon Sets, Jobs, Your Own Pattern 3. K8s API server provides CRUD and watchers (“events”) o Triggering a set of controllers that orchestrate the life cycle of resources 4. K8s has a powerful, flexible and extensible Scheduler 5. K8s is fun! 32CMU CS 15719 Advanced Cloud Computing S19
  • 33. QUESTIONS? February 25, 2019 33CMU CS 15719 Advanced Cloud Computing S19
  • 34. Trends: Linux Containers • Linux features providing isolation within a single OS: o Hardware resources: cgroups • CPU, RAM, I/O devices, etc o OS resources: namespaces, e.g.: • USER, PID, NET, MNT • De-facto standard to efficiently run services/jobs at scale o Enable workload consolidation, infrastructure elasticity o Pioneered by Google (Linux features, massive internal use*) • 2 billion containers per week! (>3000 per second on average) 34CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 35. Trends: Linux Containers – Implementations • Example (open source) implementations: o LXC, Cloud Foundry, Mesos, YARN, … • Docker (Moby*) o Targeting arbitrary applications, e.g. by offering: • Flexible packaging • Seamless inter-container network communication • Configurable cluster-wide storage/network (SDN, NAS, etc) o Developer-friendly • Lightweight standalone engine • Intuitive git-style image management • Easy sharing and reuse of images - Docker Hub 35CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 36. Trends: Linux Containers – Popular Docker Images* Programming LanguageData ProcessingWeb ServerOperating System 36CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 37. 37 Cloud- Native PaaS + = Container-native Platforms (e.g., Kubernetes) Docker Pre-history 1979: chroot Job scheduling 1999: VMware 2003: Xen 2004: UnionFS 2006: cgroups 2008: LXC 2013: Docker 2017: moby containerd 2004 2006 2008 2010 2012 2014 2016 2018 2006: EC2 2012: YARN 2011: Mesos 200?: Borg 2013: Omega 2002: ns 2011: Cloud Foundry AWS Beanstalk OpenShift 2008: GAE 2007: Heroku 2014: Kubernetes 2010: Azure CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 38. Surfacing Applications to Users: Service • Goal: Maintain a given number of replica’s of a given Pod o HA, load balancing • Example: NGiNX web server 38 Pod template Resource type Port mapping Reference by labels “Deployment” resource “Service” resource Polo team CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 39. Another Example of Composite Application Type: Job • Goal: enforce policies for execution and completion of groups of tasks (batch jobs, scheduled jobs) 39 Relay race CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 40. Resource Orchestration in Kubernetes: Controllers 40 Source: https://github.com/kubernetes/community/blob/master/contributors/devel/controllers.md Image: https://comicvine.gamespot.com/coach-kleats/4005-1744/images/ CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 41. February 25, 2019 Controller Example - Replica Set for Deployment myD: 41 Event: User changed #replicas Event: Pod failed Note: not real code CMU CS 15719 Advanced Cloud Computing S19
  • 42. • One of the most vibrant projects on Github o 48K stars, 16K forks, 44K PRs, 75K commits, 2000 contributors https://github.com/kubernetes/kubernetes/pulse/monthly Kubernetes: Open Source Project and Community 42 9 lines of code per minute CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 43. Kubernetes: Commercial Ecosystem • Governed by Cloud Native Computing Foundation (CNCF) o Industry-wide consensus among leading (and competing) companies • Multiple commercial Kubernetes products and hosted offerings o Red Hat, IBM, CoreOS, etc; Google GKE, Amazon EKS, etc 43CMU CS 15719 Advanced Cloud Computing S19February 25, 2019