keep calm and architect on: an architect's role in devops · 2017-05-04 · keep calm and...

19
Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon Keep CALM and Architect On: An Architect’s Role in DevOps Terri Potts (@terri_potts) and Eric Ort Raytheon IIS Unrestricted Content Unrestricted Content

Upload: others

Post on 24-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

1Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Keep CALM and Architect On: An Architect’s Role in DevOpsTerri Potts (@terri_potts) and Eric OrtRaytheon IIS

Unrestricted ContentUnrestricted Content

Page 2: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

2Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

What is Raytheon?

Unrestricted Content

Page 3: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

3Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Helping a DevOps team stay CALMCulture• Continual learning & experimentation• High-trust & scientific approach

Automation• Automate deployment pipeline• Move fast left-to-right

Photo of Graham Fitter surfing on the Colorado River, © 2017 Brian Doss

Lean• Kata• Value stream mapping• Provide fast feedback right-to-left

Measurement• Provide visibility

Unrestricted Content

Page 4: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

4Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Architects & Culture

Unrestricted Content

Embrace change!

Define capabilities & features

Become part of the team

Lead and guide experimentation

Change impact analysis for legacy software baselines

Test architecture

Photo: https://pixabay.com/en/cat-feline-kitty-angry-cat-20688/

Page 5: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

5Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Architects Role in Automation

Application modernizationDeployment pipeline architectureInfrastructure architecture

Unrestricted Content

Photo: httpwebrequest-readwritetimeout-set-to-5-minutes

Page 6: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

6Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Infrastructure as Code and Versioned EnvironmentsQuality Attributes: Maintainability / Deployability / Self-ServiceTactics: IaC and versioned environmentsResult: Eliminates environment snowflakes

Environment 1.2.3

SecurityPolicy Files

COTS / FOSSContainers

Incremental DB Schema

Configuration

OS Kickstart Images

Automation Scripts

Dev Environment

@ v1.2.3

IntegrationEnvironment

@ v1.2.3

System TestEnvironment

@ v1.2.3

OpsEnvironment

@ v1.2.3

Instantiate

Instantiate

Instantiate

Instantiate

Unrestricted Content

Page 7: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

7Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Feature Flags for Dark LaunchQuality Attributes: Deployability, TestabilityTactics: Feature flags and dark launchingResults:• Quick / easy rollback of features• Dark launching• Avoids “branching hell”• Less risk to production

If (configParams.feature){

<new feature code>}

Unrestricted Content

Page 8: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

8Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Node

Semantic Versioning PatternQuality Attribute: Deployability and AvailabilityTactics: Semantic versioning, versioned interfacesResults:

• Live deploys• Live switch to semantically compatible version

NodeRHEL VM

MicroserviceV1.0.1

RHEL VMMicroservice

V1.0.3Consumer

ConsumerX

Unrestricted Content

Page 9: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

9Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Incremental Database UpgradesQuality Attributes: Maintainability, Modifiability, UpgradabilityTactics: Incremental database upgradesResults: Fully automated upgrade of an existing database to match a new software version

SW Change DB Change

SW Change DB Change

Total SW Changes

Total DB Changes

DatabaseV1.2.3

SW v.1.2.3 Upgrade SW v.1.3.5

Apply DB Changes

DatabaseV1.3.5

Unrestricted Content

Page 10: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

10Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Forward / Backward CompatibilityQuality Attributes: Deployability, UpgradabilityTactics: Forward/backward DB compatibilityResults: Painless rollback / fallback and no-risk upgrades

DatabaseV1

DatabaseV2

DatabaseV3

Add First Name & Last Name columns

Microservicev1

Microservicev2

Microservicev3

Lines indicate compatibilityRemove Full Name

column

Full Name

Eric Ort

Terri Potts

Full Name First Name Last Name

Eric Ort Eric Ort

Terri Potts Terri Potts

First Name Last Name

