CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Similar documents
CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Using DC/OS for Continuous Delivery

@joerg_schad Nightmares of a Container Orchestration System

AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Deploying Applications on DC/OS

Building a Data-Friendly Platform for a Data- Driven Future

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

Building/Running Distributed Systems with Apache Mesos

Scale your Docker containers with Mesos

Advantages of using DC/OS Azure infrastructure and the implementation architecture Bill of materials used to construct DC/OS and the ACS clusters

Container Orchestration on Amazon Web Services. Arun

DevOps Online Training

Think Small to Scale Big

Deployment Patterns using Docker and Chef

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

SCALING LIKE TWITTER WITH APACHE MESOS

Industry-leading Application PaaS Platform

DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair

Mesosphere and the Enterprise: Run Your Applications on Apache Mesos. Steve Wong Open Source Engineer {code} by Dell

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

SAMPLE CHAPTER IN ACTION. Roger Ignazio. FOREWORD BY Florian Leibert MANNING

APACHE COTTON. MySQL on Mesos. Yan Xu xujyan

How Container Schedulers and Software-based Storage will Change the Cloud

The Emergence of the Datacenter Developer. Tobi Knaup, Co-Founder & CTO at

The four forces of Cloud Native

Important DevOps Technologies (3+2+3days) for Deployment

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

The SMACK Stack: Spark*, Mesos*, Akka, Cassandra*, Kafka* Elizabeth K. Dublin Apache Kafka Meetup, 30 August 2017.

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

DevOps Course Content

Mesos at Yelp: Building a production ready PaaS. Rob Johnson

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage

POWERING THE INTERNET WITH APACHE MESOS

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

P a g e 1. Teknologisk Institut. Online kursus k SysAdmin & DevOps Collection

UP! TO DOCKER PAAS. Ming

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

[Docker] Containerization

DEVOPS TRAINING COURSE CONTENT

MANAGING MESOS, DOCKER, AND CHRONOS WITH PUPPET

Kuber-what?! Learn about Kubernetes

@unterstein #bedcon. Operating microservices with Apache Mesos and DC/OS

DevOps Course Content

70-532: Developing Microsoft Azure Solutions

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Con$nuous Deployment with Docker Andrew Aslinger. Oct

How to Keep UP Through Digital Transformation with Next-Generation App Development

