SlideShare a Scribd company logo
1 of 38
Download to read offline
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Microservice
Architecture at ASOS
Ali Kheyrollahi
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS
Established at 2000
Global Fashion destination for ā€œ20-somethingā€.
Hires +2500 staff & +250 in tech (700)
Grown average of 35% YoY
39th biggest global online retailer
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
In Numbers
A c t i v e C u s t o m e r s ā†’ 12 M
N e w P r o d u c t s / w k ā†’ 4 k
U n i q u e V i s i t s / m o ā†’ 123 M
P a g e V i e w s / d a y ā†’ 95 M
P l a t f o r m T e a m s ā†’ 40
A z u r e D a t a C e n t r e s ā†’ 5
T u r n O v e r 2 0 1 6 ā†’ 1.5b
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Nick Beighton - CEO
from ā€œIT Cascadeā€ slides - Oct 2014
ASOS - A Tech Company
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS Stock Price: 2009-2013
More than 2000% growth!
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS Stock Price: 2009-2014
Multiple IT project failures
Tech issues disrupting promotions
Overdue features
were not delivered
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Microservices
ā€¦
why?
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ā€œCan I haz microservicez?ā€
ā€œIt is all a marketing hoax.ā€
ā€œI dunnoā€¦ā€ The scepticā€¦
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Scaling People
not the solution
ā†“Complexity of each service
at the cost of ā†‘overall solution
Frequent and
independent Deployments
Decentralising
decision centres
Governance and
EA is different
Auftragstaktik Doctrine is the conceptual underpinning
of HOW to think and operate effectively;
teaching leaders WHAT to think is
dogmaā€¦
Auftragstaktik encourages commanders
to exhibit initiative, ļ¬‚exibility and
improvisation while in commandā€¦
In what may be seen as surprising to
some, Auftragstaktik empowers
commanders to disobey orders and
revise their effect as long as the intent of
the commander is maintainedā€¦
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
SOA Microservices
Main Goal Architectual Decoupling Agility
Audience Mainly Architecture Everyone (inc Buisness)
Set out to solve Architectural Coupling
Scaling People,
Frequent Deployment
Impact on Structure of
Organisation
Minimal Huge
Service Cardinality Usually up to a dozen >40 (Commonly >100)
When to do Always teams > ~5**
Law Conwayā€™s Reverse Conwayā€™s
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Principles (ASOS)
*
All queries and commands through HTTP API
(No ESB-like pseudo-Microservices!)
*
Microservices can subscribe to events raised by
other Microservices
*
*
Each Microservice owns a business responsibility and deļ¬nes
a clear boundary for communication (APIs and Events)
They own their data (all access to data through API only)
*
Each Microservice is realised in one (sometimes more) physical
components
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Domain Modelling
Operating
ModelPeople
Successful
Architecture
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS
Architecture
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS Journey
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Two-speed IT
Enterprise Domain
Digital Domain
ā€¢ Predominantly ā€œBuyā€
ā€¢ Integrated at top tier
ā€¢ Minimal Engineering
ā€¢ Project-centric
ā€¢ Predominantly ā€œBuildā€
ā€¢ Drives sales and customer ā€Ø
touchpoint
ā€¢ Product-centric
ā€¢ Downtime unacceptable
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ā¤ASOS
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS Tech Stack
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Digital Domains & Platforms This is Domain
This is Platform
Logical Services
ā€¢ā€œDomainsā€ are ASOSā€™ organisational
structure for managing Platform Teams
ā€¢ Platform Teams look after collections
of aligned services. They are
accountable for the full lifecycle
management
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Operating Model
Indicative Team Numbers
6 Digital Domains
19 Platforms
35 Dev / Scrum teams
24 Solution Architects
700+ people in Technology
(2500 in Asos total)
Avg +20 people per month over last year
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Governance
Bottom-Up
Top-Down
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Microservice
Example:
Recommendations
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
- Recommendations as a destination
- Widgets
- Personalisation
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
1 x Soft Store (Redis)
5 x Redis Caches
3 x Cloud Services (Microservie)
2 x SQL Databases
5 x Table Storages
1 x External API
1 x Elasticsearch cluster
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
<SQL>
Models
<uservice>
Recommendations
API
<uservice>
Composition
API
<uservice>
Feedback
API
<External API>
Product Catalogue
API
<SQL>
Signal
<Redis>
Realtime
<Elasticsearch>
Catalogue
Computation/Retrieval
Filtering
Faceting
Authentication
Composition
Pagination
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
LMA
Platform
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
API
Application Logging
Microservice Component
cid
ETW
cid
Thread.CurrentThread.SetLogicalData(ā€¦)
[EventSource.ActivityId does not flow
over async methods]
SLAB
Azure Table
Storage Sink
Application Code
cid
To other APIs
cid
Raising Events
Listener
EC
cid
IIS Logs
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
API
Performance
Microservice Component
WAD
Windows Azure
Monitoring Agent
CPC
CPC: Custom Performance Counters
Inst: Instrumentation
Perļ¬t Library
SLAB
Azure Table
Storage Sink
Application Code
Inst
Inst
Call to Data Stores or other services
CPC
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Woodpecker
For `Pull` (rather than `Push`) metrics
Queue
Depth/Size
Azure SQL
Diagnostics
Canaries and
Health Endpoints
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Logsink API
For Native and Web Clients
API
Logsink
/logchannels/<channel>
GET /logchannels/channelOne?a=b&c=d HTTP1.1
200 OK
Content-Type: image/gif
POST /logchannels/channelOne?a=b HTTP1.1
{
ā€œcā€: ā€œdā€
}
202 Accepted
POST /logchannels/_bulk HTTP1.1
[
{ā€œchannelā€: ā€œā€¦ā€, ā€œpayloadā€: {...} }
]
202 Accepted
[
{ā€œstatusā€: 202}, ...
]
Channels
Config
EventHub
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ConveyorBelt
Performance
Counters
ConveyorBelt
Azure
WAD logs
ETW Logs
Elasticsearch
Highly Available Headless Cluster shovelling data to ES
Instrumentation
Logs
IIS Logs
Woodpecker
Outputs (Pull Logs)
Sources Config
Up to 1TB/day
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Monitoring (Demo)
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Alerting
Elasticsearch
Platform Team LMA Support
Watch
OAT Spec
EC
1st-2nd line
Support
- xxx EC seen more than 10 times over
the last minute. Back-off for 15 minutes
- 90th percentile of API response > 100ms over
the last hour... Back-off for an hour
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Lessons Learnt
ā€£In cloud? Design for failureā€¦ ā€œCloud is a Jungleā€
ā€£Network latency & failures add up: understand and optimise time from
the user to the data
ā€£Using any cloud technology? Forget the hype and trust no one: test,
measure, adopt/drop, monitor, engage with your provider
ā€£Managing platform costs can be difļ¬cult
ā€£Distributed computing is hard, making it geo-distributed even harder
ā€£Expect to roll your sleeves up: maturity in a lot of areas is can be low
ā€£ (platform, tooling, skills, supporting technologies) but is changing rapidly
ā€£At this scale, owning your LMA data and process very important
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
ASOS is Hiring!
If you are intrigued by what we do,
we would love to hear from you!
Just get in touch with us in twitter
@aliostad @dav3green
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
Q AThank You!
Ā© 2016 ||| ASOS Plc@aliostad @dav3green
References and external artwork
used
Adrian Cockcroft talk: Simplifying the future
Work in progress: Picture
Rusty Rolls Royce: Picture
Tesla S Blueprint: Picture
Two-Speed (Slow Lane, Fast Lane): Picture
Copyright of the artworks listed here belong the owners speciļ¬ed in the links below

