apidays LIVE Paris - Responding to the New Normal with APIs for Business, People and Society
December 8, 9 & 10, 2020
Break up Monoliths and lay them to REST!
Arun Narayanaswamy, Director Engineering at Amadeus
10. Choosing which one to break?
TECHNICAL
•Codebase
•Suitable framework
•Footprint
•File system dependencies
•Usage / workload
BUSINESS
•Business criticality
•Risk tolerance
•Change frequency
•Lifecycle stage
•Domain expert availability
ECONOMIC
•Licensing costs (HW / SW)
•Time-to-market implications
•Revenue impact-fullness
11. Strangling
New features in new model
Shrink the monolith
•Split Frontend and Backend
•Extract services
Breaking
Build a parallel product
11
{ Two } Strategies for defeating the Monolith
:: Common Governance model ::
Common languages, tools, contracts
Smart Routing
Dynamic Routing
Service Migration
Load Shedding
Traffic Management
Canary Testing
Picking Seams
Team Organization
Business Processes
Verbs & Operations
Nouns & Resources
Models for read/ write
15. _Detail the seams
_Decouple the presentation logic into
a remote UI with API access
_Start small
_Note:
• API’s need to be secured and flexible
15
Start with the {Seams}
16. _Consider macro services
_New code with toggles and flags
_Increased surface of security
_Note:
• Vision (of simplifying) is important and
so is the target
• Flags are complex
• API’s need to be secured and flexible
16
Start with the {Seams} – Part 2
17. _Separate the UI
_Every conversation is API based
_Initiate inner-sourcing
_Note:
• Opportunities to run hackathons
• Fast track API usage
• Limited downtime
17
Start {Small}
18. _Re-write the monolith
_Break the data components
_ Focus on the API design
_Note:
• The old components are still
operational in the monolith
• Components are work in progress
18
Break the {Monolith}
19. _Focus on API design
_Connect the Data side
_Note:
• Monolith’s API’s are hard to crack
• Work around workarounds
19
Connect the {Dots} & open the {API’s}
20. _Direct the traffic
_Opportunity to test the waters
_Canary loads – Segment the traffic
_Note:
• Double the infra (scale it wisely)
• Double the operations
• Keep the temporary holes plugged
• Works best with new services
20
Start the {Switch}
21. _Autonomous service
_Decouple
_Open the API’s further
_Note:
• Resist the urge to use the monolith
• DevOps & Agile are important
• Move fast, be nimble
21
Enter the {New World}
one-time ETL
22. 22
{ Case 2 } Monolith to a new service (Big Bang!)
24. Where we are today?
_Release 200x faster
_API help inner sourcing – Million+ pull requests
_API help backward compatibility – Almost zero rollbacks
_Architecture comes first
• Loosely coupled architecture
• DevOps and API first
_Trust in automation
• Bite-sized and iterative approach
Quick introduction about me and what my team enables in the organization.
I manage a team which helps build internal platforms and tooling needed for developers to be more efficient
Introduction about the organization
Sharing the scale of Amadeus and how and why we need to evolve and cater to developer needs.
Opening up opportunities growing beyond People transporters to manage merchandising