Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Movingfromamonolith
toadistributedmonolith
#nishmahanty
YOW! CTO Summit Melbourne 2018
© Netget Limited | Slide 2
irexchange Platform Overview
3
Pricebook Order Management
Analytics & Business Intelligence
Invoicing &
Payments
CRM
Finance
system
Portal
POS Integration
Inventory
Logistics - Flow through & Delivery
AWS
irexchange Platform Overview
4
Pricebook Order Management
Analytics & Business Intelligence
Invoicing &
Payments
CRM
Finance
system
Portal
POS Integration
Inventory
Logistics - Flow through & Delivery
AWS
Architecture Requirements: pre-Cloud
Commercial-in-confidence | © Netget Limited | Slide 5
PERFORMANCE COSTRELIABILITY
Architecture Requirements: pre-Cloud
Commercial-in-confidence | © Netget Limited | Slide 6
PERFORMANCE COSTRELIABILITY
Architecture Requirements - Cloud
Commercial-in-confidence | © Netget Limited | Slide 7
PERFORMANCE RELIABILITY COST PORTABLE
EVOLVABLE SECURE SCALABLE RESILIENT
EASE OF CHANGE AUTOMATED ADAPTABLE AUDITABLE
Commercial-in-confidence | © Netget Limited | Slide 8
PERFORMANCE RELIABLE COST PORTABLE
EVOLVABLE SECURE SCALABLE RESILIENT
EASE OF CHANGE AUTOMATED ADAPTABLE AUDITABLE
Commercial-in-confidence | © Netget Limited | Slide 9
PERFORMANCE RELIABLE COST PORTABLE
EVOLVABLE SECURE SCALABLE RESILIENT
EASE OF CHANGE ADAPTABLE AUDITABLEAUTOMATED
Commercial-in-confidence | © Netget Limited | Slide 10
SPEED QUALITY COST PORTABLE
EVOLVABLE SECURE SCALABLE RESILIENT
SPEED CHANGE AUTOMATED ADAPTABLE PERFORMANT
Moving from a Monolith to distributed Monolith
What is the best architecture for a startup company
Microservices 101
• A collection of single function modules with well-
defined interfaces and operations that can be
deployed and scaled independently
• Service-oriented architecture composed of loosely-
coupled elements that have bounded contexts
What is a Microservice
B2B Architecture Overview
15
Suppliers Retailers
Pricebook Order Management
Invoicing &
Payments
Portal POS Integration
Inventory
Business Processes
Admin UIs
FULFILMENT
RETAILERS
SUPPLIERS
API
GATEWAY POS INTEGRATION
TRANSPORT
PRICEBOOK
ORDERS
INVOICES
INVENTORYPORTAL
REST
API
REST
API
REST
API
REST
API
REST
API
REST
API
Moving from a Monolith to distributed Monolith
B2B Architecture Overview
Suppliers Retailers
Pricebook Order Management
Invoicing &
Payments
Portal POS Integration
Inventory
Business Processes
Admin UIs
FULFILMENTJun 2016
B2B Architecture Overview
Suppliers Retailers
Pricebook Order Management
Invoicing &
Payments
Portal POS Integration
Inventory
Business Processes
Admin UIs
FULFILMENTJun 2016
Pricebook Order Management
Invoicing &
Payments
Portal POS Integration
Inventory
Business Processes
Admin UIs
B2B Platform Physical Architecture
MS SQL
SERVER
Iron
JAVA
Jun 2016
DOCKER
VPC
Public subnet
Private subnet
AWS Cloud
Availability zone 1
Auto Scaling group
NAT gateway
AWS Region
DOCKER
Public subnet
Private subnet
Availability zone 2
NAT gateway
Cluster
LEGACY LEGACY
DOCKER
VPC
Public subnet
Private subnet
AWS Cloud
Availability zone 1
Auto Scaling group
NAT gateway
AWS Region
DOCKER
Public subnet
Private subnet
Availability zone 2
NAT gateway
Cluster
LEGACY LEGACY
SCALABLE
SECURE
RESILIENT
Architecture Principle
We tend to prefer AWS tools over
custom or 3rd party tools because
they rapidly improve over time
Availability zone 1
Stored Procedures
LEGACY
APP
July 2016
In praise of Monoliths
EASE OF CHANGE
AUTOMATED
Stored Procedures
LEGACY
APP
UI Product
Supplier
Order
Retailer
Strangler Vine pattern
EASE OF CHANGE
July 2016
Stored Procedures
LEGACY
APP
UI Product
Supplier
Order
Retailer
Strangler Vine pattern
EASE OF CHANGE
AUTOMATED
July 2016
Deadlines: November Launch!
TEAM SCALE SPEED OF
LEARNING
August 2016
Stored Procedures
LEGACY
APP
UI Product
Supplier
Order
Retailer
Deadlines!
TEAM SCALE
SPEED OF
LEARNING
August 2016
Suppliers FulfilmentRetailers
LEGACY & Friends RETAILER SUPPLIER FULFILMENT
LEGACY
Product
Order
Retailer
Supplier
Pricing
Demand
Invoice
Order
Catalog Transport
Despatch
FA API
FA Admin
Inventory
Promo
Ranging Craft API
Craft Admin
TEAM SCALE SPEED OF
LEARNING
Slice by Domain
August 2016
Suppliers FulfilmentRetailers
LEGACY & Friends RETAILER SUPPLIER FULFILMENT
LEGACY
Product
Order
Retailer
Supplier
Pricing
Demand
Invoice
Order
Catalog Transport
Despatch
FA API
FA Admin
Inventory
Promo
Ranging Craft API
Craft Admin
TEAM SCALE SPEED OF
LEARNING
Slice by Domain
August 2016
COST
Moving from a Monolith to distributed Monolith
Architecture Principle
Build your core I.P.
But don’t build any non-core I.P.
Architecture
Borrow > Rent > Buy > Build
LEGACY & Friends RETAILER SUPPLIER FULFILMENT
LEGACY
Product
Order
Retailer
Supplier
Pricing
Demand
Invoice
Order
Catalog Transport
Despatch
FA API
FA Admin
Inventory
Promo
Ranging Craft API
Craft Admin
EASE OF
CHANGE
We get slower
TEAM SCALE
September 2016
COST
LEGACY & Friends RETAILER SUPPLIER FULFILMENT
Legacy
Product
Order
Retailer
Supplier
Pricing
Demand
Invoice
Order
Catalog Transport
Despatch
FA API
FA Admin
Inventory
Promo
Ranging Craft API
Craft Admin
EASE OF CHANGETEAM SCALE
September 2016
And slower
Vision & Friends RETAILER SUPPLIER FULFILMENT
Vision
Product
Order
Retailer
Supplier
PricingDemand
Invoice
Order
Catalog Transport
Despatch
FA API
FA AdminInventoryPromo
Ranging Craft API
Craft Admin
EASE OF CHANGEMORALE
September 2016
And slower still
TEAM SCALE
December 2018
There is a happy ending
http://www.unicornsrule.com/rainbows-and-unicorns/
Architecture Principle
Make your Services as small as they
need to be to match your Business
capabilities, but no smaller!
Architecture Principle
Architecture Principle
Vision
Product
Order
Retailer
Supplier
Pricing
Demand
Invoice
Order
Catalog
Transport
Despatch
FA API
FA Admin
Inventory
Promo
Ranging
Craft API
Craft Admin
December 2018
There can be only one.
Moving from a Monolith to distributed Monolith
43
B2B Platform Overview
43
Pricebook Order Management
Invoicing &
Payments
Portal POS Integration
Inventory
Business Processes
Admin UIs
June 2016
Lessons Learned
Lessons Learned
Lessons Learned
Thank you
Commercial-in-confidence | © Netget Limited | Slide 47
We’re hiring
Commercial-in-confidence | © Netget Limited | Slide 48
Moving from a Monolith to distributed Monolith
Platform Overview
50
irexchange B2B platform components
Pricebook
• Product attributes
• Pricing
• Promotions
• Ranging
Order Management
• Optimised ordering
• Aggregation by distribution centre
• Aggregation by supplier
• Order days and supplier lead times
• Purchase order generation & submission
• Delivery confirmation by supplier
Flow through & delivery
• Receiving
• Optimised routing
• Pick-to-zero
• Small carton pick
• Exception management
• Despatch & delivery tracking
Analytics & insights
Invoicing &
Payments
• Transparency
• Product
• Service fee
• Freight
• Payment terms
• eInvoice
CRM
Finance
system
Portal
• Navigation and search
• Shopping cart
POS Integration
• Host file
• Order interface
Sub-components
Vision
CRAFT/FlowAssist
Dynamics
Online
NAV/Sage
V
C/F
CRM
O
GL Power BI BI
VV
V
O
BI
C/F
GLCRM
V
Single order to supplier Supplier delivery Flow-through distribution process
Inbound Outbound
Optimised delivery to retailersIntelligent supplyRetailer places an orderirexchange publishes productSupplier uploads to GS1

