Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Making Komplett BIG
By 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 Driv...
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
Spl...
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 a...
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.
HAPPY	PEOPLE	MAKE	GREAT	STUFF	
A	sad	and	'red	developer	does	not	a	good	system	deliver.	Having	a	great	'me	is	the	best	
in...
Let’s Talk
@komplettdev, http://kodepanelet.no
@pavsaund, http://codingwithempathy.com
@tomasekeli
Making komplett big by going small
Making komplett big by going small
Making komplett big by going small
Making komplett big by going small
Upcoming SlideShare
Loading in …5
×

Making komplett big by going small

932 views

Published on

Presentation held at NDC Oslo 2016. Video can be seen here: https://vimeo.com/171317265

Published in: Software
  • Be the first to comment

  • Be the first to like this

Making komplett big by going small

  1. 1. Making Komplett BIG By Going Small Making every mistake count
  2. 2. Who Are We? Pavneet Singh Saund Web Developer @pavsaund Tomas Ekeli Lead Software Architect @tomasekeli
  3. 3. Let’s talk about... How we are scaling our architecture, process and organization to meet ever-changing business needs.
  4. 4. Komplett Group 16 web shops 7.3 Billion NOK revenue 2015 1.8 Million active customers 800 Employees 20 Million uniques
  5. 5. In The Beginning
  6. 6. In The Beginning
  7. 7. In The Beginning
  8. 8. We’re in a bad place...
  9. 9. Business Need: “We need a mobile web presence” Developers: “Sure, we can do that”
  10. 10. Mistake: “Rewrite Everything!”
  11. 11. 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
  12. 12. K2 is a Deadly Mountain Our project did not survive
  13. 13. Learning: “Don’t Rewrite Everything!”
  14. 14. It was a dark time…
  15. 15. They Still Trust Us! New business-domains. Great big heap of code. Can we do this? but...
  16. 16. Do We Trust Us?
  17. 17. Mistake: “Just Add Developers”
  18. 18. Before Scaling
  19. 19. Spotify Model
  20. 20. The Minion-project
  21. 21. Growing Pains
  22. 22. Komplett As Services Our architectural vision A landscape of small Services Versioning is naming Consistent deployment Splitting out services from the monolith
  23. 23. Creating A New Service
  24. 24. Learning: “Services must be cheap”
  25. 25. OK, How Do We Do That? How can we get all this done? How do we push more features through the pipeline?
  26. 26. Komplett Model
  27. 27. '
  28. 28. How we communicate
  29. 29. Learning: “Organisation matters”
  30. 30. Mistake: “Just split it into services”
  31. 31. 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
  32. 32. Learning: “Services are differenterer”
  33. 33. Where Do We Go From Here? Fully mandated squads? More microservices? Public APIs More business-areas!
  34. 34. Summary Scaling is hard Culture is Crucial Embrace and learn from failures We intend to keep failing and sharing as we go.
  35. 35. HAPPY PEOPLE MAKE GREAT STUFF A sad and 'red developer does not a good system deliver. Having a great 'me is the best indicator of whether or not you're heading for success.
  36. 36. Let’s Talk @komplettdev, http://kodepanelet.no @pavsaund, http://codingwithempathy.com @tomasekeli

×