More Related Content

More from Ali Kheyrollahi

Autonomous agents with deep reinforcement learning - Oredev 2018
Autonomous agents with deep reinforcement learning - Oredev 2018Autonomous agents with deep reinforcement learning - Oredev 2018
Autonomous agents with deep reinforcement learning - Oredev 2018Ali Kheyrollahi
Ā 
Buildstuff - what do you need to know about RPC comeback
Buildstuff - what do you need to know about RPC comebackBuildstuff - what do you need to know about RPC comeback
Buildstuff - what do you need to know about RPC comebackAli Kheyrollahi
Ā 
Deep learning for developers - oredev
Deep learning for developers - oredevDeep learning for developers - oredev
Deep learning for developers - oredevAli Kheyrollahi
Ā 
Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Ali Kheyrollahi
Ā 
5 must have patterns for your microservice - techorama
5 must have patterns for your microservice - techorama5 must have patterns for your microservice - techorama
5 must have patterns for your microservice - techoramaAli Kheyrollahi
Ā 
Real time monitoring-alerting: storing 2Tb of logs a day in Elasticsearch
Real time monitoring-alerting: storing 2Tb of logs a day in ElasticsearchReal time monitoring-alerting: storing 2Tb of logs a day in Elasticsearch
Real time monitoring-alerting: storing 2Tb of logs a day in ElasticsearchAli Kheyrollahi
Ā 
From Power Chord to the Power of Models - Oredev
From Power Chord to the Power of Models - OredevFrom Power Chord to the Power of Models - Oredev
From Power Chord to the Power of Models - OredevAli Kheyrollahi
Ā 
From Hard Science to Baseless Opinions - Oredev
From Hard Science to Baseless Opinions  - OredevFrom Hard Science to Baseless Opinions  - Oredev
From Hard Science to Baseless Opinions - OredevAli Kheyrollahi
Ā 
5 must have patterns for your microservice
5 must have patterns for your microservice5 must have patterns for your microservice
5 must have patterns for your microserviceAli Kheyrollahi
Ā 
Us Elections 2016 - Iran Elections 2005
Us Elections 2016 - Iran Elections 2005Us Elections 2016 - Iran Elections 2005
Us Elections 2016 - Iran Elections 2005Ali Kheyrollahi
Ā 
5 Anti-Patterns in Api Design - NDC London 2016
5 Anti-Patterns in Api Design - NDC London 20165 Anti-Patterns in Api Design - NDC London 2016
5 Anti-Patterns in Api Design - NDC London 2016Ali Kheyrollahi
Ā 
From power chords to the power of models
From power chords to the power of modelsFrom power chords to the power of models
From power chords to the power of modelsAli Kheyrollahi
Ā 
5 Anti-Patterns in Api Design - buildstuff
5 Anti-Patterns in Api Design - buildstuff5 Anti-Patterns in Api Design - buildstuff
5 Anti-Patterns in Api Design - buildstuffAli Kheyrollahi
Ā 
5 Anti-Patterns in API Design - DDD East Anglia 2015
5 Anti-Patterns in API Design - DDD East Anglia 20155 Anti-Patterns in API Design - DDD East Anglia 2015
5 Anti-Patterns in API Design - DDD East Anglia 2015Ali Kheyrollahi
Ā 
Topic Modelling and APIs
Topic Modelling and APIsTopic Modelling and APIs
Topic Modelling and APIsAli Kheyrollahi
Ā 

