SlideShare a Scribd company logo
From Heroku to Kubernetes :
A production use case
Antoine Legrand
Smaine Kahlouch
Arkena 2016
2
AGENDA
• Presentation of Arkena
• Former Hosting plateform on Heroku, why to leave ?
• Is kubernetes able to provide similar features as
Heroku ?
• Migration steps
• Project lessons
• Deployment tools
WHO WE ARE
YOUR TRUSTED MEDIA PARTNER
3
A TDF Group
Business Unit
• 16 POPs CDN
• 1 Tbps connectivity
• 400 live radios & 360 live TVs
• 630 hours of On Demand video processed daily
• United Kingdom
• Norway
• USA
• Finland
• Denmark
• Poland
• France
• Spain
• Sweden
13 Offices in 9 Countries
A team of 400 employees
At a glance
ARKENA OTT / CDN
A UNIQUE EUROPEAN PRESENCE, ESPECIALLY FRANCE AND NORDICS
5
Content management
User accounts management
Content processing & protection
6
HEROKU KEY FEATURES
• No need to worry about the underlying infrastructure
• Easy to scale apps
• Full application stacks are easy to install with Heroku addons
• Easy to iterate from dev to production
7
CONTEXT
• Our VOD plateform gets increasingly successful with our
clients
• The Heroku Costs became significant
• Are we able to keep the same features as Heroku on Bare-
Metal ?
8
FEATURES REQUIREMENTS
• High availability and scalability
• Log management
• Monitoring
• Network performances
8
KUBERNETES CHOICE
• Kubernetes looked promising
• Deep investigation on kubernetes features
• POC validation
10
FEATURES REQUIREMENTS
• High availability and scalability
10
HIGH AVAILABILITY & SCALABILITY
• Pods and Replication controllers
• Quickly increase the number of replicas
• Horizontal pod autoscaling
• Multi datacenters architecture
• Database replication
12
FEATURES REQUIREMENTS
• High availability and scalability
• Log management
13
LOGS MANAGEMENT
• Kubernetes DaemonSet
• Log processing
• Reliable transport and storage
• Kibana WebUI
14
FEATURES REQUIREMENTS
• High availability and scalability
• Log management
• Monitoring
14
MONITORING
• Kubernetes Health checks
• Shinken servers (alerting)
• Data performances metrics : Influxdb with Heapster
• NewRelic hosted monitoring solution
16
FEATURES REQUIREMENTS
• High availability and scalability
• Log management
• Monitoring
• Network performances
16
ARKENA'S KUBERNETES CLUSTER
• 2 distinct kubernetes clusters
(1 per datacenter)
• 12 nodes (Total: 288 cpus
and 1152G of memory)
• Haproxy loadbalancers
• Multi-tenant database server
• Network plugin: Calico
19
MIGRATION STEPS FROM HEROKU
1. Deploy application stack on kubernetes
2. Copy Heroku's database on Arkena's db servers
3. Configure Heroku app to use Arkena's database server
4. QA tests (rollback if any problem)
5. Update the DNS
6. Keep both platforms running during a validation period
23
PROJECT PROGRESS ISSUES
• It's important to involve all teams.
• Not clear recomandations on High availability and
upgrade procedure
• Ecosystem tools are still young
20
KUBESPRAY
• Open Source project to deploy a kubernetes cluster
(Baremetal, AWS and GCE)
• Current supported network plugins : Weave, Flannel &
Calico.
Coming soon : Romana and Opencontrail
• Support most popular Linux distributions (CoreOS,
Centos/RHEL, Debian/Ubuntu)
• Continuous Integration tests.
About 60 3-nodes clusters per day
21
KPM APPS DEPLOYMENT
• Deploy full application stack
• Dependency management
• Reproducible and versionned deployment
• Ready to use application registry
22
KPM KEY FEATURES
• One command line to install an app stack
• Super easy packaging
http://kpm.kubespray.io
kpm install heapster
22
NEXT STEPS
• Ubernetes
• Continuous Deployment (Openshift, DEIS …)
• Network policies enforcement
• Custom metrics Autoscaling
23
CONCLUSION
• Successful migration from Heroku to Kubernetes on
production
• Technical teams are very interested on Kubernetes
• Better resources management
• Greatly reduced infrastructure costs
24
THANK YOU !
25
LINKS
Kubespray : https://docs.kubespray.io
Kubespray CI : https://travis.kubespray.io
Kpm : https://github.com/kubespray/kpm
Network benchs : https://smana.kubespray.io
French community : https://www.kubernetes-fr.org
26
About us
System engineer and Devops
Work Experience
Smaine is a senior technical lead and devops
engineer at Arkena with 10 years experience
in Devops, Linux and open source
softwares.He built several streaming
plateforms (CDN, OTT) and he's currently in
charge of the engineering of Arkena's OTT
Plateform.Furthermore he's the Ansible Paris
meetup organizer and had talks on different
topics (Docker, Kubernetes, Ansible).
Smaine Kahlouch Antoine Legrand
Lead software engineer
Work Experience
Antoine Legrand is a senior software
engineer with 7 years experience.He
designs and leads the development of
Arkena's video-on-demand platform
used by large Broadcasters (Tf1, BeIn
Sports, Elisa....).He's an open source
softwares addict and co-author of
kubespray.io project.

