4dev prezentacja cd 2014 · enabling continuous delivery ... survey. our highest priority is $ to...

21
Enabling Continuous Delivery Łukasz Szydło [email protected]

Upload: others

Post on 26-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Enabling Continuous Delivery

Łukasz Szydło [email protected]

Page 2: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Software Craftsman Specializing in web apps Writes code mostly in Java Co-founder at Oakfusion Trainer at Bottega IT Solutions Branch free since 2010 (with small brake)

About me

Page 3: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Quick survey

Survey

Page 4: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Our highest priority is $to satisfy the customer$

through early and $continuous delivery!of valuable software.

What is CD?

Page 5: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

automated testing, continuous integration continuous inspection continuous deployment

Technics

Page 6: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Release != Deploy $

Release - make feature accessible to users $Deploy - put newest app version on server

Slide name

Page 7: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

What’s in it for me?

Page 8: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

How big is you app?

Starting point

Page 9: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Your tests are too slow $

Unit tests < 1ms Integration tests < 50 ms Acceptance tests - as fast as possible :)

Slow tests

Page 10: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Your app is to big $

Micro applications Micro services

Divide and Conquer

Page 11: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Branches slows you down

Branches

Page 12: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$Feature switches Incremental changes

Managing changes

Page 13: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Branching by abstraction

Introducing changes

Page 14: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Write your tests and

make them fast

Automatic Tests

Page 15: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Bugs $

can’t complete action can complete action wrong

Automatic Testing

Page 16: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Make your app configurable

Configuration

Page 17: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$$$$$$$$$$$$$$$$$$$$$Growing object oriented software guided by tests

Hexagonal Architecture

Page 18: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

Monitor your process $

Static code analysis Process metrics Application monitoring

Information & Reporting

Page 19: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Infrastructure needs to enable you to create small apps

Infrastructure

Page 20: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

Culture & Organization Design & Architecture Build & Deploy Tests & Verification Information & Reporting

Summary

Page 21: 4dev prezentacja cd 2014 · Enabling Continuous Delivery ... Survey. Our highest priority is $ to satisfy the customer$ through early and $ continuous delivery! of valuable software

$

$

Q&A

Q&A