Empowering Developers to Take Flight Continuous Integration at Gogo

Size: px
Start display at page:

Download "Empowering Developers to Take Flight Continuous Integration at Gogo"

Transcription

1 Empowering Developers to Take Flight Continuous Integration at Gogo Darin Pantley - Gogo June 26, 2017 Room #304

2 Introduction The Problem The Dream Implementation Lessons Learned

3 Introduction About Gogo Gogo is the inflight internet company At a glance: 17 commercial airline partners 3,000+ commercial aircraft in-service 1,500+ 2Ku backlog 120M+ connectivity sessions to date 85,000+ sessions/day 8,000+ flights/day Gogo equipped flight every 11 seconds 1,300+ employees

4 Introduction Gogo Products and Services Gogo s open architecture is designed to power passenger experience like no other in our industry Flexible passenger experience Entertainment Passenger Connectivity Entertainment/ Messaging Connected Aircraft Services

5 Introduction June 27, 2017 Chicago Coder Conference 5

6 Introduction Infrastructure Requirements Hardware: airplanes, devices, WAPs, satellites, servers, etc. Software: In the air, on the ground Local, off-site, outsourced

7 The Problem

8 The Problem June 27, 2017 Chicago Coder Conference 8

9 The Problem Disc icons from June 27, 2017 Chicago Coder Conference 9 Computer icon made by Panier Avide

10 The Problem Software Engineering: Before Improvements 1. Drink coffee 2. Write some code 3. Compile your changes 4. Run some unit tests (optional) 5. Commit your changes 6. Create a deployable artifact June 27,

11 The Problem Software Engineering: Before Improvements 7. Copy it onto a USB stick 8. Use the elevator to get to the lab 9. Prepare the lab machine obtain a monitor, plug in cables 10. Plug in your USB stick June 27,

12 The Problem Software Engineering: Before Improvements 11. Boot it up! 12. Hold your breath 13. Fix the environment so it looks pretty clean 14. Start manually testing your changes June 27,

13 The Problem Software Engineering: After Improvements 1. Drink coffee better coffee machines 2. Write some code send developers to conferences 3. Compile your changes faster laptops 4. Run some unit tests (optional) not optional 5. Commit your changes do this early in the day 6. Create a deployable artifact lunch time June 27,

14 The Problem Software Engineering: After Improvements 7. Copy it onto a USB stick USB hub 8. Use the elevator to get to the lab work from the lab 9. Prepare the lab machine guard it with your life obtain a monitor, plug in cables 10. Plug in your USB stick SCP onto a running system June 27,

15 The Problem Software Engineering: After Improvements 11. Boot it up! keep it running 12. Hold your breath breathe deeply 13. Fix the environment so it looks pretty clean scripts 14. Start manually testing your changes hiring time June 27,

16 The Problem What s Wrong? It takes too long to release new features Many bugs aren t caught during code reviews It s difficult to obtain a test environment Everything is a manual process Running automated tests is optional We discover bugs too late All of this is expensive June 27, 2017 Chicago Coder Conference 16

17 The Problem Our Infrastructure AWS GitLab Jenkins Artifactory Docker Ansible Vagrant Redis June 27,

18 The Dream

19 The Dream Replace Legacy Processes with Best Practices Distributed Version Control System Agile Development Robust Infrastructure Immutable and scalable Monitoring, metrics, and alerts Version controlled Continuous Integration June 27, 2017 Chicago Coder Conference 19

20 The Dream June 27,

21 The Dream Continuous Integration Automatically triggered by merge requests Automated Building Run static analysis Compile the code Run automated tests in the build environment Automated Packaging Create a deliverable Automated Deployments Run automated tests in the deployed environment If everything worked, let the merge proceed June 27,

22 The Dream Reality: Maybe we can do this later? 1. Our code is in SVN 2. We ve never heard of coupling and cohesion 3. Our tests aren t automated 4. Everyone is busy June 27, 2017 Chicago Coder Conference 22

23 The Dream Reality: Maybe we can do this later? 5. We just ordered more lab equipment 6. Feature development cannot be interrupted 7. Our code must run on physical hardware June 27, 2017 Chicago Coder Conference 23

24 The Dream We can make improvements 1. Our code is in SVN Hard cut-over to Git 2. We ve never heard of coupling and cohesion Componentize what you can now, the rest can wait 3. Our tests aren t automated Provide a way to run them, regardless of whether they exist 4. Everyone is busy Prioritize continuous integration June 27, 2017 Chicago Coder Conference 24