More Related Content

PPTX
Kuberenetes - From Zero to Hero
PPTX
Kubernetes CRI containerd integration by Lantao Liu (Google)
ODP
Persistent Storage in Openshift using GlusterFS
PDF
Kubernetes Webinar - Using ConfigMaps & Secrets
PDF
Getting started with kubernetes
PDF
HPC in a Box - Docker Workshop at ISC 2015
PDF
Let's Try Every CRI Runtime Available for Kubernetes
PDF
Swarm migration
Kuberenetes - From Zero to Hero
Kubernetes CRI containerd integration by Lantao Liu (Google)
Persistent Storage in Openshift using GlusterFS
Kubernetes Webinar - Using ConfigMaps & Secrets
Getting started with kubernetes
HPC in a Box - Docker Workshop at ISC 2015
Let's Try Every CRI Runtime Available for Kubernetes
Swarm migration

What's hot (20)

PDF
CRI, OCI, and CRI-O
PPTX
Kubernetes and OpenStack at Scale
PDF
Fabric8 - Being devOps doesn't suck anymore
PDF
Kubernetes
ODP
oVirt 3.6 Deep Dive: Refresh LUN size
PDF
Carbon 5 : A Preview
PDF
CD, docker and kubernetes
PPTX
Containers and HPC
PDF
Docker for HPC in a Nutshell
PDF
Extended and embedding: containerd update & project use cases
PDF
Disaster recovery solution with open nebula and storpool
PDF
WSO2 Kubernetes Reference Architecture - Nov 2017
PDF
WSO2 Container Strategy
PDF
Introducing Koki Short
PDF
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
PDF
Create a One Click Migration (OCM) process to Automate Repeatable Infrastruct...
PDF
A Closer Look at Kubernetes Pods and Replica Sets
PDF
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
PDF
FOSDEM 2019: A containerd Project Update
PPTX
ONAP MultiCloud/K8s Casablanca
CRI, OCI, and CRI-O
Kubernetes and OpenStack at Scale
Fabric8 - Being devOps doesn't suck anymore
Kubernetes
oVirt 3.6 Deep Dive: Refresh LUN size
Carbon 5 : A Preview
CD, docker and kubernetes
Containers and HPC
Docker for HPC in a Nutshell
Extended and embedding: containerd update & project use cases
Disaster recovery solution with open nebula and storpool
WSO2 Kubernetes Reference Architecture - Nov 2017
WSO2 Container Strategy
Introducing Koki Short
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
Create a One Click Migration (OCM) process to Automate Repeatable Infrastruct...
A Closer Look at Kubernetes Pods and Replica Sets
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
FOSDEM 2019: A containerd Project Update
ONAP MultiCloud/K8s Casablanca
Ad

Viewers also liked (17)

