Top Banner
Making Komplett BIG By Going Small Making every mistake count
40

Making komplett big by going small

Feb 13, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Making komplett big by going small

Making Komplett BIGBy Going Small

Making every mistake count

Page 2: Making komplett big by going small

Who Are We?

Pavneet Singh Saund

Web Developer

@pavsaund

Tomas Ekeli

Lead Software Architect

@tomasekeli

Page 3: Making komplett big by going small

Let’s talk about...

How we are scaling our architecture, process and organization to meet ever-changing business needs.

Page 4: Making komplett big by going small

Komplett Group

16 web shops

7.3 Billion NOK revenue 2015

1.8 Million active customers

800 Employees

20 Million uniques

Page 5: Making komplett big by going small
Page 6: Making komplett big by going small

In The Beginning

Page 7: Making komplett big by going small

In The Beginning

Page 8: Making komplett big by going small

In The Beginning

Page 9: Making komplett big by going small
Page 10: Making komplett big by going small

We’re in a bad place...

Page 11: Making komplett big by going small

Business Need: “We need a mobile web presence”

Developers: “Sure, we can do that”

Page 12: Making komplett big by going small

Mistake: “Rewrite Everything!”

Page 13: Making komplett big by going small

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

Page 14: Making komplett big by going small

K2 is a Deadly Mountain

Our project did not survive

Page 15: Making komplett big by going small

Learning: “Don’t Rewrite Everything!”

Page 16: Making komplett big by going small

It was a dark time…

Page 17: Making komplett big by going small

They Still Trust Us!

New business-domains.

Great big heap of code.

Can we do this?

but...

Page 18: Making komplett big by going small

Do We Trust Us?

Page 19: Making komplett big by going small
Page 20: Making komplett big by going small

Mistake: “Just Add Developers”

Page 21: Making komplett big by going small

Before Scaling

Page 22: Making komplett big by going small

Spotify Model

Page 23: Making komplett big by going small

The Minion-project

Page 24: Making komplett big by going small
Page 25: Making komplett big by going small

Growing Pains

Page 26: Making komplett big by going small

Komplett As Services

Our architectural vision

A landscape of small Services

Versioning is naming

Consistent deployment

Splitting out services from the monolith

Page 27: Making komplett big by going small

Creating A New Service

Page 28: Making komplett big by going small

Learning: “Services must be cheap”

Page 29: Making komplett big by going small

OK, How Do We Do That?

How can we get all this done?

How do we push more features through the pipeline?

Page 30: Making komplett big by going small

Komplett Model

Page 31: Making komplett big by going small

'

Page 32: Making komplett big by going small

How we communicate

Page 33: Making komplett big by going small

Learning: “Organisation matters”

Page 34: Making komplett big by going small

Mistake: “Just split it into services”

Page 35: Making komplett big by going small

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

Page 36: Making komplett big by going small

Learning: “Services are differenterer”

Page 37: Making komplett big by going small

Where Do We Go From Here?

Fully mandated squads?

More microservices?

Public APIs

More business-areas!

Page 38: Making komplett big by going small

Summary

Scaling is hard

Culture is Crucial

Embrace and learn from failures

We intend to keep failing and sharing as we go.

Page 39: Making komplett big by going small

HAPPYPEOPLEMAKEGREATSTUFF

Asadand'reddeveloperdoesnotagoodsystemdeliver.Havingagreat'meisthebestindicatorofwhetherornotyou'reheadingforsuccess.

Page 40: Making komplett big by going small

Let’s Talk

@komplettdev, http://kodepanelet.no

@pavsaund, http://codingwithempathy.com

@tomasekeli