Roots/Git to Deploy What is continuous integration and continuous delivery How they are used at the Innovation Co-Lab Victor Wang, Software Engineer &

Slides:



Advertisements
Similar presentations
USING CI & CD WITH MICROSOFT SQL SERVER Tim Giorgi Senior Software Developer Northwest Evaluation
Advertisements

CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Windows Azure Conference 2014 Running Docker on Windows Azure.
Model a Container Runtime environment on Your Mac with VMware AppCatalyst VMworld Fabio Rapposelli
Introduction to Cloud Computing
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
2 © 2015 Pivotal Software, Inc. All rights reserved. 2 Removing Barriers Between Dev and Ops It Takes a Platform VMworld 1 September 2015 Cornelia.
Virtual Machines Web Sites and ApplicationsDatabases Service Bus.
INTRODUCTION TO VIRTUALIZATION KRISTEN WILLIAMS MOSES IKE.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Satisfy Your Technical Curiosity Specialists Enterprise Desktop -
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer Progress Sonic.
Copyright © 2004 R2AD, LLC Submitted to GGF ACS Working Group for GGF-16 R2AD, LLC Distributing Software Life Cycles Join the ACS Team GGF-16, Athens R2AD,
Sponsored by the National Science Foundation Systematic Experimentation Sarah Edwards GENI Project Office.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Structured Container Delivery Oscar Renalias Accenture Container Lead (NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Testing and Release Procedures/Tools Cristina Aiftimiei (INFN-CNAF) Mario David (LIP)
I/Watch™ Weekly Sales Conference Call Presentation (See next slide for dial-in details) Andrew May Technical Product Manager Dax French Product Specialist.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
The Post Windows Operating System
Appium Studio Appium testing made easy at any scale.
Let's talk about Linux and Virtualization in 'vLAMP'
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Containers as a Service with Docker to Extend an Open Platform
Fundamentals Sunny Sharma Microsoft
Dockerize OpenEdge Srinivasa Rao Nalla.
Version Control with Subversion
Containers: The new network endpoint
Docker Birthday #3.
6/11/2018 8:14 AM THR2175 Building and deploying existing ASP.NET applications using VSTS and Docker on Windows Marcel de Vries CTO, Xpirit © Microsoft.
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
In-Depth Introduction to Docker
Time Management and Teamwork (a.k.a. “Software Project”)
4th Forum How to easily offer your application as a self-service template by using OpenShift and GitLab-CI 4th Forum Alberto.
Andrew Pruski SQL Server & Containers
Containers in HPC By Raja.
Drupal VM and Docker4Drupal For Drupal Development Platform
Microsoft Connect /18/ :32 PM
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Azhagappan Arunachalam
Chapter 2. Malware Analysis in VMs
Introduction to Docker
X in [Integration, Delivery, Deployment]
02 | Hosting Services in Windows Azure
Haiyan Meng and Douglas Thain
SpiraTest/Plan/Team Deployment Considerations
Continuous deployment best practices, methods and tools.
Intro about Contanier and Docker Technology
Microsoft Virtual Academy
System Center Application Management
Managing Services with VMM and App Controller
Continuous Localization
Openstack-alapú privát felhő üzemeltetés
Hybrid / Federated Tuesday, January 15, 2019.
Presented by Bogdan Stanca-Kaposta (Spirent)
Mark Buckler September 8, 2017
Fuego Test System Roadmap and Priorities Discussion June 2018
Windows 8.1 Deployment Jump Start
System Center Operations Manager 2007 – Technical Overview
DEVOPS & THE FUTURE OF TESTING
IST346: Virtualization and Containerization
Harrison Howell CSCE 824 Dr. Farkas
A DevOps process for deploying R to production
Empowering teams with scalable Shiny applications
Containers and DevOps.
Jamie Cool Program Manager Microsoft
Containers on Azure Peter Lasne Sr. Software Development Engineer
The Future of Database Development (with containers)
Docker and Kubernetes Security in ONAP Pawel Pawlak Amy Zwarico
Presentation transcript:

roots/Git to Deploy What is continuous integration and continuous delivery How they are used at the Innovation Co-Lab Victor Wang, Software Engineer & Technical Consultant September 12, 2016

What is the problem? Testing is hard to manage and not publicly known to the team A lot of sysadmin work to migrate application from development environment to production environment “War Room” situation every time new version needs to be deployed and no easy way to roll back Painful when it comes to scale the application Big headache when migration Point 1 without CI, tests need to be run where the app is developed. PRs are not reliable when merged unless reviewer clones it and run it locally Point 2 Take RoR as example, production DB, runtime configure (rbenv rvm), install rails and etc Point 3 Rollback need someone to login to the server, checkout the old release, and execute other commands to make the old version running. This is very error prone Point 4 every new machine has to be manually configured to run the application Point 5 when the current machine provider do not satisfy the need, migrating the app to a new server requires manual setup (the initial headache all over again)

Solutions? Testing is hard to manage and not publicly known to the team A worker just to run the tests and publish the results somewhere → CI A lot of sysadmin work to migrate application from development environment to production environment "All problems in computer science can be solved by another level of indirection." “War Room” situation every time new version needs to be deployed and no easy way to roll back Blue/Green rolling deployment → CD Painful when it comes to scale the application Abstraction again Big headache when migration Still abstraction Talk about a layer of abstraction David Wheeler. Abstraction in this context: we’d like to abstract the OS kernel out

OS Kernel Abstraction What do we need? Packaged OS Kernel, run just like an app Packaged application dependencies Packaged application runtime The result: a fully functional app package that can be put on any OS. OS Kernel Abstraction What do we need?

Docker: Containerised Application Docker takes the OS kernel, and your application, packs that into an image. Then it runs containers attached with volumes (fs) based on that image. Docker engine interacts with your host OS and translates all the syscalls.

Docker explained in graph Any other applications Docker Container Docker Container Docker Container Docker Container Docker Image Docker Image Docker Engine (network, fs, etc) Host OS

The Workflow Building your application however you want Write tests to make sure what you build is actually working Configure Continuous Integration to run your tests Configure Continuous Delivery to build your Docker image Configure Blue/Green Deployment to roll onto the new Docker image on multiple hosts

CIs on the Market Travis-CI - used by GitHub projects Jenkins - highly extensible CI that can be configured to run almost anything GitLab CI - used by GitLab projects