Upload
squadex
View
41
Download
0
Embed Size (px)
Citation preview
Kubernetes as a cloud for CI
January 2017
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
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.
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/
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
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
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
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
Kubernetes as a cloud for CI
Common infrastructure
January 2017
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
Kubernetes as a cloud for CI
Case study
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
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
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
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
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
www.squadex.com
125 University Avenue,
Suite 290, Palo Alto,
California, 94301
Questions, details?We would be happy to answer!