25 The Dream We can make improvements 5. We just ordered more lab equipment Some tests will still require real hardware 6. Feature development cannot be interrupted Avoid major changes near releases 7. Our code must run on physical hardware Virtualize the hardware environment June 27, 2017 Chicago Coder Conference 25

26 The Dream Sell the Dream Diagram out a continuous integration workflow June 27, 2017 Chicago Coder Conference 26

27 The Dream Sell the Dream Diagram out a continuous integration workflow June 27, 2017 Chicago Coder Conference 27

28 The Dream Sell the Dream Diagram out a continuous integration workflow Present your idea to developers and upper management Postpone solution space discussions Agree on the goals Agree on responsibilities Engineering DevOps June 27, 2017 Chicago Coder Conference 28

29 Implementation

30 Implementation Overview from a DevOps perspective 1. JobDSL 2. Jenkins Pipeline Job 3. Jenkins Pipeline Library pre-defined targets DevOps tools June 27, 2017 Chicago Coder Conference 30

31 Implementation Overviewfrom a developer perspective runway/ static-analysis build unit-tests integration-tests smoke-tests fast-functional-tests slow-functional-tests end-to-end-system-tests dsl.groovy version June 27, 2017 Chicago Coder Conference 31

32 Implementation Pipeline Types ci nightly iteration release June 27, 2017 Chicago Coder Conference 32

33 Implementation GitLab Merge Requests June 27, 2017 Chicago Coder Conference 33

34 Implementation Jenkins Pipeline June 27, 2017 Chicago Coder Conference 34

35 Implementation runway / build #!/bin/bash -ex export SHORT_SHA=$(git rev-parse --short HEAD) export VERSION="$(cat runway/version).${build_number}~$short_sha" export FULL_SHA=$(git rev-parse HEAD) export GIT_COMMIT="$FULL_SHA $(git log -1 --pretty=%b head -1)" docker login gogo-docker.jfrog.io -u builder -p hunter2 docker run --rm -w /build -v $(pwd):/build/ gogo-docker.jfrog.io/ buildmachine: /build.sh /build/runway/fs_root $VERSION $GIT_COMMIT June 27, 2017 Chicago Coder Conference 35

36 Implementation runway / dsl.groovy import utilities.continuousintegration import utilities.nightlybuild REPO = 'git@gitserver.gogoair.com:acpu/hal.git' def ci = new ContinuousIntegration(job: pipelinejob('${src_job}_ci')) ci.createjenkinspipeline() def nightly = new NightlyBuild(job: pipelinejob('${src_job}_nightly')) nightly.createjenkinspipeline(repo) June 27, 2017 Chicago Coder Conference 36

37 Implementation ContinuousIntegration.groovy this.job.with { } description("continuous Integration Pipeline") url('git@gitserver.gogoair.com:common/jenkinspipeline.git') scriptpath('continuousintegration.jenkinsfile') June 27, 2017 Chicago Coder Conference 37

38 Implementation Jenkins Pipeline Shared Libraries (root) +- src # Groovy source files +- org +- foo +- Bar.groovy # for org.foo.bar class +- vars +- foo.groovy # for global 'foo' variable +- foo.txt # help for 'foo' variable +- resources # resource files (external libraries only) +- org +- foo +- bar.json # static helper data for org.foo.bar June 27, 2017 Chicago Coder Conference 38

