SlideShare a Scribd company logo
1 of 25
Download to read offline
MUC_DATE_THEME_INITIALS
From pets to cattle –
powered by CoreOS, docker, Mesos & nginx
Thomas Schneider
MUC_DATE_THEME_INITIALS 2
Ι Intro
Ι Pets vs. cattle
Ι Where we started ...
Ι Learnings & dead-ends
Ι ... where we ended up
Ι Technology stack
Ι Showtime, baby!
Agenda
MUC_DATE_THEME_INITIALS 3
Intro
Ι Background
§ ~10 years experience in IT
§ Mainly software development
§ Some system engineering, automation & operations
§ @zooplus:
§ Lead engineer, build & runtime platform
§ Trying to encourage DevOps culture
Ι Get in touch
§ thomas.schneider@zooplus.com
§ github.com/schneidexe
MUC_DATE_THEME_INITIALS 4
Pets vs. cattle
MUC_DATE_THEME_INITIALS 5
Where we started …
Ι Done via shell
Ι .sh scripts, scp, rsync
Ι Mainly .jar/.war files
Ι 2 out of 3 apps
deployed differently
Ι Locally != dev != prod
Ι Dev create & test, but
no idea how it runs
Ι Ops deploy & run, but
have no idea what
Ι Monolithic code-base
Ι CI partly automated
Ι Manually configured
teamcity
Ι 10+ all (=one) purpose
agents
Ι Up to 10+ builds in
parallel
Ι Maven binary repository
(nexus)
Ι Source repository
(subversion)
Build Deploy
Ι 300+ apps/jobs
Ι Lot’s of bare-metal
Ι Static environment
Ι Servers used by multiple
apps, upgrades blocked
Ι Outdated machines
Ι Monitoring: ELK,
collectd (hard to get all)
Ι High error noise level
Ι Ops == Firefighters
Ι Devs blocked by Infra
Ι Biz scaled, errors $$$
Run
Application stack is limited and tailored to environment. Build and release process slow, error-
prone and inflexible. Intransparent infrastructure, extension is slow & painful.
MUC_DATE_THEME_INITIALS 6
Where we started …
MUC_DATE_THEME_INITIALS 7
Learnings & dead-ends
Ι Handle diversity
§ Horizontal scaling is not our primary issue
§ Handling tons of different apps it is!
Ι Immutability & automation
§ Everything is (made from) code, build immutable artifacts
§ Automation is not only for speed but for knowledge
§ Re-creation over re-configuration
Ι Bring the pain forward
§ Do not do it all by yourself, get infra and devs (and biz) on-board
§ Think reverse: from prod to dev
Ι Keep it simple and fast
§ Get buy-in from devs, they have to understand it
§ Teams had/have to adopt several times (after all that years of stable infra!)
§ Simple is fun, Speed is fun - if it’s fun people will use it
MUC_DATE_THEME_INITIALS 8
Learnings & dead-ends
Ι Docker helps, but does not solve all of your problems
§ It’s not just about ‘docker build’ & ‘docker run’
§ Think about scaling, monitoring and management of your apps on prod
Ι Stay focused
§ What do YOU need? (not Google, Netflix & co)
§ There are new products around every week, do 2-3 POCs, then stick with your descision
§ Keep it modular, have a plan in mind how to migrate/replace parts
§ Be not scared of throwing away a few things
Ι Persistence
§ Try not to mix stateful and stateless things, externalize data
§ A database might be more a pet than cattle
MUC_DATE_THEME_INITIALS 9
Learnings & dead-ends
Ι Puppet
§ Not the best tool for deploying your app
§ Re-configuration can be tricky (systems become almost identical)
§ Not immutable (unless you really nail every dependency)
Ι Fleet (0.9.x)
§ nice features like side-kicks, low overhead
§ no resource management, too low level
§ stability issues
Ι Mixing frameworks on Mesos agent nodes
§ Isolation can get tough if patterns are too different e.g. jobs and services
§ Not enough resources for big jobs on service nodes
§ Spike utilization of batch jobs or builds can impact overall host performance
Ι Graphite and containers
§ cannot handle metrics with too much dynamics (30k different containers in 1 week)
MUC_DATE_THEME_INITIALS 10
... where we ended up
Ι GUIs and REST APIs
Ι Deploy
§ Services
§ Jobs
§ Containers
§ Machines
Ι Unified deployment &
management
Ι Cloud-agnostic
Ι You build it, you run it!*
Ι Distributed code-base
Ι full CI/CD life-cycle can
be automated
Ι Pre-configured jenkins
master
Ι Disposable, customized
jenkins slaves
Ι Scalable builds
Ι Multi-format binary
repository (Artifactory)
Ι Source repository (git)
Build Deploy
Ι Flexible resource
management
Ι Health-checks &
self-healing
Ι Environment config
Ι Service discovery &
routing
Ι Horizontal scaling
Ι House-keeping
Ι Out-of-the-box
monitoring (metrics,
logs)
Run
Build, deploy and run any application with high flexibility & low effort (Jenkinsfile, Dockerfile,
Deployment .json). Same release process for all applications. High transparency on infrastructure*.
MUC_DATE_THEME_INITIALS 11
... where we ended up
MUC_DATE_THEME_INITIALS 12
Technology stack:
Service Discovery & Routing, PaaS, CaaS, IaaS
SD/SR Nixy Mesos-DNS
PaaS
Marathon Chronos Jenkins
Mesos Zookeeper
CaaS
IaaS
deploy-API + cloud-init
MUC_DATE_THEME_INITIALS 13
Technology stack:
Monitoring
SD/SR
journal
+
filebeat
dockerbeatPaaS
CaaS
hostbeat
IaaS
vCenter
MUC_DATE_THEME_INITIALS 14
Technology stack:
Deploy API
Ι Fast cloud-like provisioning of
VMs (resources: cpu, mem,
disk, net)
Ι Lightweight bootstrapping
with cloud-init
Ι Focus on cattle machines
Ι Re-create over re-configure
$ curl -X POST 
--form "image=coreos-1081.3.0" 
--form "application=docker" 
--form "env=dev112" 
--form "cpu=8" 
--form "mem=16" 
--form "disk=100" 
--form "cloudinit_file=@docker.yml" 
"http://deploy.zooplus.de/api/v1/machines"
coreos:
units
- name: docker.service
drop-ins:
- name: docker-opts.conf
content: |
[Service]
Environment='DOCKER_OPTS=host=tcp://0.0.0.0:2375'
MUC_DATE_THEME_INITIALS 15
Technology stack:
Docker
Ι Automated reproducible
builds with Dockerfile
Ι Immutable images
Ι Bundles app and
dependencies
Ι Common artifact format
Ι Standardized way of
deployment, monitoring, etc.
Ι Isolation of applications
Ι Resource allocation
$ cat Dockerfile
FROM repo.zooplus.de/centos:7
RUN yum install –y java-1.8.0_47 && 
yum clean all
ADD shop.jar /shop.jar
CMD java –jar shop.jar
$ docker build –t shop .
Building image shop
Step 1 : FROM repo.zooplus.de/centos:7
---> 9b92a6d1f7de
...
$ docker run shop
Starting shop...
MUC_DATE_THEME_INITIALS 16
Technology stack:
Mesos
Ι Resource manager
Ι Task distribution
Ι “Whole DC as single machine”
Ι All tasks run in docker
containers
Ι Web UI for status/utilization
and debugging
(logs, task state)
Ι Usually no direct interaction
MUC_DATE_THEME_INITIALS 17
Technology stack:
Jenkins
Ι Automation engine
Ι Jenkins 2.x
Ι Jenkinsfile and multi-
branch support
Ι Post-commit hooks
Ι Immutable slaves
§ Running on mesos/docker
§ Customized
§ Highly scalable
Ι Jenkins master docker image
§ Spawn test instance in <1min
(builds should run on prod)
§ Bootstrap with DSL
folder(”catalog") { }
multibranchWorkflowJob(catalog/app') {
branchSources {
git {
remote('ssh://git@stash.zooplus.de:22/cat/app.git')
credentialsId('ef406810-be3c-4f2a-ad65-6239706d1766')
}
}
}
MUC_DATE_THEME_INITIALS 18
Technology stack:
Marathon
Ι Task scheduler for mesos
Ι Distributed init system
Ι Long runnnig apps/services
Ι Rest API: submit apps via
.json
Ι GUI: manage apps & manual
config
Ι Health checks & self-healing
Ι Multi-app deployments
Ι Rolling updates
Ι Horizontal scaling
MUC_DATE_THEME_INITIALS 19
Technology stack:
Chronos
Ι Task scheduler for mesos
Ι Distributed cron system
Ι Batch jobs
Ι Rest API: submit jobs via
.json
Ι GUI: job details & status,
manual execution
Ι Scheduling
§ Time-based
§ Dependency-based
MUC_DATE_THEME_INITIALS 20
Technology stack:
Nixy/Nginx/Mesos-DNS
Ι Nixy
§ Service catalog from marathon
§ REST-like API
§ Event-based
§ Configures nginx based on
templates
Ι Nginx
§ State-of-the-art web server
§ Used as service router
§ SSL termination
§ Proxy for HTTP, TCP and UDP
§ Access control & public
exposure
Ι Mesos-DNS
§ Service catalog from mesos
§ Convention-over-configuration
naming pattern
§ used for “internal” services
"Apps": {
"/finance/jenkins": {
"Tasks": [
["ops85-150.web.zooplus.de:20357"],
["ops85-150.web.zooplus.de:20358"]
],
"Frontends": [
{
"Type": "http",
"Data": ["finance-jenkins"]
}
]
}
}
$ host jenkins-finance.marathon.prod.zooplus.net
jenkins-finance.marathon.prod.zooplus.net has address 192.168.85.150
MUC_DATE_THEME_INITIALS 21
Technology stack:
journal & beats
Ι Hostbeat
§ Ships host metrics in beats
format
§ Like collectd
Ι Dockerbeat
§ Ships container metrics in
beats format
§ Metadata: env, labels
Ι Journal/Filebeat
§ Ships every single log line from
journald to ELK
§ Docker uses journal log-driver
to ship stdout/stderr
§ Apps should log in JSON-lines
Ι ELK/Graphite
§ Elastic search: event-data
§ Graphite: TSD/metrics
Ι Nagios
MUC_DATE_THEME_INITIALS 22
Technology stack:
Cluster structure
MUC_DATE_THEME_INITIALS 23
Technology stack:
Questions?
MUC_DATE_THEME_INITIALS 24
Showtime, baby!
MUC_DATE_THEME_INITIALS 25
Thank You!
… and yes, we’re hiring! ;)

