Openshift for Continuous Integration



Similar documents
A central continuous integration platform

A Complete Open Cloud Storage, Virt, IaaS, PaaS. Dave Neary Open Source and Standards, Red Hat

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

RED HAT CONTAINER STRATEGY

OpenShift. Marek Jelen, OpenShift, Red Hat

DevOps. Josh Preston Solutions Architect Stardate

Cloud enablement with Flexiant. Cloud Orchestrator

Enterprise PaaS Evaluation Guide

vcloud Suite Architecture Overview and Use Cases

OpenStack. Orgad Kimchi. Principal Software Engineer. Oracle ISV Engineering. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Java PaaS Enabling CI, CD, and DevOps

SURFsara HPC Cloud Workshop

Web Application Platform for Sandia

Implementing Microsoft Azure Infrastructure Solutions

SUSE OpenStack Cloud 4 Private Cloud Platform based on OpenStack. Gábor Nyers Sales gnyers@suse.com

Introduction to OpenStack

Deploying Your Application On Public Cloud

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Why Does CA Platform Use OpenShift?

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

Private Cloud Management

Red Hat Cloud Ecosystem

SUSE Cloud 2.0. Pete Chadwick. Douglas Jarvis. Senior Product Manager Product Marketing Manager

Continuous Integration using Docker & Jenkins

HP Cloud technologies

Everything You Need To Know About Cloud Computing

Jenkins Slave Cloud with Apache Mesos. Klaus Azesberger Reinhard Kiesswetter Infonova GmbH

HOW OPEN SOURCE IS DRIVING DEVOPS INNOVATION. Gordon William Cloud & DevOps Product Strategy, Red Hat 17 August 2015

Cisco Cloud Architecture for the Microsoft Cloud Platform

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

openshift enterprise whitepaper Gordon Haff

Deploying and Managing Microsoft System Center Virtual Machine Manager

PES. Creating Load-Balanced Services on top of Cloud Infrastructure and Puppet. Platform & Engineering Services. Vítor Gouveia, vitor.gouveia@cern.

DevOps and SUSE From check-in to deployment

Software-Defined Networks Powered by VellOS

SURFsara HPC Cloud Workshop

Build and Manage Private and Hybrid Cloud. Urban Järund, Sr Regional Services Manager Nordics, Red Hat

In a dynamic economic environment, your company s survival

Configuring and Deploying a Private Cloud

The Virtualization Practice

Intel IT s Cloud Journey. Speaker: [speaker name], Intel IT

Linstantiation of applications. Docker accelerate

DevOps Course Content

Datamation. 3 Ways to Move Application Development to the Cloud. Executive Brief. In This Paper

Software defined networking. Your path to an agile hybrid cloud network

Parallels IaaS and virtualization roadmap. Amir Sharif, VP Virtualization and IaaS James Bottomley, CTO, Server Virtualization and IaaS

Building an AWS-Compatible Hybrid Cloud with OpenStack

VNLINFOTECH JOIN US & MAKE YOUR FUTURE BRIGHT. mcsa (70-413) Microsoft certified system administrator. (designing & implementing server infrasturcure)

Agile Infrastructure: an updated overview of IaaS at CERN

PES. High Availability Load Balancing in the Agile Infrastructure. Platform & Engineering Services. HEPiX Bologna, April 2013

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Cisco Application-Centric Infrastructure (ACI) and Linux Containers

Designing and Implementing a Server Infrastructure

WINDOWS AZURE EXECUTION MODELS

Course 6331A: Deploying and Managing Microsoft System Center Virtual Machine Manager

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

Server & Cloud Management

Configuring and Deploying a Private Cloud with System Center 2012 MOC 10751

HO5604 Deploying MongoDB. A Scalable, Distributed Database with SUSE Cloud. Alejandro Bonilla. Sales Engineer abonilla@suse.com

DevOps with Containers. for Microservices

Service Catalogue. virtual services, real results

A Gentle Introduction to Cloud Computing

Agenda. 1. Welcoming and intro 2. Introduction to RHEL-OSP 3. Deep Dive RHEL-OSP 4. Live Demo 5. OSP-Director 6. What's new in liberty

Data Center Op+miza+on

ViSION Status Update. Dan Savu Stefan Stancu. D. Savu - CERN openlab

Kubernetes-Murano Integration in Mirantis OpenStack 7.0

OpenShift on OpenStack

Cloud for Video Processing

HP OpenStack & Automation

A Mainframe Guy and Cloud Computing