39 Implementation ContinuousIntegration.Jenkinsfile node('ci') { withenv(["pipeline=ci"]) { staticanalysis() buildcomponent() unittests() uploadcomponent() June 27, 2017 Chicago Coder Conference 39

40 Implementation vars / buildcomponent.groovy... dir(component_dir) { }... def target = 'runway/build' if (fileexists(target)) { } sh target June 27, 2017 Chicago Coder Conference 40

41 Implementation Organizing the code Artist Written in Python CLI tool Graffiti Written in Python CLI tool Artifactory GitLab Hosted Graphite June 27, 2017 Chicago Coder Conference 41

42 Lessons Learned

43 Lessons Learned Working with Developers Meet frequently with everyone involved Deliver features incrementally Spread access to tooling Extend internal solutions to cover developer use cases Document answers to questions Agree on solutions to technical debt in existing code June 27, 2017 Chicago Coder Conference 43

44 Lessons Learned Working without Developers Create alternatives to technical debt in existing code Create proof of concept projects Choose between competing technologies Demo solutions to controversial problems Prove that something is possible Working out-of-band allows constant refactoring June 27, 2017 Chicago Coder Conference 44

45 Lessons Learned Hindsight is 20/20 Explicitly define requirements up-front General functionality, documentation, metrics, alerts, Plan your current features with the next features in mind Find users quickly Eat your own dog food Feed the hungry Avoid bus errors June 27, 2017 Chicago Coder Conference 45

46 Lessons Learned Overheard on Slack I can show you how to use Artist to upload. It s easy. Should I merge? The button is red. June 27, 2017 Chicago Coder Conference 46

47 Thank You Empowering Developers to Take Flight Continuous Integration at Gogo Darin Pantley 3:45pm 4:45pm Room #304 June 27,

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science

More information

Chapter 1 - Continuous Delivery and the Jenkins Pipeline

Chapter 1 - Continuous Delivery and the Jenkins Pipeline Chapter 1 - Continuous Delivery and the Jenkins Pipeline Objectives Key objectives of this chapter Continuous Delivery The Jenkins Pipeline A Brief Introduction to Groovy The JenkinsFile Pipeline Jobs

More information

At a high level, the current OPNFV CI pipeline can be summarized as follows:

At a high level, the current OPNFV CI pipeline can be summarized as follows: Cross Community Continuous Integration (XCI) Empowers Innovation by Increasing Collaboration Between and Upstream Communities With XCI, regularly integrates the latest from each supported branch of select

More information

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

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to

More information

DevOps Course Content

DevOps Course Content DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model

More information

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

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat Accelerate at DevOps Speed With Openshift v3 Alessandro Vozza & Samuel Terburg Red Hat IT (R)Evolution Red Hat Brings It All Together What is Kubernetes Open source container cluster manager Inspired by

More information

White Paper(Draft) Continuous Integration/Delivery/Deployment in Next Generation Data Integration

White Paper(Draft) Continuous Integration/Delivery/Deployment in Next Generation Data Integration Continuous Integration/Delivery/Deployment in Next Generation Data Integration 1 Contents Introduction...3 Challenges...3 Continuous Methodology Steps...3 Continuous Integration... 4 Code Build... 4 Code

More information

Strengthen and Scale security using DevSecOps

Strengthen and Scale security using DevSecOps OWASP Indonesia Meetup Strengthen and Scale security using DevSecOps $ www.teachera.io!"# @secfigo % secfigo@gmail.com # whoami Author, Speaker and Community Leader. Speaker/Trainer at Blackhat, AppSec EU,

More information

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

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels.  July 16, #jenkinsconf Jenkins User Conference Israel #jenkinsconf CI / CD @ Liveperson Gidi Samuels www.liveperson.com July 16, 2014 #jenkinsconf About Myself Lead the CI Team at Liveperson 3 years in Liveperson About Myself

More information

Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm)

Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing Seminary IIC Requirements Java SE Runtime

More information

Continuous Integration and Delivery with Spinnaker

Continuous Integration and Delivery with Spinnaker White Paper Continuous Integration and Delivery with Spinnaker The field of software functional testing is undergoing a major transformation. What used to be an onerous manual process took a big step forward

More information

SECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER. White Paper

SECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER. White Paper SECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER White Paper Introduction The importance of a uniform development environment among team members can t be overstated. Bugs stemming

More information

OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished DEVNET-1104

OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished DEVNET-1104 OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished Engineer @eyepv6 DEVNET-1104 Agenda Introduction DevOps OpenStack Virtualization CI/CD Pipeline Orchestration Conclusion What is DevOps?

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case. 2017TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case03 First Draft 01 st Dec 2017 Author Reviewed By Prabhakar D Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Use Case Description... 4 Primary

More information

FROM VSTS TO AZURE DEVOPS

FROM VSTS TO AZURE DEVOPS #DOH18 FROM VSTS TO AZURE DEVOPS People. Process. Products. Gaetano Paternò @tanopaterno info@gaetanopaterno.it 2 VSTS #DOH18 3 Azure DevOps Azure Boards (ex Work) Deliver value to your users faster using

More information

Put Security Into Your DevOps NOW. Or Prepare for the Flood Matthew Fisher Solution Architect, Fortify Federal 08MAR2018

Put Security Into Your DevOps NOW. Or Prepare for the Flood Matthew Fisher Solution Architect, Fortify Federal 08MAR2018 Put Security Into Your DevOps NOW Or Prepare for the Flood Matthew Fisher Solution Architect, Fortify Federal 08MAR2018 Defining Devops State of Devops Report (Puppet, Dora):..set of practices and cultural

More information

Deep Dive on AWS CodeStar

Deep Dive on AWS CodeStar Deep Dive on AWS CodeStar with AWS CI/CD workflow Tara E. Walker Technical Evangelist @taraw June 28, 2017 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda What is DevOps

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case. 2017TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4

More information

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

Continuous Delivery the hard way with Kubernetes. Luke Marsden, Developer Continuous Delivery the hard way with Luke Marsden, Developer Experience @lmarsden Agenda 1. Why should I deliver continuously? 2. primer 3. GitLab primer 4. OK, so we ve got these pieces, how are we going

More information

Docker & Chef. Containers. Containers and Docker 8/4/14. Linux containers (LXC) Single operating system Multiple isolated, working configurations

Docker & Chef. Containers. Containers and Docker 8/4/14. Linux containers (LXC) Single operating system Multiple isolated, working configurations Docker & Chef Containers Linux containers (LXC) Single operating system Multiple isolated, working configurations Containers and Docker Open-source engine for container management Docker registry for sharing

More information

There Should be One Obvious Way to Bring Python into Production. Sebastian Neubauer

There Should be One Obvious Way to Bring Python into Production. Sebastian Neubauer There Should be One Obvious Way to Bring Python into Production Sebastian Neubauer sebastian.neubauer@blue-yonder.com 1 Agenda What are we talking about and why? Delivery pipeline Dependencies Packaging

More information

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event ONAP Developer Typical Setup 2017 July 24-26 ONAP Virtual Developers Event Gary Wu Daniel Rose Victor Morales Getting Started with ONAP

More information

Large-Scale Automation with Jenkins

Large-Scale Automation with Jenkins Large-Scale Automation with Jenkins Kohsuke Kawaguchi / kk@kohsuke.org / @kohsukekawa Architect, CloudBees, Inc. Have you met Jenkins? http://jenkins-ci.org/ 2 x 64,000 3 4 x 700 5 Context http://www.flickr.com/photos/spidermandragon5/2922128673/

More information

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS ContainerCon @ Open Source Summit North America 2017 Elizabeth K. Joseph @pleia2 1 Elizabeth K. Joseph, Developer Advocate

More information

Docker at Lyft Speeding up development Matthew #dockercon

Docker at Lyft Speeding up development Matthew #dockercon Docker at Lyft Speeding up development Matthew Leventi @mleventi #dockercon Lyft Engineering Lyft Engineering Organization - Rapidly growing headcount - Fluid teams - Everyone does devops Technology -

More information

Release for Lithium. George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.

Release for Lithium. George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho. Release for Lithium George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho Content Opendaylight release (Ed, George) Lessons learned ( Colin, Robert) Proposal for Lithium release Release

More information

Continuous Delivery of your infrastructure. Christophe

Continuous Delivery of your infrastructure. Christophe Continuous Delivery of your infrastructure Christophe Vanlancker @Carroarmato0 Christophe Vanlancker Internal operations and consulting Mentor Kris couldn t make it so I s/kris/christophe/g Todays Goals

More information

Continuous integration from the ground up

Continuous integration from the ground up Continuous integration from the ground up GILLES QUERRET RIVERSIDE SOFTWARE About the speaker Pronounced \ʒil.ke.ʁe\ Started Riverside Software in 2007 Continuous integration and source code analysis in

More information

Pipeline as Code for your IAC. Kris

Pipeline as Code for your IAC. Kris Pipeline as Code for your IAC Kris Buytaert @krisbuytaert Kris Buytaert I used to be a Dev, Then Became an Op Chief Trolling Officer and Open Source Consultant @inuits.eu Everything is an effing DNS Problem

More information

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm Dev Ops Business Planning Collaborative Development Customer Feedback & Optimization Testing Monitoring Release and Deployment STANDARDS OPERATE DEPLOY

More information

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

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme DEV2704BE Delivering Infrastructure as Code: Practical Tips and Advice Peg Eaton #vmworld #DEV2704BE Disclaimer This presentation may contain product features that are currently under development. This

More information

Skyhook designs and deploys high performance mobile location solutions, and exists to make location faster, more precise and practical.

Skyhook designs and deploys high performance mobile location solutions, and exists to make location faster, more precise and practical. CLEARVISION CASE STUDY INDUSTRY: Computer Software EST: 2003 COMPANY SIZE: 150-200 HEADQUARTERS Boston MA About Skyhook Skyhook designs and deploys high performance mobile location solutions, and exists

More information

Continuous Integration using Docker & Jenkins

Continuous Integration using Docker & Jenkins Jenkins LinuxCon Europe 2014 October 13-15, 2014 Mattias Giese Solutions Architect giese@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development Introducing B1 Systems founded in

More information

Release Pipelines in Microsoft Ecosystems

Release Pipelines in Microsoft Ecosystems Release Pipelines in Microsoft Ecosystems Warren Frame, Harvard University Michael Greene, Microsoft December 4 9, 2016 Boston, MA www.usenix.org/lisa16 #lisa16 whoami Warren Frame Research Computing at

More information

Challenges in Cutting Edge CI. #jenkinsconf. Real-life story. Jenkins User Conference Israel #jenkinsconf. Gil

Challenges in Cutting Edge CI. #jenkinsconf. Real-life story. Jenkins User Conference Israel #jenkinsconf. Gil Challenges in Cutting Edge CI Real-life story Gil Hoffer @gilhoffer Ravello Systems http://www.ravellosystems.com @ravellosystems July 16, 2014 #jenkinsconf Gil What are we going to talk about?? The CI

More information

DEVOPS COURSE CONTENT

DEVOPS COURSE CONTENT LINUX Basics: Unix and linux difference Linux File system structure Basic linux/unix commands Changing file permissions and ownership Types of links soft and hard link Filter commands Simple filter and

More information

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017 Linux System Management with Puppet, Gitlab, and R10k Scott Nolin, SSEC Technical Computing 22 June 2017 Introduction I am here to talk about how we do Linux configuration management at the Space Science

More information

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

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service

More information

Who Moved My Module? 1

Who Moved My Module? 1 Who Moved My Module? 1 About Me Yoav Landman - JFrog s CTO and Co-Founder - Creator of the Artifactory Project - 13 years experience in commercial enterprise build and development environments 2 Agenda

More information

Seven Habits of Highly Effective Jenkins Users

Seven Habits of Highly Effective Jenkins Users Seven Habits of Highly Effective Jenkins Users What is this talk about? Lessons learned: Maintaining multiple large Jenkins instances. Working on Jenkins itself, and many of its plugins. Seeing customer

More information

Evolutionary Architecture and Design

Evolutionary Architecture and Design Evolutionary Architecture and Design Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

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

DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair Agenda Definitions, History & Background Cloud intro DevOps Pipelines Docker containers Examples 2 Definitions DevOps Agile

More information

Continuous Delivery for Cloud Native Applications

Continuous Delivery for Cloud Native Applications Continuous Delivery for Cloud Native Applications Cyrille Le Clerc, Director, Product Management at CloudBees Bjorn Boe, Senior Field Engineer at Pivotal Software Speakers /Cyrille Le Clerc Product Manager

More information

DevOps Using VSTS and Azure

DevOps Using VSTS and Azure DevOps Using VSTS and Azure ALMDO; 5 Days, Instructor-led Course Description The combination of Visual Studio Team Services (VSTS) and Microsoft Azure provides a powerful and fully featured solution to

More information

Architecture and Design Evolution

Architecture and Design Evolution Architecture and Design Evolution Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

Overview of load testing with Taurus in Jenkins pipeline

Overview of load testing with Taurus in Jenkins pipeline Overview of load testing with Taurus in Jenkins pipeline how to get Taurus installed what a Taurus test script looks like how to configure Taurus to accurately represent use cases Actions in this session:

More information

In This Webinar. ConEnuous Load TesEng & ConEnuous Delivery with Jenkins

In This Webinar. ConEnuous Load TesEng & ConEnuous Delivery with Jenkins In This Webinar TODAY S PRESENTERS Tom Chavez: SOASTA, Sr. Product MarkeEng Manager Andy Pemberton: CloudBees, Senior Director, SoluEons Architecture & ConsulEng TWO COMPANIES, A SINGLE SOLUTION SOASTA:

More information

Python Unit Testing and CI Workflow. Tim Scott, Python Meetup 11/07/17

Python Unit Testing and CI Workflow. Tim Scott, Python Meetup 11/07/17 Python Unit Testing and CI Workflow Tim Scott, Python Meetup 11/07/17 A Little About Me Started as a CoOp Engineer (2007-2008) and Design Engineer at Adtran (2010-2014) Currently work at Abaco Systems

More information

Configuration As Code. #jenkinsconf. Jenkins User Conference Europe #jenkinsconf. The Job DSL Plugin. Daniel Spilker CoreMedia

Configuration As Code. #jenkinsconf. Jenkins User Conference Europe #jenkinsconf. The Job DSL Plugin. Daniel Spilker CoreMedia Configuration As Code The Job DSL Plugin Daniel Spilker CoreMedia www.coremedia.com June 25, 2014 #jenkinsconf Current Situation No single job that builds everything Each branch needs its own pipeline

More information

NetApp Jenkins Plugin Documentation

NetApp Jenkins Plugin Documentation NetApp Jenkins Plugin Documentation Release 2.0 Akshay Patil Aug 22, 2017 Contents 1 Contents 3 1.1 Pre-Requisites.............................................. 3 1.2 Configuration...............................................

More information

CONTINUOUS INTEGRATION; TIPS & TRICKS

CONTINUOUS INTEGRATION; TIPS & TRICKS CONTINUOUS INTEGRATION; TIPS & TRICKS BIO I DO TECH THINGS I DO THINGS I DO THINGS BLUE OCEAN BEEP BEEP REFACTOR PEOPLE S HOUSES MY TIPS & TRICKS FOR CI - CI Infrastructure - CI Architecture - Pipeline

More information

Building Microservices with the 12 Factor App Pattern

Building Microservices with the 12 Factor App Pattern Building Microservices with the 12 Factor App Pattern Context This documentation will help introduce Developers to implementing MICROSERVICES by applying the TWELVE- FACTOR PRINCIPLES, a set of best practices

More information

DEVOPS TRAINING COURSE CONTENT

DEVOPS TRAINING COURSE CONTENT DEVOPS TRAINING COURSE CONTENT SECTION 1 Introduction to DevOps Certification What is DevOps? Why DevOps? Benefits of DevOps Overview of DevOps SECTION 2- Provisioning Vargant-What is vagrant-compare with

More information

Index. Wouter de Kort 2016 W. de Kort, DevOps on the Microsoft Stack, DOI /

Index. Wouter de Kort 2016 W. de Kort, DevOps on the Microsoft Stack, DOI / Index A Agile Manifesto methodologies, 6 phrases, 5 Scrum, 4 software development, 4 Sprints, 4 testers and developers, 4 Agile project management. See also Kanban and Lean techniques basics checklist,

More information

CASE STUDY IT. Albumprinter Adopting Redgate DLM

CASE STUDY IT. Albumprinter Adopting Redgate DLM CASE STUDY IT Albumprinter Adopting Redgate DLM "Once the team saw they could deploy all their database changes error-free at the click of a button, with no more manual scripts, it spread by word of mouth.

More information

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

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved. Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS 1 Introduction MOBILE, SOCIAL & CLOUD ARE RAISING CUSTOMER EXPECTATIONS We need a way to deliver software so fast that our

More information

Orchestrating the Continuous Delivery Process

Orchestrating the Continuous Delivery Process Orchestrating the Continuous Delivery Process steven.g.harris@cloudbees.com @stevengharris SVP Products, CloudBees 1 Continuous Delivery Overview Feedback Loop App Lifecycle BUILD TEST STAGE Deploy Run

More information

JetBrains TeamCity Comparison

JetBrains TeamCity Comparison JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and

More information

devops with

devops with devops with docker @beshippable avi cavale co-founder & ceo @avinci avi@shippable.com continuous app delivery pipelines the most frequently asked question during an outage the most frequently asked question

More information

TM DevOps Use Case TechMinfy All Rights Reserved

TM DevOps Use Case TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case01 First Draft 5 th March 2018 Author Reviewed By Prabhakar D Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Use Case Description... 4 Primary

More information

AALOK INSTITUTE. DevOps Training

AALOK INSTITUTE. DevOps Training DevOps Training Duration: 40Hrs (8 Hours per Day * 5 Days) DevOps Syllabus 1. What is DevOps? a. History of DevOps? b. How does DevOps work anyways? c. Principle of DevOps: d. DevOps combines the best

More information

Continuous integration & continuous delivery. COSC345 Software Engineering

Continuous integration & continuous delivery. COSC345 Software Engineering Continuous integration & continuous delivery COSC345 Software Engineering Outline Integrating different teams work, e.g., using git Defining continuous integration / continuous delivery We use continuous

More information

4 Effective Tools for Docker Monitoring. By Ranvijay Jamwal

4 Effective Tools for Docker Monitoring. By Ranvijay Jamwal 4 Effective Tools for Docker Monitoring By Ranvijay Jamwal CONTENT 1. The need for Container Technologies 2. Introduction to Docker 2.1. What is Docker? 2.2. Why is Docker popular? 2.3. How does a Docker

More information

Continuous Integration and Deployment (CI/CD)

Continuous Integration and Deployment (CI/CD) WHITEPAPER OCT 2015 Table of contents Chapter 1. Introduction... 3 Chapter 2. Continuous Integration... 4 Chapter 3. Continuous Deployment... 6 2 Chapter 1: Introduction Apcera Support Team October 2015

More information

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions Test Automation Strategies in Continuous Delivery Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions The world of application is going through a monumental shift.. Evolving

More information

Continuous Delivery for Python Developers PyCon 8, 2017

Continuous Delivery for Python Developers PyCon 8, 2017 Continuous Delivery for Python Developers PyCon 8, 2017 live slides @ tinyurl.com/pycon8-cd Peter Bittner Developer (of people, companies, code) Co-founder Painless Software @peterbittner, django@bittner.it

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

Step 1: Setup a Gitlab account

Step 1: Setup a Gitlab account Most of us agree that Continuous Integration (CI), Continuous Delivery (CD), cloud infrastructure, test automation, and configuration management make up the basics of devops. Depending on the scale of

More information

Openshift: Key to modern DevOps

Openshift: Key to modern DevOps Azure days 28/02/2018 Openshift: Key to modern DevOps Jiří Kolář Solution Architect CZ/SK/CEE jkolar@redhat.com PROBLEM: DEVELOPERS I.T. OPERATIONS THE SOLUTION DEVELOPERS I.T. OPERATIONS GENERAL DISTRIBUTION

More information

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

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action

More information

SECTION 2: HW3 Setup.

SECTION 2: HW3 Setup. SECTION 2: HW3 Setup cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis,CSE 390a,Justin Bare, Deric Pang, Erin Peach, Vinod Rathnam LINKS TO DETAILED SETUP AND USAGE INSTRUCTIONS

More information

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide) Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide) What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you

