What I ll be talking about. About me & bol.com The CI/CD bol.com Current setup. The future in the cloud

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

Continuous Integration and Delivery with Spinnaker

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

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

ContainerOps - DevOps Orchestration. Quanyi Ma

Continuous Delivery for Cloud Native Applications

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Enabling Developers with Open Source Nicholas Parks, Cloud Architect, Kenzan

Case Study: Aurea Software Goes Beyond the Limits of Amazon EBS to Run 200 Kubernetes Stateful Pods Per Host

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

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

From development to production

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

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case TechMinfy All Rights Reserved

KUBERNETES IN A GROWN ENVIRONMENT AND INTEGRATION INTO CONTINUOUS DELIVERY

Continuous integration & continuous delivery. COSC345 Software Engineering

FROM VSTS TO AZURE DEVOPS

Red Hat Roadmap for Containers and DevOps

OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift

TEN LAYERS OF CONTAINER SECURITY

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

Beyond 1001 Dedicated Data Service Instances

Pursuit of stability. Growing AWS ECS in production. Alexander Köhler Frankfurt, September 2018

platform Development Process Optimization For Drupal centric projects

Strengthen and Scale security using DevSecOps

Docker Live Hacking: From Raspberry Pi to Kubernetes

Continuous Integration using Docker & Jenkins

I keep hearing about DevOps What is it?

DEVOPS TRAINING COURSE CONTENT

Kuber-what?! Learn about Kubernetes

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist

ACCELERATE APPLICATION DELIVERY WITH OPENSHIFT. Siamak Sadeghianfar Sr Technical Marketing Manager, April 2016

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Knative: Building serverless platforms on top of Kubernetes

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Think Small to Scale Big

Lessons Learned: Deploying Microservices Software Product in Customer Environments Mark Galpin, Solution Architect, JFrog, Inc.

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Your Engineering Excellency

SCALING LIKE TWITTER WITH APACHE MESOS

Docker and Oracle Everything You Wanted To Know

DevOps Made Easy. Shireesh Thanneru, Platform Architect. Intel. Linoy Alexander, Director, DevOps

Both Sides Now: DevOps and Agile in Oracle Developer Cloud Service for Fusion Middleware Developers

Containerised Development of a Scientific Data Management System Ben Leighton, Andrew Freebairn, Ashley Sommer, Jonathan Yu, Simon Cox LAND AND WATER

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

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

Cloud Native Java with Kubernetes

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels. July 16, #jenkinsconf

Choosing the Right Container Infrastructure for Your Organization

JetBrains TeamCity Comparison

UP! TO DOCKER PAAS. Ming

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

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

Cloud platforms T Mobile Systems Programming

HTML presentation, positioning and designing responsive web applications.

Java Architectures A New Hope. Eberhard Wolff

THE STATE OF CONTAINERS

Two years of on Kubernetes

Rok: Decentralized storage for the cloud native world

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

Microservices with Red Hat. JBoss Fuse

DevOps and Continuous Delivery USE CASE

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

Industry-leading Application PaaS Platform

Containers & Microservices For Realists. Karthik

DevNet Workshop-Hands-on with CloudCenter and Jenkins

DESIGNING APPLICATIONS FOR CONTAINERIZATION AND THE CLOUD THE 12 FACTOR APPLICATION MANIFESTO

Managing Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup

Multi-Arch Layered Image Build System

Continuous Delivery of your infrastructure. Christophe

Orchestrating the Continuous Delivery Process

Microservice Deployment. Software Engineering II Sharif University of Technology MohammadAmin Fazli

InterSystems Cloud Manager & Containers for InterSystems Technologies. Luca Ravazzolo Product Manager

Containers Infrastructure for Advanced Management. Federico Simoncelli Associate Manager, Red Hat October 2016

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

Accelerate OpenStack* Together. * OpenStack is a registered trademark of the OpenStack Foundation

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS

Security oriented OpenShift within regulated environments

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

A JOURNEY TO THE CLOUD

Cloud platforms. T Mobile Systems Programming

Continuous Integration and Deployment (CI/CD)

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

Pipeline as Code for your IAC. Kris

A U.S. based so,ware development and technical consul9ng company. Technical Capabilities Overview

Simplified CICD with Jenkins and Git on the ZeroStack Platform