More Related Content

What's hot

Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
 
Nginx internals
Nginx internalsNginx internals
Nginx internalsliqiang xu
 
Introduction to Nginx
Introduction to NginxIntroduction to Nginx
Introduction to NginxKnoldus Inc.
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINXNGINX, Inc.
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeAcademy
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesSreenivas Makam
 
Leveraging the Power of containerd Events - Evan Hazlett
Leveraging the Power of containerd Events - Evan HazlettLeveraging the Power of containerd Events - Evan Hazlett
Leveraging the Power of containerd Events - Evan HazlettDocker, Inc.
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network TroubleshootingOpen Source Consulting
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsDevOps.com
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context ConstraintsAlessandro Arrichiello
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog ScaleDocker, Inc.
 
Kubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsKubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsDigitalOcean
 
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX, Inc.
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDocker, Inc.
 
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)Yong Tang
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX, Inc.
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web serverMd Waresul Islam
 
DCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveDCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveMadhu Venugopal
 

What's hot (20)

Nginx Essential
Nginx EssentialNginx Essential
Nginx Essential
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
Nginx internals
Nginx internalsNginx internals
Nginx internals
 
Nginx dhruba mandal
Nginx dhruba mandalNginx dhruba mandal
Nginx dhruba mandal
 
Introduction to Nginx
Introduction to NginxIntroduction to Nginx
Introduction to Nginx
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 
Leveraging the Power of containerd Events - Evan Hazlett
Leveraging the Power of containerd Events - Evan HazlettLeveraging the Power of containerd Events - Evan Hazlett
Leveraging the Power of containerd Events - Evan Hazlett
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical Deployments
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Kubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsKubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby Steps
 
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for Kubernetes
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
 
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web server
 
DCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveDCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep dive
 

Viewers also liked

Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxy
Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxyImplementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxy
Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxyVivek Juneja
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with PrometheusQAware GmbH
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and FunQAware GmbH
 
Hands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunHands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunQAware GmbH
 
JEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeJEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeQAware GmbH
 
Lightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeLightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeQAware GmbH
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
Cloud Native Unleashed
Cloud Native UnleashedCloud Native Unleashed
Cloud Native UnleashedQAware GmbH
 
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Mario-Leander Reimer
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrQAware GmbH
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkQAware GmbH
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101QAware GmbH
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnQAware GmbH
 
Der Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellDer Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellQAware GmbH
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talkicebourg
 
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and ConsulVarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consulzeridon
 
Clickstream Analysis with Spark - Understanding Visitors in Real Time
Clickstream Analysis with Spark - Understanding Visitors in Real TimeClickstream Analysis with Spark - Understanding Visitors in Real Time
Clickstream Analysis with Spark - Understanding Visitors in Real TimeQAware GmbH
 
Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)QAware GmbH
 

Viewers also liked (20)

Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxy
Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxyImplementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxy
Implementing Rolling Upgrades using Mesos, Marathon, Docker, HAProxy
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with Prometheus
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
What's New in HAProxy
What's New in HAProxyWhat's New in HAProxy
What's New in HAProxy
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Hands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunHands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and Fun
 
JEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeJEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon Europe
 
Lightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeLightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-code
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
Cloud Native Unleashed
Cloud Native UnleashedCloud Native Unleashed
Cloud Native Unleashed
 
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
Everything as-code. Polyglotte Entwicklung in der Praxis. #oop2017
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache Solr
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
 
Der Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellDer Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a Nutshell
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
 
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and ConsulVarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
 
Clickstream Analysis with Spark - Understanding Visitors in Real Time
Clickstream Analysis with Spark - Understanding Visitors in Real TimeClickstream Analysis with Spark - Understanding Visitors in Real Time
Clickstream Analysis with Spark - Understanding Visitors in Real Time
 
Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)
 

Similar to From pets to cattle - powered by CoreOS, docker, Mesos & nginx

Intro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live DemoIntro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live DemoMongoDB
 
Pain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr SugakPain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr SugakSigma Software
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesYshay Yaacobi
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Andrii Podanenko
 
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
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiryVishwas N
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Richard Bullington-McGuire
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureAdrian Otto
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverlessgjdevos
 
Tools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTimothy Sutton
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesFab L
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy VirinCocoaHeads France
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementJames Turnbull
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 

Similar to From pets to cattle - powered by CoreOS, docker, Mesos & nginx (20)

Intro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live DemoIntro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live Demo
 
Pain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr SugakPain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr Sugak
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
 
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...
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiry
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 
Docker
DockerDocker
Docker
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
 
Tools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac Deployment
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation Slides
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 

More from QAware GmbH

Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzQAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 

More from QAware GmbH (20)

Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 

Recently uploaded

Digital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksDigital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksdeepakthakur548787
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...Dr Arash Najmaei ( Phd., MBA, BSc)
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelBoston Institute of Analytics
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfblazblazml
 
DATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etcDATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etclalithasri22
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformationAnnie Melnic
 
Statistics For Management by Richard I. Levin 8ed.pdf
Statistics For Management by Richard I. Levin 8ed.pdfStatistics For Management by Richard I. Levin 8ed.pdf
Statistics For Management by Richard I. Levin 8ed.pdfnikeshsingh56
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaManalVerma4
 
Presentation of project of business person who are success
Presentation of project of business person who are successPresentation of project of business person who are success
Presentation of project of business person who are successPratikSingh115843
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBoston Institute of Analytics
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfNon Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfPratikPatil591646
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Boston Institute of Analytics
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfNicoChristianSunaryo
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...Jack Cole
 

Recently uploaded (17)

Digital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksDigital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing works
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
 
DATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etcDATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etc
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformation
 
Data Analysis Project: Stroke Prediction
Data Analysis Project: Stroke PredictionData Analysis Project: Stroke Prediction
Data Analysis Project: Stroke Prediction
 
Statistics For Management by Richard I. Levin 8ed.pdf
Statistics For Management by Richard I. Levin 8ed.pdfStatistics For Management by Richard I. Levin 8ed.pdf
Statistics For Management by Richard I. Levin 8ed.pdf
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in India
 
Presentation of project of business person who are success
Presentation of project of business person who are successPresentation of project of business person who are success
Presentation of project of business person who are success
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfNon Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdf
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdf
 
2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
 
Insurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis ProjectInsurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis Project
 