More Related Content

What's hot

Marrying the Old and New to Deliver Mobile Innovatino
Marrying the Old and New to Deliver Mobile InnovatinoMarrying the Old and New to Deliver Mobile Innovatino
Marrying the Old and New to Deliver Mobile Innovatino
Patricia Hines
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
SlideTeam
 
Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software
SAP HANA Cloud Platform
 
SaaSPlex Telco/Cellco/ISP
SaaSPlex Telco/Cellco/ISPSaaSPlex Telco/Cellco/ISP
SaaSPlex Telco/Cellco/ISP
guest45dca
 
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, DigiaAPIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
apidays
 
Becoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital JourneyBecoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital Journey
Apigee | Google Cloud
 
APIs at Scale - The Hyperconnected Enterprise
APIs at Scale - The Hyperconnected EnterpriseAPIs at Scale - The Hyperconnected Enterprise
APIs at Scale - The Hyperconnected Enterprise
Axway
 
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
apidays
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
Web Business Platforms On The Cloud An Engineering Perspective
Web Business Platforms On The Cloud   An Engineering PerspectiveWeb Business Platforms On The Cloud   An Engineering Perspective
Web Business Platforms On The Cloud An Engineering Perspective
Harsh Jegadeesan
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays
 
What do you mean by "API as a Product"?
What do you mean by "API as a Product"?What do you mean by "API as a Product"?
What do you mean by "API as a Product"?
Lou Powell
 
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
Sid Bhatia
 