More from Ali Kheyrollahi (15)

Autonomous agents with deep reinforcement learning - Oredev 2018
Autonomous agents with deep reinforcement learning - Oredev 2018Autonomous agents with deep reinforcement learning - Oredev 2018
Autonomous agents with deep reinforcement learning - Oredev 2018
Ā 
Buildstuff - what do you need to know about RPC comeback
Buildstuff - what do you need to know about RPC comebackBuildstuff - what do you need to know about RPC comeback
Buildstuff - what do you need to know about RPC comeback
Ā 
Deep learning for developers - oredev
Deep learning for developers - oredevDeep learning for developers - oredev
Deep learning for developers - oredev
Ā 
Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017
Ā 
5 must have patterns for your microservice - techorama
5 must have patterns for your microservice - techorama5 must have patterns for your microservice - techorama
5 must have patterns for your microservice - techorama
Ā 
Real time monitoring-alerting: storing 2Tb of logs a day in Elasticsearch
Real time monitoring-alerting: storing 2Tb of logs a day in ElasticsearchReal time monitoring-alerting: storing 2Tb of logs a day in Elasticsearch
Real time monitoring-alerting: storing 2Tb of logs a day in Elasticsearch
Ā 
From Power Chord to the Power of Models - Oredev
From Power Chord to the Power of Models - OredevFrom Power Chord to the Power of Models - Oredev
From Power Chord to the Power of Models - Oredev
Ā 
From Hard Science to Baseless Opinions - Oredev
From Hard Science to Baseless Opinions  - OredevFrom Hard Science to Baseless Opinions  - Oredev
From Hard Science to Baseless Opinions - Oredev
Ā 
5 must have patterns for your microservice
5 must have patterns for your microservice5 must have patterns for your microservice
5 must have patterns for your microservice
Ā 
Us Elections 2016 - Iran Elections 2005
Us Elections 2016 - Iran Elections 2005Us Elections 2016 - Iran Elections 2005
Us Elections 2016 - Iran Elections 2005
Ā 
5 Anti-Patterns in Api Design - NDC London 2016
5 Anti-Patterns in Api Design - NDC London 20165 Anti-Patterns in Api Design - NDC London 2016
5 Anti-Patterns in Api Design - NDC London 2016
Ā 
From power chords to the power of models
From power chords to the power of modelsFrom power chords to the power of models
From power chords to the power of models
Ā 
5 Anti-Patterns in Api Design - buildstuff
5 Anti-Patterns in Api Design - buildstuff5 Anti-Patterns in Api Design - buildstuff
5 Anti-Patterns in Api Design - buildstuff
Ā 
5 Anti-Patterns in API Design - DDD East Anglia 2015
5 Anti-Patterns in API Design - DDD East Anglia 20155 Anti-Patterns in API Design - DDD East Anglia 2015
5 Anti-Patterns in API Design - DDD East Anglia 2015
Ā 
Topic Modelling and APIs
Topic Modelling and APIsTopic Modelling and APIs
Topic Modelling and APIs
Ā 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
Ā 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
Ā 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
Ā 
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
Ā 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
Ā 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
Ā 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
Ā 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
Ā 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
Ā 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
Ā 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
Ā 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
Ā 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
Ā 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
Ā 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
Ā 
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļø
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļøcall girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļø
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļøDelhi Call girls
Ā 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...OnePlan Solutions
Ā 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
Ā 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
Ā 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
Ā 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
Ā 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
Ā 
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
Ā 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Ā 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Ā 
Call Girls In Mukherjee Nagar šŸ“± 9999965857 šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Call Girls In Mukherjee Nagar šŸ“±  9999965857  šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...Call Girls In Mukherjee Nagar šŸ“±  9999965857  šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Call Girls In Mukherjee Nagar šŸ“± 9999965857 šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Ā 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
Ā 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
Ā 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
Ā 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Ā 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Ā 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Ā 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
Ā 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Ā 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Ā 
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļø
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļøcall girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļø
call girls in Vaishali (Ghaziabad) šŸ” >ą¼’8448380779 šŸ” genuine Escort Service šŸ”āœ”ļøāœ”ļø
Ā 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanā€™s ...
Ā 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
Ā 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
Ā 