Agile CI/CD with Jenkins and/at ZeroStack. Kiran Bondalapati CTO, Co-Founder & Jenkins Admin ZeroStack, Inc. (

Red Hat Roadmap for Containers and DevOps

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

Deploy Like A Boss Oliver Nicholas

Xen and CloudStack. Ewan Mellor. Director, Engineering, Open-source Cloud Platforms Citrix Systems

Docker and Oracle Everything You Wanted To Know

70-532: Developing Microsoft Azure Solutions

Fixing the "It works on my machine!" Problem with Docker

A Whirlwind Tour of Apache Mesos

Beyond 1001 Dedicated Data Service Instances

EVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

Running MarkLogic in Containers (Both Docker and Kubernetes)

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

A REFERENCE ARCHITECTURE FOR DEPLOYING WSO2 MIDDLEWARE ON KUBERNETES

By: Jeeva S. Chelladhurai

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

DevOps Technologies. for Deployment

Issues Fixed in DC/OS

Docker and Security. September 28, 2017 VASCAN Michael Irwin

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

What Building Multiple Scalable DC/OS Deployments Taught Me about Running Stateful Services on DC/OS

CloudCenter for Developers

MESOS A State-Of-The-Art Container Orchestrator Mesosphere, Inc. All Rights Reserved. 1

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

Container-Native Storage

Note: Isolation guarantees among subnets depend on your firewall policies.

Continuous Integration using Docker & Jenkins

Zabbix on a Clouds. Another approach to a building a fault-resilient, scalable monitoring platform

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West

Network Function Virtualization over Open DC/OS Yung-Han Chen

CONTAINERS AND MICROSERVICES WITH CONTRAIL

Deploy an external load balancer with

System Requirements ENTERPRISE

OPENSTACK BEIJING CONFERENCE. by: Steven Hallett Head of Cloud Infrastructure Engineering and Operations

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

DevOps and Continuous Delivery USE CASE

Building A Better Test Platform:

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

Using AWS to Build a Large Scale Dockerized Microservices Architecture. Dr. Oliver Wahlen moovel Group GmbH Frankfurt, 30.

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

ovirt and Docker Integration

Continuous Delivery for Cloud Native Applications

Micro-Service Applications for Infrastructure People

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Actifio Sky DB. Actifio s Solution for Oracle, Oracle EBS with standalone, RAC, ASM, EXADATA configurations

S Implementing DevOps and Hybrid Cloud

Continuous Integration and Delivery with Spinnaker

Transcription:

SOFTWARE ARCHITECTURE NOVEMBER 15, 2016 CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

AGENDA Presentation Introduction to Apache Mesos and DC/OS Components that make up modern infrastructure Running Jenkins as a service on DC/OS Continuously deploying applications to DC/OS Demos & Lab Installing and configuring Jenkins Installing and configuring a load balancer Creating a new CI/CD pipeline Putting it all together (CD in practice)

DEVELOPER AGILITY, DEFINED

DEVELOPER AGILITY, DEFINED Developer agility empowers developers to ship their apps to production leverage the power of Mesos and DC/OS fix bugs rapidly without downtime!

DEVELOPER AGILITY, DEFINED

INTRO TO APACHE MESOS AND DC/OS

A QUICK PRIMER ON CONTAINERS Virtual Machine Based Application Deployment App OS App OS App OS App OS Isolate apps by running multiple VMs per physical server; still need to manage each guest OS! Container Based Application Deployment App App App App VM VM VM VM Mesos Hypervisor Physical Server Hypervisor Physical Server Isolate apps using features of the host OS, such as Linux cgroups. Operating System Physical Server Operating System Physical Server

A QUICK PRIMER ON CONTAINERS Virtual Machines Docker Containers Linux cgroups Application Dependencies Guest OS VM Application Dependencies Docker Container Docker Engine Application Linux cgroup Dependencies Hypervisor Host OS Linux Host OS

A BIT OF CLARIFICATION https://mesos.apache.org https://dcos.io

WHAT IS MESOS? General purpose cluster resource manager Represents many machines as a single entity Advertises resources directly to frameworks Works at scale: Apple, Twitter, Airbnb, Netflix,

WHAT IS MESOS? (CONTINUED) Two-tier scheduling across resource types cpus, mem, disk, and ports by default Masters are highly available, agents are fault tolerant Checkpointing, agent recovery Resource isolation between processes Linux cgroups, Docker, Language bindings: C++, Java, Python, Go,

MESOS ARCHITECTURE Framework A Scheduler Framework B Scheduler Resource offer Launch task(s) Agent 1 Mesos Master Quorum Mesos Master (Leader) ZK Resource offer Launch task(s) Framework A Executor Task(s) Agent n Mesos Master (Standby) ZK ZK Mesos Master (Standby) Framework A Executor Task(s) Framework B Executor Task(s)

ANATOMY OF A RESOURCE OFFER (TWO-TIER SCHEDULING) Available compute resources Mesos Master(s) Mesos Agent 16 CPUs 128 GB RAM 1 TB disk Mesos Agent 16 CPUs 128 GB RAM 1 TB disk Mesos Agent 16 CPUs 128 GB RAM 1 TB disk Master offers resources to scheduler Executor Tasks Executor Tasks Executor Tasks Scheduler Scheduler accepts or declines an offer Resource offer accepted, launch executors/tasks

NEW (OLD) PROBLEMS Service discovery and load balancing BIND, Mesos-DNS, Consul-Mesos, Marathon-LB

NEW (OLD) PROBLEMS Service discovery and load balancing BIND, Mesos-DNS, Consul-Mesos, Marathon-LB Monitoring and metrics collection Collectd, Nagios, Prometheus, Snap

NEW (OLD) PROBLEMS Service discovery and load balancing BIND, Mesos-DNS, Consul-Mesos, Marathon-LB Monitoring and metrics collection Collectd, Nagios, Prometheus, Snap Persistent storage (filesystems, databases, etc) Ceph, HDFS, Amazon EBS / EFS / S3, NFS, Cassandra

NEW (OLD) PROBLEMS Service discovery and load balancing BIND, Mesos-DNS, Consul-Mesos, Marathon-LB Monitoring and metrics collection Collectd, Nagios, Prometheus, Snap Persistent storage (filesystems, databases, etc) Ceph, HDFS, Amazon EBS / EFS / S3, NFS, Cassandra Administration: named URIs vs. ports, IPAM Nginx, HAProxy, Mesos-DNS, dhcpd, Minuteman

DC/OS: BUILT ON MESOS https://dcos.io https://github.com/dcos

DC/OS: BUILT ON MESOS

MESOS AND DC/OS: BETTER TOGETHER All of the benefits of Mesos, plus Built-in service discovery and load balancing Support for stateful services Turn-key installation of distributed systems Cloud-agnostic installer Web and command-line interfaces All components are integration tested and supported by Mesosphere, Inc.

JENKINS ON DC/OS

Jenkins on DC/OS WHEN IT BEGAN Continuous Integration is soooo futuristic and this interface is beautiful. Jenkins master 22

Jenkins on DC/OS THE OLD WORLD Life is good. Oh, is that Jenkins cluster still up? I do all my builds on a Raspberry Pi now. My builds take hours to run! Jenkins master Jenkins master Jenkins master 23

Jenkins on DC/OS RESOURCE EFFICIENCY Life is good. Life is good. Life is good. Jenkins master 1 Jenkins master 2 Jenkins master 3 DC/OS master (master 1) (master 1) (master 3) (master 3) (master 3) DC/OS agent DC/OS agent DC/OS agent DC/OS agent DC/OS agent 24

Jenkins on DC/OS RESOURCE EFFICIENCY Life is good. Team dinner! Let s bounce. Life is good. Jenkins master 1 Jenkins master 2 Jenkins master 3 DC/OS master (master 3) (master 3) (master 3) (master 3) (master 3) DC/OS agent DC/OS agent DC/OS agent DC/OS agent DC/OS agent 25

CONTINUOUSLY DEPLOYING APPLICATIONS TO DC/OS

TRADITIONAL RELEASE PROCESS PROJECT PLANNING RESOURCE ALLOCATION CONFIGURATION Test Dev Stage CUSTOMER FEEDBACK WEEK 1 WEEK 2 WEEK 3 WEEKS 4 TO 8 WEEK 9 DEV(OPS) TEAMS SPEND SIGNIFICANT TIME AND EFFORT ON: Planning & implementing new technologies Waiting for people & infrastructure Building environment specific CI/CD for each project Moving apps from dev to staging to prod

MODERN RELEASE PROCESS Better products through a repeatable release cadence Happier customers through continuous feedback RELEASE 1 RELEASE 2 RELEASE 3 RELEASE 4 PROJECT PLANNING Test Dev Stage CUSTOMER FEEDBACK CUSTOMER FEEDBACK CUSTOMER FEEDBACK WEEK 1 WEEK 2 WEEK 3 WEEK 4

DEPLOYING APPLICATIONS: BASIC REQUIREMENTS Scheduling advertising available compute resources Deployments getting an application onto a node Health checks ensuring the app/service is healthy Service discovery connecting to dependent services Persistence running stateful services in containers

DEPLOYING APPLICATIONS: SCHEDULING Before DC/OS With DC/OS A sysadmin provisions one or more physical/virtual servers to host the app Mesos resource offers (two-tier scheduling) offers available resources directly to frameworks

DEPLOYING APPLICATIONS: DEPLOYMENTS Before DC/OS By hand or using Puppet / Chef / Ansible Jenkins SSHing to the machine and running a shell script Note: all dependencies must also be present! With DC/OS Marathon deploys containers, ideally using a CI/CD tool to create/update app definitions Docker containers packages app and dependencies

DEPLOYING APPLICATIONS: HEALTH CHECKS Before DC/OS With DC/OS Nagios pages a sysadmin Marathon performs health checks, restarts unhealthy/failed instances

DEPLOYING APPLICATIONS: SERVICE DISCOVERY Before DC/OS With DC/OS Static hostnames / IP addresses in a spreadsheet or config management A sysadmin configures a load balancer manually or with Puppet / Chef / Ansible Mesos-DNS provides DNS resolution for running services (hostname / IP address, ports, etc) Load balancer configs built dynamically using cluster state

DEPLOYING APPLICATIONS: PERSISTENCE Before DC/OS With DC/OS Individual servers with RAID 1/5/6/10, expensive SANs, NFS, etc. Dedicated, statically partitioned Ceph or Gluster storage clusters Mesos external/persistent volumes (REX-Ray), HDFS, etc. Self-healing Ceph or Gluster on Mesos / DC/OS

DEMOS & LAB

PIPELINE COMPONENTS Continuous Delivery Pipeline Version Control System Continuous Integration Container Orchestrator Production Environment Load Balancer git push Container Registry DC/OS 36

PIPELINE COMPONENTS Continuous Delivery Pipeline GitHub Jenkins Marathon Mesos Marathon-lb git push DockerHub DC/OS 37

PIPELINE CONFIGURATION Continuous Delivery Pipeline Jenkinsfile marathon.json git push Dockerfile DC/OS 38

YOUR TURN Head over to github.com/mesosphere/software-architecture Follow the exercises! Use the username/password: sauser/sapass

THANK YOU! Sunil Shah sunil@mesosphere.com @ssk2 Karl Isenberg speaks on POSIX for the data center 3:50pm, Tower Salon A Learn more by visiting dcos.io and mesosphere.com