Top Banner
1 ITNW (IF THIS, NOW WHAT) Orchestrating an Enterprise
47

KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Apr 16, 2017

Download

Technology

KubeAcademy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

1

ITNW (IF THIS, NOW WHAT)Orchestrating an Enterprise

Page 2: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

2

We cannot solve our problems with the same thinking we used

when we created them.Albert Einstein

Education is what remainsafter one has forgotteneverything he learned in school.Albert Einstein

Page 3: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

3

Business JustificationRequirementsBuild Pipelines

ThirdPartyResourcesIngress Controller SSL Integration

ChatOps

Page 4: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

4

Principal Systems Architect

Technical Lead on Project BitesizePearson's Enterprise Platform-as-a-Service based on Kubernetes

Michael Ward

www.devoperandi.com@devoperandi

Page 5: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

5

Always Learning

Page 6: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

6

Always LearningPearson

Denver

Malaysia

Sydney

London

Singapore

Beijing

40,000 employees171 years in business

70 countries

Page 7: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

7

Pearson is no small potatoes:

36,000 servers 2,000 applications

400+ Dev Teams

Up to 30 Micro-services per application

1:1 build server to Dev team

Page 8: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

8

OpenSource @pearson

KnowledgeSharing of Information

EducationSharing of Code

OpenSource

Ingress ControllerPython Client Kubernetes Pack

Page 9: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

9

ChatOps Integration

Page 10: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

10

DEMO?

Page 11: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

11

Business Justification

Page 12: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

12

Business

Developers

Security

Quality & Performance

Project Justification

Security

Standardization, Compliance and Visibility

Business

CostDevelopers

Management, Time, Ease of use

QA & PerfEase of Use, Agility, Minimal disruption

Page 13: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Business

Developers

Security

Quality & Performance

Business

CostBuild pipeline takes around 3 months for two Devs.Costing on average $50,000 just in development time PER DEV TEAM. (QA, Security, Performance not included)

400 Dev Teams x $50,000 = $20 Million

Project Justification

Page 14: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Business

Developers

Security

Quality & Performance

Business

Recurring Cost10-20% of a Devs time on maintenance, changes, upkeep, troubleshooting

At 10% 400 X $10,000 = 2 Million/yr

Project Justification

Page 15: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

15

Just because I can"Quotes from Developers"

Page 16: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

16

"Well we spent 6 months solid building a good starting point" 

Pearson Developer

Page 17: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

17

"we never upgrade Jenkins once stable cause we can't get time for it" 

Pearson Developer

Page 18: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Stakeholder Requirements

Reduce Migration Costs Compliance"pre-baked security"

Standardization"same build process across whole Pearson estate" Visibility

Performance Testing"automated perf testing"

Ease of Use"if you don't get this I can't help you"

< 5% Time required to Manage Quality Testing

18

Page 19: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Our Requirements Geographically Distributed

"Abstract Deployment but allow it anywhere"Cattle

"Jenkins as Cattle"

Fast"< 1hr"

Automated Upgrades

Self Configuring Scalability"Horizontal"

Feedback Loops"Clear communication across teams"

19

Page 20: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

20

High Level Product Design

Page 21: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

21

Build Pipelines

Page 22: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Key Concept:

22

1 dev team to many builds

Dev Team

Namespace Build Servers

console-dev

console-stage

console-dev

console-prod

console-stage

console-prod

console-prod

console-stage

console-prod

Oregon

Ireland

Private DC

Page 23: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

23

Standard ProcessStandard Process

Base_Builds

App_Builds

Page 24: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

24

Standard Process

Base_Builds

App_Builds

Standard Process

Page 25: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

25

Standard Process

Base_Builds

App_Builds

Standard Process

Page 26: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

26

Standard Process

Base_Builds

App_Builds

Standard Process

base image

point to build component

runtime command

All based on project name

Page 27: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

27

Standard Process

Base_Builds

App_Builds

Standard Processcomponent: code segment

another piece of code for build

dependencies required for build

repo and branch location

build commands for component

Page 28: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

28

Standard Process

Base_Builds

App_Builds

Standard Process

for CI/CD

Kubernetes Upgrade methon

Configures Service and Ingress

Tests to run in Build Process

Page 29: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

RequirementsGeographically Distributed Cattle

Fast Automated Upgrades

Self Configuring Scalability

Feedback Loops Reduce Migration Costs

Standardization Compliance

Performance Testing Visibility

< 5% Time Management required Quality Testing

Ease of Use29

Page 30: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

30

Base BuildsStandard Process

Base_Builds

App_Builds

Page 31: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

31

Standard Process

Base_Builds

App_Builds

Page 32: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

32

Standard Process

Base_Builds

App_Builds

Base Build

Base level of Security

Standard across the Enterprise

Ensures Compliance

Page 33: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

33

App Builds

Standard Process

Base_Builds

App_Builds

Page 34: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

34

Standard Process

Base_Builds

App_Builds

Page 35: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Requirements Geographically Distributed Cattle

Fast Automated Upgrades

Self ConfiguringScalability

Feedback Loops Reduce Migration Costs

Standardization Compliance

Performance Testing Visibility

< 5% Time Management required Quality Testing

Ease of Use 35

Page 36: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

36

What else?

Page 37: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

37

Manage External Resources with Kubernetes

Page 38: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

38

DEMO?

Page 39: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

39

HTTPS and automated integration with Vault for SSL Certs

Page 40: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

40

StackStorm Integration - Michael Wardhttps://github.com/StackStorm/st2contrib/tree/master/packs/

kubernetes

Vault SSL Integration - Martin Devlinhttps://github.com/devlinmr/contrib

Jenkins Build Pipelines - Simas CepaitisOpenSource Coming Soon

ChatOps - Simas Cepaitis & Michael WardOpenSource Coming Soon

Page 41: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

41

ETCD restoreto alternate clusters

Page 42: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

42

Page 43: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

43

Meet the Team

Director PM Engineer

Chris Jackson Mark Stocker Simas Cepaitis

Engineer

Bill JorgensenJohn Shirley Martin DevlinEngineer Engineer

Peter IdahEngineer

Page 44: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

44

Questions

Page 45: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

45

Standard Process

Base_Builds

App_Builds

Standard Process

Page 46: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

46

PaaS as an ecosystem

Build

API Management

Event Driven Automation

Runtime

Monitoring

Secrets

Orchestration

App Config

Page 47: KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise

Key Concept:

47

1 dev team to many namespaces

Dev Team

appeng-dev

appeng-stage

appeng-prod

appeng-stage

appeng-prod

appeng-prod

NamespaceKubernetes

ClusterProject

console-core

console-ui

console-app