PDF
Salman Khaja - Resume
DOCX
Geography, Countries
PPTX
«Продукция Feron для яркого Нового года»
PPTX
Herramientas gerenciales 1
ODP
The srangers analysis
PPTX
«Преимущества новых LED ламп»
RTF
Kashif Hamid CV
PPTX
Caso patologia, encefalitozoonosis
PPTX
Social learning manual presentation week 6 team c
DOC
технология електротехнічних робіт
PPTX
DOCX
Installing JVM
PDF
PDF
Stabiliser salt stack_avec_ansible
PPTX
GMOs
PDF
Au vest no299
Salman Khaja - Resume
Geography, Countries
«Продукция Feron для яркого Нового года»
Herramientas gerenciales 1
The srangers analysis
«Преимущества новых LED ламп»
Kashif Hamid CV
Caso patologia, encefalitozoonosis
Social learning manual presentation week 6 team c
технология електротехнічних робіт
Installing JVM
Stabiliser salt stack_avec_ansible
GMOs
Au vest no299
Ad

Similar to Arkena from heroku_to_k8s (20)

PPTX
Data harmonycloudpowerpointclientfacing
PDF
Running and Managing Kubernetes on OpenStack
PPTX
Leveraging OpenStack at Scale: How the Elastic Cloud Drives Innovation Velocity
PDF
Rancher Labs - Your own PaaS in action
PDF
Rancher Labs - Your own PaaS in action
PPTX
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
PDF
Introduction to Apache Mesos and DC/OS
PPTX
APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
PPTX
DEVNET-1183 OpenShift + Kubernetes + Docker
PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
PDF
Docker Containers Deep Dive
PDF
Application Portability using Cloud Native Technology: Docker, Kubernetes
PDF
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
PPTX
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
PPTX
Centralizing Kubernetes and Container Operations
PPTX
Why kubernetes matters
PPTX
YARN Containerized Services: Fading The Lines Between On-Prem And Cloud
PPTX
Betfair + Couchbase
PPTX
OpenStack Marketing Meeting Oct 2
PDF
Integration in the Cloud, by Rob Davies
Data harmonycloudpowerpointclientfacing
Running and Managing Kubernetes on OpenStack
Leveraging OpenStack at Scale: How the Elastic Cloud Drives Innovation Velocity
Rancher Labs - Your own PaaS in action
Rancher Labs - Your own PaaS in action
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
Introduction to Apache Mesos and DC/OS
APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + Docker
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Docker Containers Deep Dive
Application Portability using Cloud Native Technology: Docker, Kubernetes
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Centralizing Kubernetes and Container Operations
Why kubernetes matters
YARN Containerized Services: Fading The Lines Between On-Prem And Cloud
Betfair + Couchbase
OpenStack Marketing Meeting Oct 2
Integration in the Cloud, by Rob Davies

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Hybrid model detection and classification of lung cancer
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
project resource management chapter-09.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Mushroom cultivation and it's methods.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Approach and Philosophy of On baking technology
Univ-Connecticut-ChatGPT-Presentaion.pdf
1 - Historical Antecedents, Social Consideration.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Hybrid model detection and classification of lung cancer
DP Operators-handbook-extract for the Mautical Institute
SOPHOS-XG Firewall Administrator PPT.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Enhancing emotion recognition model for a student engagement use case through...
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Zenith AI: Advanced Artificial Intelligence
project resource management chapter-09.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Chapter 5: Probability Theory and Statistics
Web App vs Mobile App What Should You Build First.pdf
Mushroom cultivation and it's methods.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Tartificialntelligence_presentation.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Approach and Philosophy of On baking technology