More information

Start Building CI/CD as Code The 7 Lessons Learnt from Deploying and Managing 100s of CI Environments

Start Building CI/CD as Code The 7 Lessons Learnt from Deploying and Managing 100s of CI Environments White Paper Start Building CI/CD as Code The 7 Lessons Learnt from Deploying and Managing 100s of CI Environments by Aaron Walker, Technology Director 1 Looking at Continuous Integration (CI) a bit differently

More information

CS279 Course Overview. Joe Hoffert Distributed Real-time Embedded (DRE) Group Institute for Software Integrated Systems Vanderbilt University

CS279 Course Overview. Joe Hoffert Distributed Real-time Embedded (DRE) Group Institute for Software Integrated Systems Vanderbilt University CS279 Course Overview Joe Hoffert Distributed Real-time Embedded (DRE) Group Institute for Software Integrated Systems Vanderbilt University What is CS279 About? This class is about picking an interesting

More information

Test-driven development

Test-driven development Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How

More information

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go

More information

Your Engineering Excellency

Your Engineering Excellency Your Engineering Excellency With hundreds of projects in dozens of industries, EPAM Systems can boast expertise and excellence in lots of different technologies. E-commerce, Big Data, content management,

More information

Breaking Apart the Monolith

Breaking Apart the Monolith Breaking Apart the Monolith with Modularity & Microservices Igor Arouca Liferay, Inc Michael C. Han Liferay, Inc June 26 th, 2017 Room #206 What is a Monolith? Self-contained, single process Difficult

