api360 summit the automated monolith

20
The Automated Monolith Fetching victory from the jaws of defeat

Upload: haufe-lexware-gmbh-co-kg

Post on 07-Jan-2017

217 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Api360 Summit  The Automated Monolith

The Automated MonolithFetching victory from the jaws of defeat

Page 2: Api360 Summit  The Automated Monolith

@hlgr360https://de.linkedin.com/in/hrreinhardt

Page 3: Api360 Summit  The Automated Monolith

Introducing – Our Service Platform

http://fineartamerica.com/featured/big-ball-from-a-cable-twisted-pair-aleksandr-volkov.html

- 5 to 10 days to deploy- 2 releases a year- Months to test- White box testing - Deployed on hosted hardware- test != prod- Not an ESB, but worse- Serves a wide range of services from

a single entity

Page 4: Api360 Summit  The Automated Monolith

Microservice Architecture to the Rescue

Page 5: Api360 Summit  The Automated Monolith

Lets start simple and extract (just) User Management

9 months later - It was a complete failure

- Lost test coverage (Remember white box testing?)

- Scope creep (lets fix all the things which bugged us)

- Project complexity grew out of control (Leading Indicator: “We just need X more developers”)

- Agile became frAgile- Team morale and spirit were

destroyed

Page 6: Api360 Summit  The Automated Monolith

And then I remembered this

http://martinfowler.com/bliki/MicroservicePrerequisites.html

What did Fowler state as minimum:- Rapid provisioning- Basic Monitoring- Rapid application deployment

And based on our experience- Automated Testing

Page 7: Api360 Summit  The Automated Monolith

And this …

Stabilize Optimize Transform

The 3 Stages of Lean Transformation

Page 8: Api360 Summit  The Automated Monolith

Execution of strategy is a function of

Culture

StructureTechnology

Page 9: Api360 Summit  The Automated Monolith

So we reset the project (but kept the team)

• Strictly time-boxed phases (3 Months)• Move from Agile to wAgile but with Critical Chain PM approach• Additional focus on team culture, attitudes, and challenge• Phase 1 (Dev and Test) => reduced time to deploy from 5-10 days to 30 min

• Infrastructure as Code (Docker)• Rapid deployment via Cloud (Azure)• Build and deployment automation through Go.CD• Inmutable Server

• Phase 2 (ongoing)• Test automation (plus switch from white to black box testing)

Page 10: Api360 Summit  The Automated Monolith

Team should not be allowed to switch to other (non-project) tasks

More clear requirements needed.

I feel the lack of management / progress tracking.

Bad communication

Lack of intermed. milestones

Lessons learned results “We want to“:• have effective Project Management • deliver reliably and talk about it• have a good working relationship

with clear roles & responsibilities

Lack of trust

Atlantic development is slow, we avoid it whenever we can.

We need the “good guys” to handle the run biz. There’s nobody else.

If we want to keep Atlantic, we need to be more agile. More self responsible. But obviously this doesn’t work out.

The Timisoara team doesn’t perform. We are thinking about alternatives.

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 11: Api360 Summit  The Automated Monolith

› Highly motivated team who is proud of what they are doing

› First release was on time, in scope and budget

› Public Meetup in TIM, Brown Bag in Freiburg, blog article, DevOps Day and application to speak at a conference

› Spoke to multiple project teams about our experiences, several picking up bits from our project

› We have a clear scope on how to improve Atlantic further with clear business benefits

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 12: Api360 Summit  The Automated Monolith

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 13: Api360 Summit  The Automated Monolith

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 14: Api360 Summit  The Automated Monolith

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 15: Api360 Summit  The Automated Monolith

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 16: Api360 Summit  The Automated Monolith

Drawing by Olaf Klöppel, PM at Haufe-Lexware

Page 17: Api360 Summit  The Automated Monolith

Struture: Critical Chain Project Management

• Progress tracking with „buffer consumtion“• Weekly• Update of plan and review of buffer:

• Green – do not interfere• Yellow – prepare to act• Red – act(!) together with the team

• Management focus• The updated plan also shows the critical chain

(usually a resource) so it avoids worrying about delays in non critical tasks

Best Case

Official

Olaf Klöppel, PM at Haufe-Lexware

Page 18: Api360 Summit  The Automated Monolith

Culture: Mission Command (Auftragstaktik)

- Build Cohesive Teams through Mutual Trust- Create Shared Understanding

- Provide a Clear Intent- Exercise Disciplined Initiative

- Use Mission Orders- Accept Prudent Risks

Page 19: Api360 Summit  The Automated Monolith

Lessons learnt• Do the basics first (yes, you need to be that tall)• Focus initially on creating throughput for follow-up phases• Remember technology, culture and structure need to be aligned with

each other and your goal• Stabilize the team after failure by being “agile” with your methodologies

(from Agile back to wAgile back to Agile)• If you need to do a pivot or reset, do it with ‘Shock and Awe’• Leadership is important during vulnerable phase• Don’t do an all-out MSA carve-out because of MSA, but focus on where

you need speed of change. Leave the rest automated.• Move from IT-driven to product-centered team approaches mid-term

Page 20: Api360 Summit  The Automated Monolith

Stay in touch• http://dev.haufe.com/the-automated-monolith/• http://www.slideshare.net/HaufeDev/the-automated-monolith

• Github: https://github.com/Haufe-Lexware• Blog: http://dev.haufe-lexware.com• Twitter: @HaufeDev