towards a responsive business

64
TOWARDS A RESPONSIVE BUSINESS The Developer Way

Upload: venetia-bird

Post on 21-Jan-2015

547 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Towards a Responsive Business

TOWARDS  A  RESPONSIVE  BUSINESS  The  Developer  Way  

Page 2: Towards a Responsive Business

@nigelfds

github.com/nigelfds

Page 3: Towards a Responsive Business

@venetiabird

github.com/venetiabird

Page 4: Towards a Responsive Business
Page 5: Towards a Responsive Business
Page 6: Towards a Responsive Business
Page 7: Towards a Responsive Business

Understanding �the problems

Page 8: Towards a Responsive Business

“We make a change in one place and somewhere, something else breaks”

Page 9: Towards a Responsive Business

“It feels like it takes a long time to complete what should be a simple thing”

Page 10: Towards a Responsive Business

“Feels like all we have done are patches, hacks and short term tactical fixes to meet deadlines”

Page 11: Towards a Responsive Business
Page 12: Towards a Responsive Business

Part of any problem is: people & process

Page 13: Towards a Responsive Business

We’re going to focus on �the technical parts

Page 14: Towards a Responsive Business

www.laputan.org  

Page 15: Towards a Responsive Business

1.  Legacy Systems 2.  Kitchen Sink Applications 3.  Monolithic Applications 4.  Complexity

We’ll talk about dealing with 4 things:

…and what we learnt along the way.

Page 16: Towards a Responsive Business

1. Legacy Systems

Page 17: Towards a Responsive Business

Strangler  Pa6ern    

Page 18: Towards a Responsive Business
Page 19: Towards a Responsive Business

Legacy systems grow arms and legs…

…because the world needs to continue

Page 20: Towards a Responsive Business

2. Kitchen Sink Applications

Page 21: Towards a Responsive Business

Kitchen Sink

Page 22: Towards a Responsive Business

Different speeds �of evolution

Page 23: Towards a Responsive Business

Factoring systems by Value Stream

Page 24: Towards a Responsive Business
Page 25: Towards a Responsive Business
Page 26: Towards a Responsive Business

You aren’t going to get it right at first go

Page 27: Towards a Responsive Business

Using WebAPI and Areas to build services within a service

Page 28: Towards a Responsive Business

3. Monolithic Applications

Page 29: Towards a Responsive Business
Page 30: Towards a Responsive Business
Page 31: Towards a Responsive Business
Page 32: Towards a Responsive Business
Page 33: Towards a Responsive Business
Page 34: Towards a Responsive Business

Eliminating batch processes is hard

Page 35: Towards a Responsive Business

4. Complexity

Page 36: Towards a Responsive Business

“I  do  believe  that  complexity  is  the  enemy.  Un7l  we  be9er  understand  complexity,  our  chances  of  building  be9er  IT  systems  is  limited.  The  first  thing  we  must  understand  about  complexity  is  that  not  all  complexity  is  equal.  And  the  complexity  on  which  most  people  focus  is  probably  the  least  complex  complexity  of  all.”  

h6p://simplearchitectures.blogspot.com/2009/03/cancer-­‐of-­‐complexity.html  

Roger  Sessions  

Page 37: Towards a Responsive Business

Complexity    

Page 38: Towards a Responsive Business
Page 39: Towards a Responsive Business
Page 40: Towards a Responsive Business

Accidental  complexity  vs  Planned  complexity  

Page 41: Towards a Responsive Business

Dealing with artifacts…

Page 42: Towards a Responsive Business

Managing Pipelines

Page 43: Towards a Responsive Business

Make  it  Visible!  

Page 44: Towards a Responsive Business

Drilling down...

Page 45: Towards a Responsive Business

to package our apps

Page 46: Towards a Responsive Business

What’s inside the nuget package?

Puppet  manifests    Environment  ConfiguraOons  as  JSON    Install  Script  in  Powershell    Zip’ed  up  applicaOon  

Page 47: Towards a Responsive Business

Proget to manage the packages for the environments

Dev Feed

Test Feed

Staging Feed

Production Feed

Page 48: Towards a Responsive Business

Push button deployment

1.  Hey  Bamboo,  deploy  v0.1.7  to  staging  

3.  Hey  Choclatey,  install  version  10  

4.  Proget  Staging  Feed,  give  me,  v0.1.7  

6.  Unpacks  the  box  and    runs  the  install  script  

2.  Powershell  over  winRM  

5.  Here  you  go!  

Staging Server

Page 49: Towards a Responsive Business

Checks  for  the  correct  environment  

Uses  the  environment  configuraOon  with  puppet  to  configure  the  environment  

IIS  configuraOon,  Folder  permissions    etc  

Page 50: Towards a Responsive Business
Page 51: Towards a Responsive Business

What’s interesting!!?

Packages shipped with ability configure their environment

Page 52: Towards a Responsive Business

Testing deployment scripts…

…with Canary packages

Page 53: Towards a Responsive Business

Guarantees at every every stage in pipeline

Page 54: Towards a Responsive Business

Unit Testing

Page 55: Towards a Responsive Business

Integration Testing

Page 56: Towards a Responsive Business

Systems Testing

Page 57: Towards a Responsive Business

The test pyramid.  

Page 58: Towards a Responsive Business
Page 59: Towards a Responsive Business

Status Checks

Page 60: Towards a Responsive Business
Page 61: Towards a Responsive Business

5 Months +scope

9 weeks +scope

4 weeks +scope

Page 62: Towards a Responsive Business
Page 63: Towards a Responsive Business
Page 64: Towards a Responsive Business

Thank you.