More information

DevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY

DevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY DevOps Anti-Patterns Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! 31 Anti-Pattern: Throw it Over the Wall Development Operations 32 Anti-Pattern: DevOps Team Silo

More information

ITIL isn t evil Most people who implement it are

ITIL isn t evil Most people who implement it are ITIL isn t evil Most people who implement it are Colin McNamara OpenStack ATC / CCIE#18233 Chief Cloud Architect Nexus IS, A Dimension Data Company October 2014 My perspective Chief Cloud Architect::Nexus

More information

DevNet Workshop-Hands-on with CloudCenter and Jenkins

DevNet Workshop-Hands-on with CloudCenter and Jenkins DevNet Workshop-Hands-on with CloudCenter and Jenkins Tuan Nguyen, Technical Marketing Engineer, CPSG Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find

More information

Continuous Delivery of Micro Applications with Jenkins, Docker & Kubernetes at Apollo

Continuous Delivery of Micro Applications with Jenkins, Docker & Kubernetes at Apollo Continuous Delivery of Micro Applications with Jenkins, Docker & Kubernetes at Apollo Ulrich Häberlein Team Manager Backend Systems Apollo-Optik Holding GmbH & Co KG Michael Steinfurth Linux / Unix Consultant

More information

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

Important DevOps Technologies (3+2+3days) for Deployment Important DevOps Technologies (3+2+3days) for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in