Microservice architecture at ASOS - CloudBrew/AZUG.be

  • 1. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Microservice Architecture at ASOS Ali Kheyrollahi
  • 2. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Established at 2000 Global Fashion destination for ā€œ20-somethingā€. Hires +2500 staff & +250 in tech (700) Grown average of 35% YoY 39th biggest global online retailer
  • 3. Ā© 2016 ||| ASOS Plc@aliostad @dav3green In Numbers A c t i v e C u s t o m e r s ā†’ 12 M N e w P r o d u c t s / w k ā†’ 4 k U n i q u e V i s i t s / m o ā†’ 123 M P a g e V i e w s / d a y ā†’ 95 M P l a t f o r m T e a m s ā†’ 40 A z u r e D a t a C e n t r e s ā†’ 5 T u r n O v e r 2 0 1 6 ā†’ 1.5b
  • 4. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Nick Beighton - CEO from ā€œIT Cascadeā€ slides - Oct 2014 ASOS - A Tech Company
  • 5. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Stock Price: 2009-2013 More than 2000% growth!
  • 6. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Stock Price: 2009-2014 Multiple IT project failures Tech issues disrupting promotions Overdue features were not delivered
  • 7. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Microservices ā€¦ why?
  • 8. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ā€œCan I haz microservicez?ā€ ā€œIt is all a marketing hoax.ā€ ā€œI dunnoā€¦ā€ The scepticā€¦
  • 9. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Scaling People not the solution ā†“Complexity of each service at the cost of ā†‘overall solution Frequent and independent Deployments Decentralising decision centres Governance and EA is different Auftragstaktik Doctrine is the conceptual underpinning of HOW to think and operate effectively; teaching leaders WHAT to think is dogmaā€¦ Auftragstaktik encourages commanders to exhibit initiative, ļ¬‚exibility and improvisation while in commandā€¦ In what may be seen as surprising to some, Auftragstaktik empowers commanders to disobey orders and revise their effect as long as the intent of the commander is maintainedā€¦
  • 10. Ā© 2016 ||| ASOS Plc@aliostad @dav3green SOA Microservices Main Goal Architectual Decoupling Agility Audience Mainly Architecture Everyone (inc Buisness) Set out to solve Architectural Coupling Scaling People, Frequent Deployment Impact on Structure of Organisation Minimal Huge Service Cardinality Usually up to a dozen >40 (Commonly >100) When to do Always teams > ~5** Law Conwayā€™s Reverse Conwayā€™s
  • 11. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Principles (ASOS) * All queries and commands through HTTP API (No ESB-like pseudo-Microservices!) * Microservices can subscribe to events raised by other Microservices * * Each Microservice owns a business responsibility and deļ¬nes a clear boundary for communication (APIs and Events) They own their data (all access to data through API only) * Each Microservice is realised in one (sometimes more) physical components
  • 12. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Domain Modelling Operating ModelPeople Successful Architecture
  • 13. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Architecture
  • 14. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Journey
  • 15. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Two-speed IT Enterprise Domain Digital Domain ā€¢ Predominantly ā€œBuyā€ ā€¢ Integrated at top tier ā€¢ Minimal Engineering ā€¢ Project-centric ā€¢ Predominantly ā€œBuildā€ ā€¢ Drives sales and customer ā€Ø touchpoint ā€¢ Product-centric ā€¢ Downtime unacceptable
  • 16. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ā¤ASOS
  • 17. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS Tech Stack
  • 18. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Digital Domains & Platforms This is Domain This is Platform Logical Services ā€¢ā€œDomainsā€ are ASOSā€™ organisational structure for managing Platform Teams ā€¢ Platform Teams look after collections of aligned services. They are accountable for the full lifecycle management
  • 19. Ā© 2016 ||| ASOS Plc@aliostad @dav3green
  • 20. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Operating Model Indicative Team Numbers 6 Digital Domains 19 Platforms 35 Dev / Scrum teams 24 Solution Architects 700+ people in Technology (2500 in Asos total) Avg +20 people per month over last year
  • 21. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Governance Bottom-Up Top-Down
  • 22. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Microservice Example: Recommendations
  • 23. Ā© 2016 ||| ASOS Plc@aliostad @dav3green - Recommendations as a destination - Widgets - Personalisation
  • 24. Ā© 2016 ||| ASOS Plc@aliostad @dav3green
  • 25. Ā© 2016 ||| ASOS Plc@aliostad @dav3green 1 x Soft Store (Redis) 5 x Redis Caches 3 x Cloud Services (Microservie) 2 x SQL Databases 5 x Table Storages 1 x External API 1 x Elasticsearch cluster
  • 26. Ā© 2016 ||| ASOS Plc@aliostad @dav3green <SQL> Models <uservice> Recommendations API <uservice> Composition API <uservice> Feedback API <External API> Product Catalogue API <SQL> Signal <Redis> Realtime <Elasticsearch> Catalogue Computation/Retrieval Filtering Faceting Authentication Composition Pagination
  • 27. Ā© 2016 ||| ASOS Plc@aliostad @dav3green LMA Platform
  • 28. Ā© 2016 ||| ASOS Plc@aliostad @dav3green API Application Logging Microservice Component cid ETW cid Thread.CurrentThread.SetLogicalData(ā€¦) [EventSource.ActivityId does not flow over async methods] SLAB Azure Table Storage Sink Application Code cid To other APIs cid Raising Events Listener EC cid IIS Logs
  • 29. Ā© 2016 ||| ASOS Plc@aliostad @dav3green API Performance Microservice Component WAD Windows Azure Monitoring Agent CPC CPC: Custom Performance Counters Inst: Instrumentation Perļ¬t Library SLAB Azure Table Storage Sink Application Code Inst Inst Call to Data Stores or other services CPC
  • 30. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Woodpecker For `Pull` (rather than `Push`) metrics Queue Depth/Size Azure SQL Diagnostics Canaries and Health Endpoints
  • 31. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Logsink API For Native and Web Clients API Logsink /logchannels/<channel> GET /logchannels/channelOne?a=b&c=d HTTP1.1 200 OK Content-Type: image/gif POST /logchannels/channelOne?a=b HTTP1.1 { ā€œcā€: ā€œdā€ } 202 Accepted POST /logchannels/_bulk HTTP1.1 [ {ā€œchannelā€: ā€œā€¦ā€, ā€œpayloadā€: {...} } ] 202 Accepted [ {ā€œstatusā€: 202}, ... ] Channels Config EventHub
  • 32. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ConveyorBelt Performance Counters ConveyorBelt Azure WAD logs ETW Logs Elasticsearch Highly Available Headless Cluster shovelling data to ES Instrumentation Logs IIS Logs Woodpecker Outputs (Pull Logs) Sources Config Up to 1TB/day
  • 33. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Monitoring (Demo)
  • 34. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Alerting Elasticsearch Platform Team LMA Support Watch OAT Spec EC 1st-2nd line Support - xxx EC seen more than 10 times over the last minute. Back-off for 15 minutes - 90th percentile of API response > 100ms over the last hour... Back-off for an hour
  • 35. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Lessons Learnt ā€£In cloud? Design for failureā€¦ ā€œCloud is a Jungleā€ ā€£Network latency & failures add up: understand and optimise time from the user to the data ā€£Using any cloud technology? Forget the hype and trust no one: test, measure, adopt/drop, monitor, engage with your provider ā€£Managing platform costs can be difļ¬cult ā€£Distributed computing is hard, making it geo-distributed even harder ā€£Expect to roll your sleeves up: maturity in a lot of areas is can be low ā€£ (platform, tooling, skills, supporting technologies) but is changing rapidly ā€£At this scale, owning your LMA data and process very important
  • 36. Ā© 2016 ||| ASOS Plc@aliostad @dav3green ASOS is Hiring! If you are intrigued by what we do, we would love to hear from you! Just get in touch with us in twitter @aliostad @dav3green
  • 37. Ā© 2016 ||| ASOS Plc@aliostad @dav3green Q AThank You!
  • 38. Ā© 2016 ||| ASOS Plc@aliostad @dav3green References and external artwork used Adrian Cockcroft talk: Simplifying the future Work in progress: Picture Rusty Rolls Royce: Picture Tesla S Blueprint: Picture Two-Speed (Slow Lane, Fast Lane): Picture Copyright of the artworks listed here belong the owners speciļ¬ed in the links below