Download - Making komplett big by going small
Making Komplett BIGBy Going Small
Making every mistake count
Who Are We?
Pavneet Singh Saund
Web Developer
@pavsaund
Tomas Ekeli
Lead Software Architect
@tomasekeli
Let’s talk about...
How we are scaling our architecture, process and organization to meet ever-changing business needs.
Komplett Group
16 web shops
7.3 Billion NOK revenue 2015
1.8 Million active customers
800 Employees
20 Million uniques
In The Beginning
In The Beginning
In The Beginning
We’re in a bad place...
Business Need: “We need a mobile web presence”
Developers: “Sure, we can do that”
Mistake: “Rewrite Everything!”
Business Need: Mobile First http://m.komplett.no
Project K2
Code Quality
SOLID
Test-Driven
CQRS
Event Sourcing
Domain Driven Design
Scrum
Pair-programming
New admin pages
New infrastructure
New architecture
New deployment pipeline
K2 is a Deadly Mountain
Our project did not survive
Learning: “Don’t Rewrite Everything!”
It was a dark time…
They Still Trust Us!
New business-domains.
Great big heap of code.
Can we do this?
but...
Do We Trust Us?
Mistake: “Just Add Developers”
Before Scaling
Spotify Model
The Minion-project
Growing Pains
Komplett As Services
Our architectural vision
A landscape of small Services
Versioning is naming
Consistent deployment
Splitting out services from the monolith
Creating A New Service
Learning: “Services must be cheap”
OK, How Do We Do That?
How can we get all this done?
How do we push more features through the pipeline?
Komplett Model
'
How we communicate
Learning: “Organisation matters”
Mistake: “Just split it into services”
OK, How Do We Do That?
How do we keep it running?
Caching
Performance tests
Independently scaling services
Health-checks and monitoring
Central logging service
Learning: “Services are differenterer”
Where Do We Go From Here?
Fully mandated squads?
More microservices?
Public APIs
More business-areas!
Summary
Scaling is hard
Culture is Crucial
Embrace and learn from failures
We intend to keep failing and sharing as we go.
HAPPYPEOPLEMAKEGREATSTUFF
Asadand'reddeveloperdoesnotagoodsystemdeliver.Havingagreat'meisthebestindicatorofwhetherornotyou'reheadingforsuccess.
Let’s Talk
@komplettdev, http://kodepanelet.no
@pavsaund, http://codingwithempathy.com
@tomasekeli