More information

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

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme DEV2704BU Delivering Infrastructure as Code: Practical Tips and Advice Peg Eaton #VMworld #DEV2704BU Disclaimer This presentation may contain product features that are currently under development. This

More information

A CD Framework For Data Pipelines. Yaniv

A CD Framework For Data Pipelines. Yaniv A CD Framework For Data Pipelines Yaniv Rodenski @YRodenski yaniv@apache.org Archetypes of Data Pipelines Builders Data People (Data Scientist/ Analysts/BI Devs) Exploratory workloads Code centric Software

More information

.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl

.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl Windows Linux ios Android.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl UI Automation Testing Business challenges UI regression test needs grow over time Manual UI testing impacts

More information

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

SUSE s vision for agile software development and deployment in the Software Defined Datacenter From Git to Cloud SUSE s vision for agile software development and deployment in the Software Defined Datacenter Joachim Werner Senior Product Manager joe@suse.com Peter Chadwick Director Product Management

More information

NetDevOps. Building New Culture around Infrastructure as Code and Automation. Tom Davies Sr. Manager,

NetDevOps. Building New Culture around Infrastructure as Code and Automation. Tom Davies Sr. Manager, NetDevOps Building New Culture around Infrastructure as Code and Automation Tom Davies Sr. Manager, DevNet @TomDavies_UK Agenda The Dark Arts of Network Operations Making Change Easy: Configuration, Automation,