AMPLIFY Managed File Transfer
AMPLIFY Managed File TransferAMPLIFY Managed File Transfer
AMPLIFY Managed File Transfer
Axway
 
SAP API Management and API Business Hub (TechEd Barcelona)
SAP API Management and API Business Hub (TechEd Barcelona)SAP API Management and API Business Hub (TechEd Barcelona)
SAP API Management and API Business Hub (TechEd Barcelona)
Harsh Jegadeesan
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
Apigee | Google Cloud
 
API Connect from IBM
API Connect from IBMAPI Connect from IBM
API Connect from IBM
Katherine Duffy
 
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays
 

What's hot (20)

Marrying the Old and New to Deliver Mobile Innovatino
Marrying the Old and New to Deliver Mobile InnovatinoMarrying the Old and New to Deliver Mobile Innovatino
Marrying the Old and New to Deliver Mobile Innovatino
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
 
Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software Using Kubernetes to Extend Enterprise Software
Using Kubernetes to Extend Enterprise Software
 
SaaSPlex Telco/Cellco/ISP
SaaSPlex Telco/Cellco/ISPSaaSPlex Telco/Cellco/ISP
SaaSPlex Telco/Cellco/ISP
 
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, DigiaAPIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
 
Becoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital JourneyBecoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital Journey
 
APIs at Scale - The Hyperconnected Enterprise
APIs at Scale - The Hyperconnected EnterpriseAPIs at Scale - The Hyperconnected Enterprise
APIs at Scale - The Hyperconnected Enterprise
 
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
apidays LIVE New York 2021 - API for multi-cloud management platform by Pawel...
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Web Business Platforms On The Cloud An Engineering Perspective
Web Business Platforms On The Cloud   An Engineering PerspectiveWeb Business Platforms On The Cloud   An Engineering Perspective
Web Business Platforms On The Cloud An Engineering Perspective
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlonapidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
 
