Next2011 Architecture for the 10^x

31
Architecture for 10^X 3d-scaling for real world problems Donnerstag, 26. Mai 2011

description

This is @KnisterPeter and my talk we held at next2011 conference in Berlin.

Transcript of Next2011 Architecture for the 10^x

Page 1: Next2011 Architecture for the 10^x

Architecture for 10^X3d-scaling for real world problems

Donnerstag, 26. Mai 2011

Page 2: Next2011 Architecture for the 10^x

Who we are

Markus Wolf, @KnisterPeterSenior Developer, SinnerSchrader

2

Meno Abels, @fastandfearlessDirector, SinnerSchrader

Donnerstag, 26. Mai 2011

Page 3: Next2011 Architecture for the 10^x

Architecture is important

Choosing an architecture has impact in several dimensions

Donnerstag, 26. Mai 2011

Page 4: Next2011 Architecture for the 10^x

Development

Donnerstag, 26. Mai 2011

Page 5: Next2011 Architecture for the 10^x

Operation

Donnerstag, 26. Mai 2011

Page 6: Next2011 Architecture for the 10^x

Maintaince

Maintenance

Donnerstag, 26. Mai 2011

Page 7: Next2011 Architecture for the 10^x

We want to sell our store-specific range of goods to our customers online

Customers should be able to collect these items within a appointed timeframe

In other words: “Click & Collect”

Sounds easy.

Our Briefing from

Donnerstag, 26. Mai 2011

Page 8: Next2011 Architecture for the 10^x

Wait: store-specific?

Donnerstag, 26. Mai 2011

Page 9: Next2011 Architecture for the 10^x

2*10^4 products4*10^2 shops (potential for up to 3*10^3)

... and adding:_unique prices and product-attributes per shop_subset catalogs for specific product lines

(e.g. Bio/Rewe-Feine-Welt/Angebote)_personalized catalog

We need to have as much webshops as real shops providing this service.

    

What else?

Donnerstag, 26. Mai 2011

Page 10: Next2011 Architecture for the 10^x

Personalized Catalog for each customer?

Donnerstag, 26. Mai 2011

Page 11: Next2011 Architecture for the 10^x

No standard shop software will meet these requirements

The Establishment will fail

Donnerstag, 26. Mai 2011

Page 12: Next2011 Architecture for the 10^x

We have a mission

Accept the challenge and think yourself

Donnerstag, 26. Mai 2011

Page 13: Next2011 Architecture for the 10^x

Use memory extensively=> around 10^6 faster than disks

Scaling in 1DHardware

Donnerstag, 26. Mai 2011

Page 14: Next2011 Architecture for the 10^x

Use parallel algorithms=> leverage multicore cpu

Scaling in 1DHardware

Donnerstag, 26. Mai 2011

Page 15: Next2011 Architecture for the 10^x

Use stateless components=> less error prone multithreading

Scaling in 1DHardware

Donnerstag, 26. Mai 2011

Page 16: Next2011 Architecture for the 10^x

Use view optimized Business Objects=> no transformation for view rendering

Scaling in 1DHardware

Donnerstag, 26. Mai 2011

Page 17: Next2011 Architecture for the 10^x

=> more requests per Server Instance (approx. 100 per second)

Scaling in 1DHardware

Donnerstag, 26. Mai 2011

Page 18: Next2011 Architecture for the 10^x

Scaling in 2DServer Instances

Donnerstag, 26. Mai 2011

Page 19: Next2011 Architecture for the 10^x

Scaling in 2DServer Instances

“Stateless Statefullness”_No server-side state_All state on client

Donnerstag, 26. Mai 2011

Page 20: Next2011 Architecture for the 10^x

Shared Nothing

„Kind of“ SOA

This means easy load-balancing=> weʼre cloud-ready!

Scaling in 2DServer Instances

Donnerstag, 26. Mai 2011

Page 21: Next2011 Architecture for the 10^x

Scaling in 3DClient Computer

Donnerstag, 26. Mai 2011

Page 22: Next2011 Architecture for the 10^x

Scaling in 3DClient Computer

Use client storage _Persist private data into browser_Caching of product data

Donnerstag, 26. Mai 2011

Page 23: Next2011 Architecture for the 10^x

Scaling in 3DClient Computer

Donnerstag, 26. Mai 2011

Page 24: Next2011 Architecture for the 10^x

Scaling in 3DClient Computer

Less server cycles_Gaining performance independent from server side_Green-IT

Donnerstag, 26. Mai 2011

Page 25: Next2011 Architecture for the 10^x

=> Less requests, faster user experience, happy users!

Scaling in 3DClient Computer

Donnerstag, 26. Mai 2011

Page 26: Next2011 Architecture for the 10^x

Scaling in RealitySimple Case

Donnerstag, 26. Mai 2011

Page 27: Next2011 Architecture for the 10^x

Enterprise toolchain

Donnerstag, 26. Mai 2011

Page 28: Next2011 Architecture for the 10^x

Future Proof

Donnerstag, 26. Mai 2011

Page 29: Next2011 Architecture for the 10^x

Server-Software lines of code <2*10^4 (common > 5*10^4)

Client-Software lines of code < 10^4(no one should need more)

Development Effort approx. (5*10^1) % (compared to traditional approach)

Deployment 3 Systems**Cost of operations per year is C.H.E.A.P.

Cost per user/year is roughly about:

The Result

Donnerstag, 26. Mai 2011

Page 30: Next2011 Architecture for the 10^x

The Result

Donnerstag, 26. Mai 2011

Page 31: Next2011 Architecture for the 10^x

Be careful!

Thank you.Donnerstag, 26. Mai 2011