70-414: Implementing a Cloud Based Infrastructure. Course Overview

Use Case Brief CLOUD MANAGEMENT SOFTWARE AUTOMATION

Oracle Virtualization Strategy and Roadmap

Microsoft Private Cloud

Planning the Migration of Enterprise Applications to the Cloud

<Insert Picture Here> Infrastructure as a Service (IaaS) Cloud Computing for Enterprises

Windows Azure and private cloud

Server and Storage Virtualization with IP Storage. David Dale, NetApp

RED HAT CLOUD SUITE FOR APPLICATIONS

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

Use Case Brief BUILDING A PRIVATE CLOUD PROVIDING PUBLIC CLOUD FUNCTIONALITY WITHIN THE SAFETY OF YOUR ORGANIZATION

Bridging the gap between local IT and Cloud services, keeping you in control

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Software Defined Everything

Enabling the vision of the Modern Datacenter. System Center 2012 SP2 Azure

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Sistemi Operativi e Reti. Cloud Computing

Transcription:

Openshift for Continuous Integration Alex Lossent IT/PES/IS AI meeting 1-Oct-2015 Openshift for Continuous Integration 1

Outline Continuous Integration: context and history Platform-as-a-Service concept Docker/Kubernetes/Openshift How Openshift compares to Puppet, Heat Plans and outlook AI meeting 1-Oct-2015 Openshift for Continuous Integration 2

Why a Continuous Integration platform? Concept: improve code quality by integrating code frequently and applying automatic quality control (tests etc.) Awareness of multiple CI setups for all large software projects at CERN In IT, PH, GS, EN Using Bamboo, Jenkins, TeamCity First experience with Jenkins in PES: AIQA Project to provide a Jenkins platform as a service to make it easier for developers to deploy CI AI meeting 1-Oct-2015 Openshift for Continuous Integration 3

CI: current offer Since end 2014, we provide a CI platform Using well-established, open-source Jenkins A Java web application Request an instance from http://cern.ch/forge Documentation http://cern.ch/jenkinsdoc Clear interest from developers >40 instances as of September 2015 Developers@CERN forum on 28-29 September A platform rather than a service We provide the infrastructure (Puppet/Openstack) Out of scope: support for Jenkins configuration itself, integration of existing CI setups Full details presented at ITTF 5-Dec-2014 AI meeting 1-Oct-2015 Openshift for Continuous Integration 4

Significant challenges Need more flexibility Every project has specific needs No standard development platform at CERN Frequent requests for custom RPMs, libraries, OSes, plugins, integration scenarios etc. Need more automation Many changes trigger a support ticket Too much manual work for both users and ourselves Need better scaling 1..n VM per project with CI Security Team project to provide static code analysis AI meeting 1-Oct-2015 Openshift for Continuous Integration 5

Towards a PaaS solution We want to provide the infrastructure for CI While giving maximum freedom to Jenkins users With minimum cost of entry and maintenance effort for users I.e. self-service, fully automated, self-repairing A good candidate for a PaaS solution AI meeting 1-Oct-2015 Openshift for Continuous Integration 6

Options to deploy a web app SaaS: Drupal SharePoint Less effort Less flexibility Specific help Web hosting: AFS/DFS website Middleware-ondemand to develop, run, and manage Web applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app [Wikipedia] PaaS: Good flexibility Limited effort IaaS: Openstack Puppet DNSLB More effort Best flexibility Unspecific help AI meeting 1-Oct-2015 Openshift for Continuous Integration 7

PaaS: useful technologies Containers Operating System-level virtualization: A host system runs several isolated user spaces on top of a single kernel Provides app isolation with less overhead than VMs Containers can be provisioned and started in seconds Allow to separate maintenance of the host OS from that of the application itself Like VMs can stop worrying about physical hardware Docker A popular container solution An application can be packaged with all its environment into an image Includes all libraries, app framework, code, configuration Portable: can be deployed and instantiated with little constraints on a variety of hosts AI meeting 1-Oct-2015 Openshift for Continuous Integration 8

PaaS: useful technologies Kubernetes Docker container orchestration system by Google Software-defined network (SDN) to provide advanced services Recent but gets a lot of traction RedHat Openshift Builds a PaaS solution on top of Kubernetes Adds user management, UI, web proxy, image registry, application templates etc. And an application lifecycle (Continuous Deployment) AI meeting 1-Oct-2015 Openshift for Continuous Integration 9