What do you mean by "API as a Product"?
What do you mean by "API as a Product"?What do you mean by "API as a Product"?
What do you mean by "API as a Product"?
 
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
APIs at Enterprise Scale, Sid Bhatia, API Strategy & Practice Conference, Ams...
 
AMPLIFY Managed File Transfer
AMPLIFY Managed File TransferAMPLIFY Managed File Transfer
AMPLIFY Managed File Transfer
 
SAP API Management and API Business Hub (TechEd Barcelona)
SAP API Management and API Business Hub (TechEd Barcelona)SAP API Management and API Business Hub (TechEd Barcelona)
SAP API Management and API Business Hub (TechEd Barcelona)
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
 
API Connect from IBM
API Connect from IBMAPI Connect from IBM
API Connect from IBM
 
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...
 

Similar to Moving from a Monolith to distributed Monolith

BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
Kay Lerch
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
luisw19
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
Pace Integration
 
Why and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in AzureWhy and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in Azure
Riverbed Technology
 
Why and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in AzureWhy and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in Azure
Ian Downard
 
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
HostedbyConfluent
 
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWSReinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
Amazon Web Services
 
A Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaSA Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaS
Thoughtworks
 
What You Need to Know About Operationalizing Your AWS Transit Hub
What You Need to Know About Operationalizing Your AWS Transit HubWhat You Need to Know About Operationalizing Your AWS Transit Hub
What You Need to Know About Operationalizing Your AWS Transit Hub
Khash Nakhostin
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
Judy Breedlove
 
AWS Serverless API Management - Meetup
AWS Serverless API Management - MeetupAWS Serverless API Management - Meetup
AWS Serverless API Management - Meetup
Samuel Vandecasteele
 
IoT Smart APIs using Nomos RuleX
IoT Smart APIs using Nomos RuleXIoT Smart APIs using Nomos RuleX
IoT Smart APIs using Nomos RuleX
Cliff Faurer
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
Matt McLarty
 
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic SolutionsBe the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
CA Technologies
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841
ypai
 
Evolve 2014 experience driven commerce
Evolve 2014 experience driven commerceEvolve 2014 experience driven commerce
Evolve 2014 experience driven commerce
Elastic Path
 
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Amazon Web Services
 
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
Amazon Web Services
 
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocioAWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
Amazon Web Services LATAM
 

Similar to Moving from a Monolith to distributed Monolith (20)

BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
BEDCon 2016 - Kay Lerch on "Will trade an ESB for an agile integration soluti...
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
Why and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in AzureWhy and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in Azure
 
Why and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in AzureWhy and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in Azure
 
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
Nordstrom's Event-Sourced Architecture and Kafka-as-a-Service | Adam Weyant a...
 
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWSReinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
Reinventing SAP on AWS: Scale & Simplify SAP Operations on AWS
 
A Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaSA Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaS
 
What You Need to Know About Operationalizing Your AWS Transit Hub
What You Need to Know About Operationalizing Your AWS Transit HubWhat You Need to Know About Operationalizing Your AWS Transit Hub
What You Need to Know About Operationalizing Your AWS Transit Hub
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
 
AWS Serverless API Management - Meetup
AWS Serverless API Management - MeetupAWS Serverless API Management - Meetup
AWS Serverless API Management - Meetup
 
IoT Smart APIs using Nomos RuleX
IoT Smart APIs using Nomos RuleXIoT Smart APIs using Nomos RuleX
IoT Smart APIs using Nomos RuleX
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic SolutionsBe the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841
 
Evolve 2014 experience driven commerce
Evolve 2014 experience driven commerceEvolve 2014 experience driven commerce
Evolve 2014 experience driven commerce
 
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
 
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
 
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocioAWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
AWS Cloud Experience CA: Soluciones SAP en AWS: maximice su valor de negocio
 

