continuous - anztb · 2016-08-14 · continuous challenges lack of ownership: development and test...

15
CONTINUOUS ALL THE THINGS 11.08.2016 Willie Goosen

Upload: others

Post on 28-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS

ALL THE THINGS 11.08.2016 Willie Goosen

Page 2: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS CHALLENGES

Environment inconsistency: development and test

environments that are different to production.

Page 3: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS CHALLENGES

Lack of Ownership: development and test environments that

are different to production or teams not working close enough.

“It works on my

machine…”- every developer ever -

“The servers are fine…

Must be the code.”- every sysadmin ever -

Page 4: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS CHALLENGES

Pets VS Cattle : Treating your servers / services like pets,

rather than Cattle, if it gets sick get rid of it.

Name, Love, Nurse VS Numbers, Identical, Disposable

Page 5: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS CHALLENGES

Different Goals : When you have silos of teams with different

goal and drivers

DEV

• Innovate Through Change

• Quick turnaround on features

• Not concerned of code impact

on infrastructure

OPS

• Generate stability

• Rewarded for uptime

• Hawk eye on resource

consumption of servers

VS

PROBLEM!!

Page 6: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS INTEGRATION

Integrate changes from each developer into the main branch, on

checkin / pull request.

Page 7: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS INTEGRATION

Static Analysis and Unit testing for code quality is performed

before any code review happens.

Commit

Dev

Build

Unit

Test

Analyse

Page 8: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS DELIVERY

Deploying the resulting artefact from each Integrated build into

various environments

Continuous Testing

Commit

Dev

Build

Continuo

us

Monitorin

g

Continuous Delivery

Page 9: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

BUZZWORDS• Immutable Infrastructure - Your

infrastructure is treated just like code and

checked into source control and build from

created from there

• Rolling Deployments - Each server is taken

out of the pool and upgraded, then placed back

in to service

• Blue Green Deployments - Whole new stack

is built, once ready it completely replaces the

previous

Page 10: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS TESTING

Depending on the level of test automation, integrated builds can

move across environments with or without interaction

Continuous Testing

Commit

Dev

Build

Continuo

us

Monitorin

g

Continuous Delivery

Page 11: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

CONTINUOUS MONITORING

Ensuring all aspects of each environment is monitored and

possibly self-healing

Continuous Testing

Commit

Dev

Build

Continuo

us

Monitorin

g

Continuous Delivery

Page 12: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

BUZZWORDS

• Application Performance Management -

These are specialised tools that inspect the

code and interactions with users, web services

databases and infrastructure to pinpoint issues.

• Log Aggregation - Central place where

aaaaaaallll the logs of a system is stored,

usually with a google-for-logs interface to

search and find events.

Page 13: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

TYING IT TOGETHER

• Build Tool

• Deployment Tool

• Containers

• Ticket Tracking

• Wiki

• Source Code

Page 14: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

PARTING THOUGHTS

• Culture - Tighten the interactions between Dev,

Test and Ops

• Automation - Establish a practice of automation

• Measure - You can only tune, if you know what

the system currently does

• Share - Share the same tools, metrics and data

across Dev, Test, and Ops

Page 15: CONTINUOUS - ANZTB · 2016-08-14 · CONTINUOUS CHALLENGES Lack of Ownership: development and test environments that are different to production or teams not working close enough

ASK?!?

ALL THE THINGS