What can we expect from using Openshift? Flexibility Delegate full control on the Jenkins app to users Self-service and automation (by design) Scaling Better resource-efficiency with containers Advanced level of service (from Kubernetes) Persistent storage via Ceph (RBD) Fast recovery (virtual IPs, replication controller) Good availability (container migration) AI meeting 1-Oct-2015 Openshift for Continuous Integration 10

How to apply this to CI? We provide and maintain a reference Jenkins Docker image With relevant pre-configuration and integration And an Openshift application template for it Users create instances of Jenkins on our Openshift cluster (self-service via CLI/GUI) Allow user-provided Docker images for slaves Each project can have its own build environment No need to deploy and maintain dedicated VMs Fresh container for each job run AI meeting 1-Oct-2015 Openshift for Continuous Integration 11

PaaS general use case Openshift interesting for general web application hosting ~1400 HTTP-related openings in the external firewall Applications currently hosted outside CERN More flexible than web hosting/mwod Wide choice of frameworks, languages Significantly less effort than IaaS No host OS to manage Configuration management tailored for web apps Scalability, redundancy, good availability are almost free Fills a gap in providing tools to facilitate web app deployment and upgrade AI meeting 1-Oct-2015 Openshift for Continuous Integration 12

Case study: GitLab IaaS-based deployment Many VMs (dev/prod, redundancy with DNSLB) NFS filer, DBoD (single points of failure) Complex configuration management with Puppet Puppet module + tricks, custom Lemon sensors Significant work with each new version Complex, manual upgrade procedure 30 minute downtime (even for possibly online upgrades) Not doable with Puppet (lack of synchronization), even less so with migration of Puppet repos to GitLab Slow recovery in case of failure DNS update delay Can be much longer if DBoD or NFS filer fail (if possible) AI meeting 1-Oct-2015 Openshift for Continuous Integration 13

Case study: what Openshift could improve Better resource efficiency: a lot less VMs Direct use of Ceph (RBD) volume for storage Single GitLab instance ( pod ) at any given time Faster recovery Takes seconds to reschedule a container, reconnect to storage, reassign virtual IP SPoF (and dependency loop) removal: NFS filer possibility to host database in Openshift as well Considerably simplified management and procedures Apps are described in terms of how to generate a Docker image from source code and a deployment configuration Openshift designed to facilitate Continuous Delivery Automation of building Docker images, deploying new app versions (and rollback) Can leverage standard RoR migration/upgrade procedure AI meeting 1-Oct-2015 Openshift for Continuous Integration 14

Caveat: security updates App owners responsible for maintaining their apps and all their dependencies Security fixes! Openshift provides an (optional) workflow whereby a base image can be updated and app rebuilt on top of it Mostly appropriate for apps with a Continuous Deployment model Frequent integration, updates and redeployment AI meeting 1-Oct-2015 Openshift for Continuous Integration 15

An interesting complement to existing web app hosting offer SaaS: Drupal SharePoint Less effort Less flexibility Specific help Web hosting: AFS/DFS website Middleware-ondemand IaaS: Openstack Puppet DNSLB More effort Best flexibility Unspecific help PaaS: Good flexibility Limited effort AI meeting 1-Oct-2015 Openshift for Continuous Integration 16

What about Heat? Openstack Heat was also considered as a way to address current challenges with CI Heat = orchestration for Openstack Can be used to provide a Jenkins application template Improvements regarding automation, self-service, flexibility This option would have been fantastic if available end 2014 when CI project started But now suffers from availability of a solution like Openshift Non-trivial work required: integration of Heat with Puppet to maintain long-lived VMs complete refactor of how Jenkins is managed by Puppet Resource efficiency level of service (recovery etc.) AI meeting 1-Oct-2015 Openshift for Continuous Integration 17

Where are we now? Prototype Openshift cluster was relatively easy to deploy Hosts managed with Puppet (+Ansible) Polishing to do but no blocker in sight Work on a preconfigured Jenkins image in progress With SSO, GitLab integration, etc. Production status before end of the year is still realistic AI meeting 1-Oct-2015 Openshift for Continuous Integration 18

Collaboration opportunities? Docker has been lurking around for some time, but no well-defined strategy yet In particular, no official SLC5/6 or CC7 images A new type of resource to manage Reassign when users leave CERN, etc. Integration with existing services? New technologies to master Docker, Kubernetes are definitely technologies that will play a major role in the coming years AI meeting 1-Oct-2015 Openshift for Continuous Integration 19

Do you want to know more? Openshift 3 Roadshow: free workshop in Geneva on October 22nd AI meeting 1-Oct-2015 Openshift for Continuous Integration 20