More from Nish Mahanty

Growing Teams - Tech Leading Ladies Meetup 2019
Growing Teams -  Tech Leading Ladies Meetup 2019Growing Teams -  Tech Leading Ladies Meetup 2019
Growing Teams - Tech Leading Ladies Meetup 2019
Nish Mahanty
 
CTO School Melbourne 2017 - Getting Started at a Startup
CTO School Melbourne 2017 - Getting Started at a StartupCTO School Melbourne 2017 - Getting Started at a Startup
CTO School Melbourne 2017 - Getting Started at a Startup
Nish Mahanty
 
Peeling the onion - deconstructing the layers of complexity in your business
Peeling the onion - deconstructing the layers of complexity in your businessPeeling the onion - deconstructing the layers of complexity in your business
Peeling the onion - deconstructing the layers of complexity in your business
Nish Mahanty
 
Agile Case Study With Cliffnotes
Agile Case Study With CliffnotesAgile Case Study With Cliffnotes
Agile Case Study With Cliffnotes
Nish Mahanty
 
Why take a Continuous Delivery approach in your organisatiion
Why take a Continuous Delivery approach in your organisatiionWhy take a Continuous Delivery approach in your organisatiion
Why take a Continuous Delivery approach in your organisatiion
Nish Mahanty
 
LAST Conference - The Mickey Mouse model of leadership for software delivery ...
LAST Conference - The Mickey Mouse model of leadership for software delivery ...LAST Conference - The Mickey Mouse model of leadership for software delivery ...
LAST Conference - The Mickey Mouse model of leadership for software delivery ...
Nish Mahanty
 
Eastern Melbourne Agile Meetup - Challenge Constraints
Eastern Melbourne Agile Meetup - Challenge ConstraintsEastern Melbourne Agile Meetup - Challenge Constraints
Eastern Melbourne Agile Meetup - Challenge Constraints
Nish Mahanty
 
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
Nish Mahanty
 
Devops down under - building high performing teams
Devops down under - building high performing teamsDevops down under - building high performing teams
Devops down under - building high performing teams
Nish Mahanty
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalface
Nish Mahanty
 
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_st
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_stAgile Australia Conference 2011 - Devops live accounts- continuous delivery_st
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_st
Nish Mahanty
 

More from Nish Mahanty (11)

Growing Teams - Tech Leading Ladies Meetup 2019
Growing Teams -  Tech Leading Ladies Meetup 2019Growing Teams -  Tech Leading Ladies Meetup 2019
Growing Teams - Tech Leading Ladies Meetup 2019
 
CTO School Melbourne 2017 - Getting Started at a Startup
CTO School Melbourne 2017 - Getting Started at a StartupCTO School Melbourne 2017 - Getting Started at a Startup
CTO School Melbourne 2017 - Getting Started at a Startup
 
Peeling the onion - deconstructing the layers of complexity in your business
Peeling the onion - deconstructing the layers of complexity in your businessPeeling the onion - deconstructing the layers of complexity in your business
Peeling the onion - deconstructing the layers of complexity in your business
 
Agile Case Study With Cliffnotes
Agile Case Study With CliffnotesAgile Case Study With Cliffnotes
Agile Case Study With Cliffnotes
 
Why take a Continuous Delivery approach in your organisatiion
Why take a Continuous Delivery approach in your organisatiionWhy take a Continuous Delivery approach in your organisatiion
Why take a Continuous Delivery approach in your organisatiion
 
LAST Conference - The Mickey Mouse model of leadership for software delivery ...
LAST Conference - The Mickey Mouse model of leadership for software delivery ...LAST Conference - The Mickey Mouse model of leadership for software delivery ...
LAST Conference - The Mickey Mouse model of leadership for software delivery ...
 
Eastern Melbourne Agile Meetup - Challenge Constraints
Eastern Melbourne Agile Meetup - Challenge ConstraintsEastern Melbourne Agile Meetup - Challenge Constraints
Eastern Melbourne Agile Meetup - Challenge Constraints
 
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
Agile Australia Conference 2012 - Building High Performing Teams - to deliver...
 
