Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Towards a Responsive Business

719 views

Published on

Published in: Technology
  • Be the first to comment

Towards a Responsive Business

  1. 1. TOWARDS  A  RESPONSIVE  BUSINESS   The  Developer  Way  
  2. 2. @nigelfds github.com/nigelfds
  3. 3. @venetiabird github.com/venetiabird
  4. 4. Understanding the problems
  5. 5. “We make a change in one place and somewhere, something else breaks”
  6. 6. “It feels like it takes a long time to complete what should be a simple thing”
  7. 7. “Feels like all we have done are patches, hacks and short term tactical fixes to meet deadlines”
  8. 8. Part of any problem is: people & process
  9. 9. We’re going to focus on the technical parts
  10. 10. www.laputan.org  
  11. 11. 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.
  12. 12. 1. Legacy Systems
  13. 13. Strangler  Pa6ern    
  14. 14. Legacy systems grow arms and legs… …because the world needs to continue
  15. 15. 2. Kitchen Sink Applications
  16. 16. Kitchen Sink
  17. 17. Different speeds of evolution
  18. 18. Factoring systems by Value Stream
  19. 19. You aren’t going to get it right at first go
  20. 20. Using WebAPI and Areas to build services within a service
  21. 21. 3. Monolithic Applications
  22. 22. Eliminating batch processes is hard
  23. 23. 4. Complexity
  24. 24. “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  
  25. 25. Complexity    
  26. 26. Accidental  complexity  vs  Planned  complexity  
  27. 27. Dealing with artifacts…
  28. 28. Managing Pipelines
  29. 29. Make  it  Visible!  
  30. 30. Drilling down...
  31. 31. to package our apps
  32. 32. What’s inside the nuget package? Puppet  manifests     Environment   ConfiguraOons  as  JSON     Install  Script  in   Powershell     Zip’ed  up  applicaOon  
  33. 33. Proget to manage the packages for the environments Dev Feed Test Feed Staging Feed Production Feed
  34. 34. 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
  35. 35. Checks  for   the  correct   environment   Uses  the  environment   configuraOon  with   puppet  to  configure  the   environment   IIS  configuraOon,   Folder  permissions    etc  
  36. 36. What’s interesting!!? Packages shipped with ability configure their environment
  37. 37. Testing deployment scripts… …with Canary packages
  38. 38. Guarantees at every every stage in pipeline
  39. 39. Unit Testing
  40. 40. Integration Testing
  41. 41. Systems Testing
  42. 42. The test pyramid.  
  43. 43. Status Checks
  44. 44. 5 Months +scope 9 weeks +scope 4 weeks +scope
  45. 45. Thank you.

×