Eric Ort

Terri Potts

Unrestricted Content

Page 11: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

11Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Patterns that support Test AutomationQuality Attributes: TestabilityTactics: Mocking, seams, service isolation, separation of business logicResults: Defect localization for lower MTTR, easier to automate tests, automated test suite performance

SaleTerminal….

void notifyServer()

SaleTerminalSubclass (at seam)

….void notifyServer()

WebService

SoapUIMock

Consumer

production

test

SaleTerminalvoid notifyServer()

Jmockit no-op version of notifyServer()

Test Code

BusinessLogic

DiskAccess

Layer / Code

DiskGUI

Unrestricted Content

Page 12: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

12Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Dynamic Infrastructure Patterns for AutomationQuality Attributes: Performance, Elasticity, ResiliencyTactics: Immutable microservices, containers, container management / scaling software, SW that is ready to live, die and multiplyResults: Consumer

OpenShift / Kubernetes Cluster

Consumer

Consumer

OpenShift / Kubernetes Router

NodeRHEL VM

PODContainer

APPContainer

APP

PODContainer

APPContainer

APP

NodeRHEL VM

PODContainer

APPContainer

APP

PODContainer

APPContainer

APP

NodeRHEL VM

PODContainer

APPContainer

APP

PODContainer

APPContainer

APP

• Seamless user experience and results with just the right amount of resource usage

Unrestricted Content

Page 13: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

13Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Architects Helping the Organization Get Lean

Representative schedulesValue stream mapping Reduce work in progressFeature driven developmentKata

Unrestricted Content

Photo courtesy of Pixaby.com

Page 14: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

14Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

THE FOUR STEPS OF THE IMPROVEMENT KATA MODEL

Understandthe Directionor Challenge

Grasp theCurrent

Condition

Establish theNext TargetCondition

CC

TC

1 2 3 4Iterate

Toward the Target Condition

PlanningPhase

ExecutingPhase

A systematic, scientific pattern of working

The Improvement Kata model comes from six yearsof research into how Toyota manages people,

which is summarized in the book “Toyota Kata”By Mike Rother

Unrestricted Content

Page 15: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

15Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

TERMINOLOGY

Obstacles

Experiments

CurrentCondition

Threshold of Knowledge

NextTarget

Condition(dated)

By Mike Rother

Unrestricted Content

Page 16: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

16Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

WHAT IT REALLY LOOKS LIKE

ExperimentsAt the CurrentKnowledge Threshold

Challenge

Threshold of Knowledge

CurrentCondition

NextTarget

Condition(date)

By Mike Rother

Unrestricted Content

Page 17: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

17Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Measurement that Support MeasurementMicroservice built-in metric support at the endpoints• Health checks and metrics

- Application of circuit breaker pattern- SW based resiliency

• Proactively determine if software, VMs or HW are “getting sick” and automatically respond

$ curl http://www.some_example.com:8081/healthcheck * deadlocks: OK * database: OK

Unrestricted Content

http://crochetincolor.blogspot.com/2012/06/trying-to-customize-hat-sizes.html

Page 18: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

18Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

Measurement (Cont)that Support MeasurementMonitoring and Response at scale• Intelligent analysis of metrics• Intelligent correlation of metrics• Intelligent collation and routing of alerts • Automated response orchestration

Unrestricted Content

Page 19: Keep CALM and Architect On: An Architect's Role in DevOps · 2017-05-04 · Keep Calm and Architect On: An Architect’s Role in DevOps ©2017 Raytheon. Conclusion. Architects must

SATURN 2017

19Keep Calm and Architect On: An Architect’s Role in DevOps©2017 Raytheon

ConclusionArchitects must still understand the whole system up frontArchitects have a different, but ongoing roleStay current on the latest patterns that support automation, cloud, etc.New architectural roles are needed for Infrastructure and Test

Unrestricted Content

Photo courtesy of Pixaby.com