From pets to cattle - powered by CoreOS, docker, Mesos & nginx

  • 1. MUC_DATE_THEME_INITIALS From pets to cattle – powered by CoreOS, docker, Mesos & nginx Thomas Schneider
  • 2. MUC_DATE_THEME_INITIALS 2 Ι Intro Ι Pets vs. cattle Ι Where we started ... Ι Learnings & dead-ends Ι ... where we ended up Ι Technology stack Ι Showtime, baby! Agenda
  • 3. MUC_DATE_THEME_INITIALS 3 Intro Ι Background § ~10 years experience in IT § Mainly software development § Some system engineering, automation & operations § @zooplus: § Lead engineer, build & runtime platform § Trying to encourage DevOps culture Ι Get in touch § thomas.schneider@zooplus.com § github.com/schneidexe
  • 5. MUC_DATE_THEME_INITIALS 5 Where we started … Ι Done via shell Ι .sh scripts, scp, rsync Ι Mainly .jar/.war files Ι 2 out of 3 apps deployed differently Ι Locally != dev != prod Ι Dev create & test, but no idea how it runs Ι Ops deploy & run, but have no idea what Ι Monolithic code-base Ι CI partly automated Ι Manually configured teamcity Ι 10+ all (=one) purpose agents Ι Up to 10+ builds in parallel Ι Maven binary repository (nexus) Ι Source repository (subversion) Build Deploy Ι 300+ apps/jobs Ι Lot’s of bare-metal Ι Static environment Ι Servers used by multiple apps, upgrades blocked Ι Outdated machines Ι Monitoring: ELK, collectd (hard to get all) Ι High error noise level Ι Ops == Firefighters Ι Devs blocked by Infra Ι Biz scaled, errors $$$ Run Application stack is limited and tailored to environment. Build and release process slow, error- prone and inflexible. Intransparent infrastructure, extension is slow & painful.
  • 7. MUC_DATE_THEME_INITIALS 7 Learnings & dead-ends Ι Handle diversity § Horizontal scaling is not our primary issue § Handling tons of different apps it is! Ι Immutability & automation § Everything is (made from) code, build immutable artifacts § Automation is not only for speed but for knowledge § Re-creation over re-configuration Ι Bring the pain forward § Do not do it all by yourself, get infra and devs (and biz) on-board § Think reverse: from prod to dev Ι Keep it simple and fast § Get buy-in from devs, they have to understand it § Teams had/have to adopt several times (after all that years of stable infra!) § Simple is fun, Speed is fun - if it’s fun people will use it
  • 8. MUC_DATE_THEME_INITIALS 8 Learnings & dead-ends Ι Docker helps, but does not solve all of your problems § It’s not just about ‘docker build’ & ‘docker run’ § Think about scaling, monitoring and management of your apps on prod Ι Stay focused § What do YOU need? (not Google, Netflix & co) § There are new products around every week, do 2-3 POCs, then stick with your descision § Keep it modular, have a plan in mind how to migrate/replace parts § Be not scared of throwing away a few things Ι Persistence § Try not to mix stateful and stateless things, externalize data § A database might be more a pet than cattle
  • 9. MUC_DATE_THEME_INITIALS 9 Learnings & dead-ends Ι Puppet § Not the best tool for deploying your app § Re-configuration can be tricky (systems become almost identical) § Not immutable (unless you really nail every dependency) Ι Fleet (0.9.x) § nice features like side-kicks, low overhead § no resource management, too low level § stability issues Ι Mixing frameworks on Mesos agent nodes § Isolation can get tough if patterns are too different e.g. jobs and services § Not enough resources for big jobs on service nodes § Spike utilization of batch jobs or builds can impact overall host performance Ι Graphite and containers § cannot handle metrics with too much dynamics (30k different containers in 1 week)
  • 10. MUC_DATE_THEME_INITIALS 10 ... where we ended up Ι GUIs and REST APIs Ι Deploy § Services § Jobs § Containers § Machines Ι Unified deployment & management Ι Cloud-agnostic Ι You build it, you run it!* Ι Distributed code-base Ι full CI/CD life-cycle can be automated Ι Pre-configured jenkins master Ι Disposable, customized jenkins slaves Ι Scalable builds Ι Multi-format binary repository (Artifactory) Ι Source repository (git) Build Deploy Ι Flexible resource management Ι Health-checks & self-healing Ι Environment config Ι Service discovery & routing Ι Horizontal scaling Ι House-keeping Ι Out-of-the-box monitoring (metrics, logs) Run Build, deploy and run any application with high flexibility & low effort (Jenkinsfile, Dockerfile, Deployment .json). Same release process for all applications. High transparency on infrastructure*.
  • 12. MUC_DATE_THEME_INITIALS 12 Technology stack: Service Discovery & Routing, PaaS, CaaS, IaaS SD/SR Nixy Mesos-DNS PaaS Marathon Chronos Jenkins Mesos Zookeeper CaaS IaaS deploy-API + cloud-init
  • 14. MUC_DATE_THEME_INITIALS 14 Technology stack: Deploy API Ι Fast cloud-like provisioning of VMs (resources: cpu, mem, disk, net) Ι Lightweight bootstrapping with cloud-init Ι Focus on cattle machines Ι Re-create over re-configure $ curl -X POST --form "image=coreos-1081.3.0" --form "application=docker" --form "env=dev112" --form "cpu=8" --form "mem=16" --form "disk=100" --form "cloudinit_file=@docker.yml" "http://deploy.zooplus.de/api/v1/machines" coreos: units - name: docker.service drop-ins: - name: docker-opts.conf content: | [Service] Environment='DOCKER_OPTS=host=tcp://0.0.0.0:2375'
  • 15. MUC_DATE_THEME_INITIALS 15 Technology stack: Docker Ι Automated reproducible builds with Dockerfile Ι Immutable images Ι Bundles app and dependencies Ι Common artifact format Ι Standardized way of deployment, monitoring, etc. Ι Isolation of applications Ι Resource allocation $ cat Dockerfile FROM repo.zooplus.de/centos:7 RUN yum install –y java-1.8.0_47 && yum clean all ADD shop.jar /shop.jar CMD java –jar shop.jar $ docker build –t shop . Building image shop Step 1 : FROM repo.zooplus.de/centos:7 ---> 9b92a6d1f7de ... $ docker run shop Starting shop...
  • 16. MUC_DATE_THEME_INITIALS 16 Technology stack: Mesos Ι Resource manager Ι Task distribution Ι “Whole DC as single machine” Ι All tasks run in docker containers Ι Web UI for status/utilization and debugging (logs, task state) Ι Usually no direct interaction
  • 17. MUC_DATE_THEME_INITIALS 17 Technology stack: Jenkins Ι Automation engine Ι Jenkins 2.x Ι Jenkinsfile and multi- branch support Ι Post-commit hooks Ι Immutable slaves § Running on mesos/docker § Customized § Highly scalable Ι Jenkins master docker image § Spawn test instance in <1min (builds should run on prod) § Bootstrap with DSL folder(”catalog") { } multibranchWorkflowJob(catalog/app') { branchSources { git { remote('ssh://git@stash.zooplus.de:22/cat/app.git') credentialsId('ef406810-be3c-4f2a-ad65-6239706d1766') } } }
  • 18. MUC_DATE_THEME_INITIALS 18 Technology stack: Marathon Ι Task scheduler for mesos Ι Distributed init system Ι Long runnnig apps/services Ι Rest API: submit apps via .json Ι GUI: manage apps & manual config Ι Health checks & self-healing Ι Multi-app deployments Ι Rolling updates Ι Horizontal scaling
  • 19. MUC_DATE_THEME_INITIALS 19 Technology stack: Chronos Ι Task scheduler for mesos Ι Distributed cron system Ι Batch jobs Ι Rest API: submit jobs via .json Ι GUI: job details & status, manual execution Ι Scheduling § Time-based § Dependency-based
  • 20. MUC_DATE_THEME_INITIALS 20 Technology stack: Nixy/Nginx/Mesos-DNS Ι Nixy § Service catalog from marathon § REST-like API § Event-based § Configures nginx based on templates Ι Nginx § State-of-the-art web server § Used as service router § SSL termination § Proxy for HTTP, TCP and UDP § Access control & public exposure Ι Mesos-DNS § Service catalog from mesos § Convention-over-configuration naming pattern § used for “internal” services "Apps": { "/finance/jenkins": { "Tasks": [ ["ops85-150.web.zooplus.de:20357"], ["ops85-150.web.zooplus.de:20358"] ], "Frontends": [ { "Type": "http", "Data": ["finance-jenkins"] } ] } } $ host jenkins-finance.marathon.prod.zooplus.net jenkins-finance.marathon.prod.zooplus.net has address 192.168.85.150
  • 21. MUC_DATE_THEME_INITIALS 21 Technology stack: journal & beats Ι Hostbeat § Ships host metrics in beats format § Like collectd Ι Dockerbeat § Ships container metrics in beats format § Metadata: env, labels Ι Journal/Filebeat § Ships every single log line from journald to ELK § Docker uses journal log-driver to ship stdout/stderr § Apps should log in JSON-lines Ι ELK/Graphite § Elastic search: event-data § Graphite: TSD/metrics Ι Nagios
  • 25. MUC_DATE_THEME_INITIALS 25 Thank You! … and yes, we’re hiring! ;)