Devops down under - building high performing teams
Devops down under - building high performing teamsDevops down under - building high performing teams
Devops down under - building high performing teams
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalface
 
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_st
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_stAgile Australia Conference 2011 - Devops live accounts- continuous delivery_st
Agile Australia Conference 2011 - Devops live accounts- continuous delivery_st
 

Recently uploaded

K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
apoorva2579
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
Edge AI and Vision Alliance
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
FellyciaHikmahwarani
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
The Digital Insurer
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Earley Information Science
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 

Recently uploaded (20)

K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024Verti - EMEA Insurer Innovation Award 2024
Verti - EMEA Insurer Innovation Award 2024
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 

Moving from a Monolith to distributed Monolith

Editor's Notes

  1. I’m Head of Development at irexchange – a small start-up based here in Melbourne. I wanted a share a case-study of how we evolved our architecture, and our experiences with adopting microservices. Hopefully you will get some ideas that you can apply in your own organisation
  2. Irexchange is a technology and distribution start-up aiming to disrupt the traditional wholesaler model in the FMCGs domain. The company has been around for 3 years and is going well. We have raised over $40M in investment capital and all the business metrics are looking good. It is a good news story and I am proud to have been part of it.
  3. That business growth has been built on top of the growth of our technology platform. Conceptually, we have 3 main systems. We have no fixed infrastructure – everything is in AWS
  4. That business growth has been built on top of the growth of our technology platform. Conceptually, we have 3 main systems. We have no fixed infrastructure – everything is in AWS
  5. Nowadays I feel that is like this – and the business wants everything.   But when you dig into the Business strategy for our start-up there are two over-arching business needs that come to the fore.
  6. Most important was speed to market –                 Speed in delivering new features for our customers                 Speed in evolving features based on customer feedback                 And Speed in identifying and fixing issues
  7.                 No data loss or breach                 Acceptable performance                 High availability   The other boxes are mostly hygiene factors – they need to be considered but they aren’t as important as the first two.   So what sort of architecture will give us those benefits – speed to market and minimise reputational damage?
  8.   So what sort of architecture will give us those benefits – speed to market and minimise reputational damage?
  9.   So what sort of architecture will give us those benefits – speed to market and minimise reputational damage? The answer, according to a bunch of experts was Microservices
  10. We did a bit of research, bought Russell’s book, attended Fred’s workshop, and listened to Martin’s keynote.
  11. We used to draw our architecture like this
  12. Conceptually microservices promise a lot. A collection of single function modules with well-defined interfaces and operations. They abstract away a lot of hard networking stuff Ensure consistency of messaging and networking, and logging and alerting and monitoring Keep the functional devs focussed on features rather than chasing configuration if you like drawing neat boxes and clouds, then adding hexagons to your tool kit doesn’t seem that hard.
  13. The reality doesn’t necessarily match packaging. When you apply these ideas in the real world, it gets complicated and messy and it stops looking like the pretty pictures in the book I want to share our ongoing journey of adopting microservices, and in particular share some of the lessons we learned. Throughout the talk I’ll call out some of the principles that we adopted based on what we learned.  
  14. When I started at irexchange 3 years ago, we had acquired an inventory management system, that had been modified to demonstrate our unique B2B workflow Conceptually the system can be represented like this. It is two sided market place with Suppliers and Retailers buying groceries through the platform. Underpinning that was our Logistics and fulfilment team that managed the flow of the physical goods. The system can be represented as a a set of core business concepts that are tied together to represent the business processes
  15. When I started at irexchange 3 years ago, we had acquired an inventory management system, that had been modified to demonstrate our unique B2B workflow Conceptually the system can be represented like this. It is two sided market place with Suppliers and Retailers buying groceries through the platform. Underpinning that was our Logistics and fulfilment team that managed the flow of the physical goods. The system can be represented as a a set of core business concepts that are tied together to represent the business processes
  16. The physical architecture looked like this A monolithic 2-tier architecture running on physical hardware.   Our first goal, was to move the application into AWS and satisfy the “minimise reputational damage” business driver.
  17. Warning – a bit of AWS jargon Move the Java application into Docker, We migrated the SQL Server to RDS, and encrypted the tables   The EC2 instance sizes gave us  the required performance. The multi-AZ and Auto Scaling Groups gave us the resilience The private subnets, bastion box, ServerSide Encryption and MFA gave us our security.   There is a bit more that we did about security, but if I told you, I would have to kill you.
  18.   It all sounds very easy when I say it that fast. The reality is that it was more complicated than that.   When we started Containers and Clusters were fairly new concepts and the tooling to manage them was very immature. We had to write our scripts to manage the Docker containers within their Clusters. We lost time trying a few cluster management tools, before settling on AWS CF  ECS and ECR. They were under-featured but have improved over the last 3 years.
  19. One architecture principle that emerged is “We tend to prefer the AWS tool over custom or 3rd party tools” because they rapidly improve over time.” An example is using Cost Explorer over 3rd party SAAS cost monitoring tools. When it was first launched it was very rudimentary, but now it is quite full featured. Having established these patterns for building our Containers, we codified them into our Build scripts and templates, and shifted our focus to the second business driver “Speed to Market”
  20. As a start-up building a well-designed monolith is an excellent strategy to go fast. There is only one thing to deploy. All the functionality is one project, it is easy to trace, and easy to understand your dependencies.   In this case, the application had been designed to be lightning fast. And they achieved that by encapsulating most of the business logic into stored procedures. There was over 30 person-years of development in the application. It had a very rich feature set and was well proven.   But without a suite of tests, it was difficult to for the new team to understand the complexities of the logic, and in particular it was difficult to predict the side effects when we made a change.
  21. Our approach to this problem was to adopt a strangler vine pattern. We wanted to interact through the front-end, and to manipulate the data in the tables, but not write new business logic in the stored proc layer.   We did that by creating a set of pass through services that talked to the tables that were relevant to each Domain concept. Now we could write new business logic in a testable maintainable way, and over time deprecate and retire the existing stored proc logic.
  22. Our approach to this problem was to adopt a strangler vine pattern. We wanted to interact through the front-end, and to manipulate the data in the tables, but not write new business logic in the stored proc layer.   We did that by creating a set of pass through services that talked to the tables that were relevant to each Domain concept. Now we could write new business logic in a testable maintainable way, and over time deprecate and retire the existing stored proc logic.
  23. Then, we had a new business driver. It was June, and we needed to be in market by November in time for the Christmas demand. Accordingly we quickly ramped up to a team of 24 engineers – 3 teams of 8.   But we couldn’t wrap that many people around the codebase – The surface area was too small.   We getting significantly slower as we now had 24 people who had to understand the codebase and make changes in a coherent manner.   Our approach to this problem was to split into 3 teams that were lined up with the three Domains – Suppliers, Retailers and Network and Operations. Our thinking was that each team would be able to focus on rapidly delivering features for their customer segment.
  24. Then, we had a new business driver. It was June, and we needed to be in market by November in time for the Christmas demand. Accordingly we quickly ramped up to a team of 24 engineers – 3 teams of 8.   But we couldn’t wrap that many people around the codebase – The surface area was too small.   We getting significantly slower as we now had 24 people who had to understand the codebase and make changes in a coherent manner.   Our approach to this problem was to split into 3 teams that were lined up with the three Domains – Suppliers, Retailers and Network and Operations. Our thinking was that each team would be able to focus on rapidly delivering features for their customer segment.
  25. Architecturally, we created three new Clusters of related Domain services. Each team had their own Environment which was complete set of all of the infrastructure and Services and could work in parallel extending the functionality in their Domain.  
  26.   Firstly our AWS costs doubled over the month. It turns out there were three related reasons. It was easy for the teams to spin up environments – so they did. But no-one was spinning them down. Secondly we had over spec’d some of the instances and had were paying for processing power that we didn’t need. And thirdly, we hadn’t factored running cost into some of our designs, and had built and expensive solution.   We initially solved this by borrowing some open-source scripts from REA to turn stuff off.   Out of this experience we emerged a few more principles.  
  27. One architecture principle that emerged is “We tend to prefer the AWS tool over custom or 3rd party tools” because they rapidly improve over time.” An example is using Cost Explorer over 3rd party SAAS cost monitoring tools. When it was first launched it was very rudimentary, but now it is quite full featured. Having established these patterns for building our Containers, we codified them into our Build scripts and templates, and shifted our focus to the second business driver “Speed to Market”
  28. As well, we elevated running cost as a first-class citizen in our design discussions. Which resulted in principle 4:
  29. Finally we moved to Gorillastack and used that tool to manage our environments.
  30. So now, when you had deployed a change to a service, you had to deploy the Infrastructure first. Every single time. This made deployment duration longer. Within a team if we had multiple changes to deploy,  we had to coordinate all of those changes and test that there were no configuration issues. Because deployments took a long time and required a fair amount of confirmation testing we started having to batch changes. This meant that we were getting slower.   We were holding changes for up to a week or a fortnight and deploying large chunks of functionality at a time. These large batch sizes meant that when something went wrong in Production we took longer to diagnose the root cause because there was more new code to examine.   Each Service was well written, with Unit and Contract tests and good automation, but in the collective environment it was getting harder to understand the dependencies as 20+ Engineers made simultaneous changes.   One answer was to the situation, was to split the infrastructure from being associated with the Cluster to being associated with each service. We called this Atomic Deployments and spend considerable time refactoring the deployment scripts to allow us to deploy and individual service and its associated infrastructure services in in one smaller deployment.  
  31.  Chasing variations between environments became more common and took longer and longer.   The final nail in our microservices dream came when we realised that although we had the three clear business Domains, the actual business processes that we were codifying crossed the domain boundaries.   As an example, to calculate the final price of a product for a specific customer, you needed to know who the customer was, which state they were in, what promotions they had access to, what else they had ordered, what the product was, which state it was coming from, and a bunch of other information.   So to determine Product price we needed changes in multiple Services across the multiple teams. Now we were batching changes as we waited for other teams to completed their part of the business feature. This was resulting in less frequent, even larger deployments.    It was all getting very hard and the deadline was looming. And our cash reserves were decreasing!  
  32. Actually skipping forward two years – it’s a very different situation now. We successfully achieved that deadline and many more since Last month we deployed changes to Production 55 times (roughly 2 a day) In that month we had three (low severity defects) Each one was detected and resolved in less than 30 minutes. Our average Cycle Time on a new Story is about a day. And no one works long hours or on the weekends   So how did we get there?   Firstly we made the team smaller That change forced us to focus on prioritising Value, and reduced the Comms overhead and reduced the dependencies We moved all of our Configuration into Parameter store and refactored our build pipelines to be able to deploy a Service or Infrastructure in a more consistent decoupled fashion that minimised the occurrences of environment mismatches   And most importantly, we realised that our Domain model idea was wrong. We weren’t building a bunch of loosely coupled microservices that were all small single-function modules   We had a bunch of larger Domain services that were overlaid with a set of business processes that touched all of those core services. Those business processes were instantiated as a collection of Lambdas and Queues, Streams and Messages, and yes Single Function microservices. Those processes were encapsulated in the Environment configuration, and in the infrastructure settings.
  33. We had a Pricing service – It was big and we broke it up But every time there was a Pricing business change we found that we had change every single pricing microservice
  34. A lot of those business processes are synchronous. Most are short-running and bursty. Some are long-running Some are scheduled batch jobs They all leverage the the Domain primitives.
  35. There are bunch of services and infrastructure and configuration that encapsulate our business processes A lot of those business processes are synchronous. Some are long-running Some are short-running and bursty. Some are scheduled batch jobs They all leverage the the Domain primitives.   Our architecture doesn’t look like this:
  36. A lot of those business processes are synchronous. Most are short-running and bursty. Some are long-running Some are scheduled batch jobs They all leverage the the Domain primitives.   Our architecture doesn’t look like this:
  37. It looks a lot like the monolith that we started with:   I think that you could describe it as a distributed monolith And that’s a good thing, because that is what we needed.