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.
How to deal with a hot potato
Gustavo Elias | @archtavo
Credits: albinoblacksheep.com
● Legacy Project
● No build plan
● Critical to the company
● Really flawed/works but...
What is a hot potato?
Credits: kno...
Multiple responsibilities
● Manage client preferences
● Send emails/SMS/push notifications
● Manage mobile device tokens
●...
Part of the release cycle
Test
UAT
Demo
Prod
1.0.0-SNAPSHOT 1.1.0-SNAPSHOT
1.0.0
1.0.0
1.0.0 1.1.0
Really flawed
● Maintenance costs
● No audit on sent messages
● Downtime on deploy
Really flawed - Maintenance costs
● 1-2 points points/dev
● £500 pd/dev
● Cost dev:
– 5-10 points pw
– £2500 pw
- 15-30 po...
Really flawed -
No audit on sent messages
● Two possible scenarios:
– Client receives messages and we don't know
– Client ...
● Forty minutes to restart
Really flawed - Downtime on deploy
Credits: 9gag.com
Refurbishment time!
● Rearchitecture
● Reach zero downtime deployment
● Detach from the old release cycle
Credits: ludumda...
Refurbishment time - Rearchitecture
“We don't get paid unless we draw at least ten
square boxes a day”
-Daniel Lebrero
Refurbishment time –
Reach zero downtime on deploy
● Canary release
● Blue/Green deployment
Refurbishment time -
Detach from the old release cycle
● Build a full bamboo plan
● ...that can only be used when the new
...
Lessons learnt
● Get business on your side
● Deal with your own s**t
● Use an incremental approach
● Be proud
Credits: red...
Upcoming SlideShare
Loading in …5
×

Atmosphere 2016 - Gustavo Elias - How to deal with a hot potato

75 views

Published on

In large organisations, sometimes projects and parts of the code base get shuffled around between teams. Projects that have tons of responsibilities, that are business critical and that are hard to look after. What happens when a self-organised team that has a continuous delivery system in place receives one of these legacy product that is the antithesis of best practices? The talk approaches this issue with a real life example, highlighting the problems encountered and the solutions suggested and applied to each of them.

The talk starts describing what a hot potato is: a project that breaks all the good practices a team has in place but it’s business critical and needs to be handled. After a general introduction, it gets down into more specific details of the project that need to be addressed: two months deployment cycle, extremely long start-up time, huge amount of responsibilities... And then breaks them down into smaller, more approachable problems.
Once the problems have been reduced to something that can be handled, the talk approaches possible solutions. It explains pros and cons of each of them an why one is chosen over the other: the two-months deployment cycle gets dramatically reduced by creating a bamboo plan owned by the team; the start-up time decrements in several steps that include blue-green deployment plus code refactoring; and many other issues get resolved piece by piece.
Why are these solutions chosen over others? Sometimes for its quality, sometimes it's chosen due to certain constrains like time, resources, adaptability... Reasons for each of them are the centre of the talk.
Finalising the talk, there is a comparison between how the project looked at the beginning and how it behaves after all the improvements.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Atmosphere 2016 - Gustavo Elias - How to deal with a hot potato

  1. 1. How to deal with a hot potato Gustavo Elias | @archtavo Credits: albinoblacksheep.com
  2. 2. ● Legacy Project ● No build plan ● Critical to the company ● Really flawed/works but... What is a hot potato? Credits: knowyourmeme.com
  3. 3. Multiple responsibilities ● Manage client preferences ● Send emails/SMS/push notifications ● Manage mobile device tokens ● ... Credits: Miscellaneous Craft Inspiration
  4. 4. Part of the release cycle Test UAT Demo Prod 1.0.0-SNAPSHOT 1.1.0-SNAPSHOT 1.0.0 1.0.0 1.0.0 1.1.0
  5. 5. Really flawed ● Maintenance costs ● No audit on sent messages ● Downtime on deploy
  6. 6. Really flawed - Maintenance costs ● 1-2 points points/dev ● £500 pd/dev ● Cost dev: – 5-10 points pw – £2500 pw - 15-30 points pw - £7500 pw
  7. 7. Really flawed - No audit on sent messages ● Two possible scenarios: – Client receives messages and we don't know – Client doesn't receive message and we don't know
  8. 8. ● Forty minutes to restart Really flawed - Downtime on deploy Credits: 9gag.com
  9. 9. Refurbishment time! ● Rearchitecture ● Reach zero downtime deployment ● Detach from the old release cycle Credits: ludumdare.com
  10. 10. Refurbishment time - Rearchitecture “We don't get paid unless we draw at least ten square boxes a day” -Daniel Lebrero
  11. 11. Refurbishment time – Reach zero downtime on deploy ● Canary release ● Blue/Green deployment
  12. 12. Refurbishment time - Detach from the old release cycle ● Build a full bamboo plan ● ...that can only be used when the new machines arrive
  13. 13. Lessons learnt ● Get business on your side ● Deal with your own s**t ● Use an incremental approach ● Be proud Credits: reddit.comCredits: albinoblacksheep.com

×