Oracle Container Natve Applicaton Development Platorm. Edgars Ruņģis Cloud Soluton Architect

Continuous Delivery the hard way with Kubernetes. Luke Marsden, Developer

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

Building and Deploying a Saas platform On Prem

Going Journey to Docker Production. Add picture here. Bret Fisher. DevOps Consultant Docker Captain Author of Udemy's Docker Mastery

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

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

Unify DevOps and SecOps: Security Without Friction

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

API, DEVOPS & MICROSERVICES

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

Transcription:

CI/CD @ bol.com

What I ll be talking about 1. 2. 3. 4. 5. About me & bol.com The CI/CD story @ bol.com Current setup Mayfly The future in the cloud

About me Maarten Dirkse @mdirkse on Twitter In IT since 2007 (5 years @ bol.com) Java developer -> CI/CD engineer Bitten by the container bug in 2014 Hobby: local politics

About bol.com Largest online retailer in the Netherlands and Belgium (5.8 million customers, 10+ million products) 55 (and growing) multi-disciplinary teams of 5-8 people Strong Scrum culture (introduced in 2009) 200+ services and apps (SOA, mostly Java + DB backend) Mix of fixed sprint rhythm and CD

The Developer Freedom index

Once upon a build-time...

The situation ca. 2014 4 week release cycle Big-bang release Scrum -> 200 stories per cycle to production Jenkins -> DeployIT -> Schuberg Phillis Shop went offline! Software was thrown over the wall to ops Every team had admin rights on their jenkins jobs

Freedom index: not free Developers couldn t do their own releases at the time of their choosing Releases had to be coordinated with SBP Even some property changes Stack on which apps ran was tightly locked down Developers could go crazy on TST, but could do almost nothing on PRO Endless requests for SSH access to servers which were inevitably denied 2 levels of gatekeeping: ops and SBP On the plus side, they could configure their Jenkins jobs...

Current pipeline

our CD story Man on the Moon to give teams autonomy

How things get to production Build Store Orchestrate Run Deploy

Key aspects TAXP system: custom abstraction over Jenkins jobs No more job admin rights for teams Teams can deploy to PRO at will (have to send notification) TST, ACC environments (ACC is production-like, used for performance tests) No change management process SRT gatekeeper of deploy functionality and new services

Mayfly

r> Genesis of Mayfly te <m as as te <m r> Test <m as r> te as <m Acc Pro te r>

Mayfly idea <branch> <branch> <branch> <branch> <branch> <branch> <branch> <branch> <branch> <branch> <branch> <branch> Pro.........

Mayfly provides per user story: Feature branch in SCM (currently git via Stash) Continuous integration jobs (Jenkins) Isolated, production-like runtime environment (Docker cluster) Automated Definition of Done check Logs & metrics (Logstash, Graphite, Prometheus) Optional user story-specific database (Oracle, PostgreSQL, Mongo)

30% of all commits done via Mayfly

Freedom index: partially free Developers control their releases Developers don t control CI or CD Mayfly offers lots of freedom, until TST

Building and deploying in the cloud

The challenge Build a container-centric, cloud-native CI/CD pipeline that: Is easy to use and get started with Makes it easy to deploy small changes Is fully customizable Can scale to thousands of deploys per day

What about the current stack? Will the CI/CD stack that we use at the moment suffice in the cloud?

The current stack Maintenance nightmare Very expensive docker registry *Not* a deployment tool Jenkins Artifactory Rundeck Puppet Do builds Store artifacts Orchestration of RPM builds and rolling out of artifacts Actually install the new artifact on an existing machine Want immutable infrastructure

The current stack would work, but we can do better by using cloudnative tools

The new stack More developer control & less DPI maintenance Gitlab CI Build docker images Google s concern Google Container Registry Store docker images Actual deployment tool Facilitates immutable infrastructure Spinnaker Kubernetes Deploy dockerized apps Run docker containers

Convention over configuration Convincing over compulsion Opt-out is an option! CI/CD is a product that needs to appeal Iterate on a vision, don t crowdsource the design

Freedom index: free Developers have full control over CI Developers have full control over CD Developers have full control over the stack Well, at least from the kernel up Constraints that do exist are, as much as possible, handled transparently And if opt-out is an option, but comes with many responsibilities

Thanks! Maarten Dirkse