kubernetes as a cloud for ci

17
Kubernetes as a cloud for CI January 2017

Upload: squadex

Post on 15-Feb-2017

36 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

January 2017

Page 2: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Agenda

1. Whom it benefits (roles, types of companies, number of services)

2. Kubernetes as a cloud for Jenkins builds

3. Kubernetes as a cloud for multiple DEV/QA/STAGE environments

4. Impact of “unlimited” number of environments on development process

5. Case study

Page 3: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Whom it benefits?

● Roles: build & devops engineers, infrastructure administrators, developers

● Types of companies: enterprise & startup

● Types of applications: Back-end

● Number of services in product: 3+ services.

Page 4: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Technologies & tools

January 2017

Kubernetes - Private Container Cloud, runs docker, contributed by Google http://kubernetes.io/

Jenkins - open source automation server https://jenkins.io/

Page 5: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

What for?

Speed-up the development process:

● Faster feedback loop

● Speed of infrastructure deployment

● Infrastructure automation as a part of development process

Page 6: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Build in Cloud: Kubernetes plugin

➢ Adds Kubernetes as a Cloud Provider to Jenkins

➢ Flexible setup: dedicated Jenkins Slaves for each build configuration, namespaces(from Kubernetes), limited number for parallel builds

➢ Jenkins Slave is being dynamically created and deleted right after the build

January 2017

Page 7: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Benefits

Doesn’t depend on hosting: launch over AWS, OpenStack, GCloud, hardware

Traditional clouds (AWS, OpenStack): time of slaves launch (seconds vs. minutes)

Conventional approach with dedicated build-servers: isolation of build environments through the usage of containers

January 2017

1

2

3

Page 8: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Microservice architecture on the development stage

Use Kubernetes to build applications for Microservices architecture starting with Dev/QA/Stage environments:

➔ The ability to have full Dev installation of the application with all the associated services for EACH successful build

➔ No overhead for virtualization➔ Eases the transition to delivery in production not a separate binary files or code but

the tested containers

January 2017

Page 9: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Common infrastructure

January 2017

Page 10: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Infrastructure as a code for this specific case

➢ Build containers using Dockerfile

➢ Environments’ setup is being defined

in yaml configs

January 2017

Page 11: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Case study

Page 12: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Case study10x Technologies helps organizations harness the power of information to drive business success, with solutions to serve the most complex environments● Backup and fault-tolerance for information systems● Technologies used (almost since the foundation date)

January 2017

$2,5 bln. revenue

7000 employees

Founded in 1990

Page 13: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Case - Problem

A large number of disparate projects which are difficult to manage without a single ecosystem=> Task: Implement unified CI-solution company-wide

January 2017

Page 14: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Case - Solution

Migration● Private Cloud (OpenStack) + hardware → Kubernetes● Own Jenkins setup to each project → Jenkins (unification) + modern plugins● Staged dev → Scrum● Perforce → Git● Own issue tracking system → Atlassian Stack

Page 15: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Case - Results

Direct● Speed up of delivery by accelerating the feedback

(deploy every 3 months, and now once a month)

Derived from the solution● Unifying Knowledge Base for new projects

(input speed = processing speed script)● Increasing internal mobility of staff

(employee engagement increases)

January 2017

Page 16: Kubernetes as a cloud for CI

Kubernetes as a cloud for CI

Implications

★ DevOps brings significant value to the development process, not only managing environments in production

★ Kubernetes speed-ups development and increases quality of software products

Page 17: Kubernetes as a cloud for CI

www.squadex.com

125 University Avenue,

Suite 290, Palo Alto,

California, 94301

Questions, details?We would be happy to answer!