More information

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

Containerised Development of a Scientific Data Management System Ben Leighton, Andrew Freebairn, Ashley Sommer, Jonathan Yu, Simon Cox LAND AND WATER Containerised elopment of a Scientific Data Management System Ben Leighton, Andrew Freebairn, Ashley Sommer, Jonathan Yu, Simon Cox LAND AND WATER Some context I m part of a team of developers in Land

More information

DISQUS. Continuous Deployment Everything. David

DISQUS. Continuous Deployment Everything. David DISQUS Continuous Deployment Everything David Cramer @zeeg Continuous Deployment Shipping new code as soon as it s ready (It s really just super awesome buildbots) Workflow Commit (master) Integration

More information

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant DevOps examples on NonStop Tools Overview Cor Geboers, ATC Consultant About me Cor Geboers Senior Consultant in NonStop ATC, based in Belgium 35+ years in IT development and support 25+ years NonStop experience

More information

Siegfried Goeschl. Gatling Tales From A Journey

Siegfried Goeschl. Gatling Tales From A Journey Siegfried Goeschl Gatling Tales From A Journey George International Turning George Online Banking into a multi-tenant and group-wide platform Single code base Currently targeting four tenants Server-side

More information

I AM SYSADMIN (AND SO CAN YOU!) Friday, November 14, 14

