Making komplett big by going small

Post on 13-Feb-2017

705 views 0 download

Transcript of 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