Arkena from heroku_to_k8s

  • 1. From Heroku to Kubernetes : A production use case Antoine Legrand Smaine Kahlouch Arkena 2016
  • 2. 2 AGENDA • Presentation of Arkena • Former Hosting plateform on Heroku, why to leave ? • Is kubernetes able to provide similar features as Heroku ? • Migration steps • Project lessons • Deployment tools
  • 3. WHO WE ARE YOUR TRUSTED MEDIA PARTNER 3 A TDF Group Business Unit • 16 POPs CDN • 1 Tbps connectivity • 400 live radios & 360 live TVs • 630 hours of On Demand video processed daily • United Kingdom • Norway • USA • Finland • Denmark • Poland • France • Spain • Sweden 13 Offices in 9 Countries A team of 400 employees At a glance
  • 4. ARKENA OTT / CDN A UNIQUE EUROPEAN PRESENCE, ESPECIALLY FRANCE AND NORDICS 5 Content management User accounts management Content processing & protection
  • 5. 6 HEROKU KEY FEATURES • No need to worry about the underlying infrastructure • Easy to scale apps • Full application stacks are easy to install with Heroku addons • Easy to iterate from dev to production
  • 6. 7 CONTEXT • Our VOD plateform gets increasingly successful with our clients • The Heroku Costs became significant • Are we able to keep the same features as Heroku on Bare- Metal ?
  • 7. 8 FEATURES REQUIREMENTS • High availability and scalability • Log management • Monitoring • Network performances
  • 8. 8 KUBERNETES CHOICE • Kubernetes looked promising • Deep investigation on kubernetes features • POC validation
  • 9. 10 FEATURES REQUIREMENTS • High availability and scalability
  • 10. 10 HIGH AVAILABILITY & SCALABILITY • Pods and Replication controllers • Quickly increase the number of replicas • Horizontal pod autoscaling • Multi datacenters architecture • Database replication
  • 11. 12 FEATURES REQUIREMENTS • High availability and scalability • Log management
  • 12. 13 LOGS MANAGEMENT • Kubernetes DaemonSet • Log processing • Reliable transport and storage • Kibana WebUI
  • 13. 14 FEATURES REQUIREMENTS • High availability and scalability • Log management • Monitoring
  • 14. 14 MONITORING • Kubernetes Health checks • Shinken servers (alerting) • Data performances metrics : Influxdb with Heapster • NewRelic hosted monitoring solution
  • 15. 16 FEATURES REQUIREMENTS • High availability and scalability • Log management • Monitoring • Network performances
  • 16. 16 ARKENA'S KUBERNETES CLUSTER • 2 distinct kubernetes clusters (1 per datacenter) • 12 nodes (Total: 288 cpus and 1152G of memory) • Haproxy loadbalancers • Multi-tenant database server • Network plugin: Calico
  • 17. 19 MIGRATION STEPS FROM HEROKU 1. Deploy application stack on kubernetes 2. Copy Heroku's database on Arkena's db servers 3. Configure Heroku app to use Arkena's database server 4. QA tests (rollback if any problem) 5. Update the DNS 6. Keep both platforms running during a validation period
  • 18. 23 PROJECT PROGRESS ISSUES • It's important to involve all teams. • Not clear recomandations on High availability and upgrade procedure • Ecosystem tools are still young
  • 19. 20 KUBESPRAY • Open Source project to deploy a kubernetes cluster (Baremetal, AWS and GCE) • Current supported network plugins : Weave, Flannel & Calico. Coming soon : Romana and Opencontrail • Support most popular Linux distributions (CoreOS, Centos/RHEL, Debian/Ubuntu) • Continuous Integration tests. About 60 3-nodes clusters per day
  • 20. 21 KPM APPS DEPLOYMENT • Deploy full application stack • Dependency management • Reproducible and versionned deployment • Ready to use application registry
  • 21. 22 KPM KEY FEATURES • One command line to install an app stack • Super easy packaging http://kpm.kubespray.io kpm install heapster
  • 22. 22 NEXT STEPS • Ubernetes • Continuous Deployment (Openshift, DEIS …) • Network policies enforcement • Custom metrics Autoscaling
  • 23. 23 CONCLUSION • Successful migration from Heroku to Kubernetes on production • Technical teams are very interested on Kubernetes • Better resources management • Greatly reduced infrastructure costs
  • 25. 25 LINKS Kubespray : https://docs.kubespray.io Kubespray CI : https://travis.kubespray.io Kpm : https://github.com/kubespray/kpm Network benchs : https://smana.kubespray.io French community : https://www.kubernetes-fr.org
  • 26. 26 About us System engineer and Devops Work Experience Smaine is a senior technical lead and devops engineer at Arkena with 10 years experience in Devops, Linux and open source softwares.He built several streaming plateforms (CDN, OTT) and he's currently in charge of the engineering of Arkena's OTT Plateform.Furthermore he's the Ansible Paris meetup organizer and had talks on different topics (Docker, Kubernetes, Ansible). Smaine Kahlouch Antoine Legrand Lead software engineer Work Experience Antoine Legrand is a senior software engineer with 7 years experience.He designs and leads the development of Arkena's video-on-demand platform used by large Broadcasters (Tf1, BeIn Sports, Elisa....).He's an open source softwares addict and co-author of kubespray.io project.