I AM SYSADMIN (AND SO CAN YOU!) Friday, November 14, 14 I AM SYSADMIN (AND SO CAN YOU!) April 2014 Musings: Rick Farrow Like Elizabeth Zwicky writes in this issue, I am not a system administrator. Oh, I can still fake it, by managing my own systems (DNS, SMTP,

More information

We re redefining Software Quality

We re redefining Software Quality We re redefining Software Quality Continuous Testing Web Services Agile Testing Mobile Device Farm Test Lifecycle Management Performance Test Quality Assurance Mobile Device Management Test Life Cycle

More information

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

What I ll be talking about. About me & bol.com The CI/CD bol.com Current setup. The future in the cloud 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

More information

Jenkins CI for MacDevOps. Tim Sutton Concordia University, Faculty of Fine Arts Montreal

Jenkins CI for MacDevOps. Tim Sutton Concordia University, Faculty of Fine Arts Montreal Jenkins CI for MacDevOps Tim Sutton Concordia University, Faculty of Fine Arts Montreal A story svn update./configure make Hudson Jenkins git pull cd code/tools./make_munki_mpkg.sh munkibuilds.org Continuous

More information

Use Case: Scalable applications

Use Case: Scalable applications Use Case: Scalable applications 1. Introduction A lot of companies are running (web) applications on a single machine, self hosted, in a datacenter close by or on premise. The hardware is often bought

More information

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

Creating pipelines that build, test and deploy containerized artifacts Slides:   Tom Adams Creating pipelines that build, test and deploy containerized artifacts Slides: https://goo.gl/2mzfe6 Tom Adams tadams@thoughtworks.com 1 Who I am Tom Adams Tech Lead tadams@thoughtworks.com http://tadams289.blogspot.com

More information

8. Quality Assurance

8. Quality Assurance 8. Quality Assurance Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of 22.03.2012 Agile Methods by Dirk Riehle is licensed under a Creative Commons Attribution-

More information

Teaching Elephants to Dance (and Fly!)

Teaching Elephants to Dance (and Fly!) Teaching Elephants to Dance (and Fly!) IT s Journey to Digital Transformation Red Hat GEMs Jason Peng, Senior Solution Architect 6 Blind Men (and an elephant) IT s Reality What most of us are up against.

More information