Winfred Peereboom - Architecture for the future

14
Architecture for the future Winfred Peereboom, [email protected]

description

Tweakers.net Developers Summit - Winfred Peereboom - Architecture for the future.

Transcript of Winfred Peereboom - Architecture for the future

Page 1: Winfred Peereboom - Architecture for the future

Architecture for the future

Winfred Peereboom, [email protected]

Page 2: Winfred Peereboom - Architecture for the future

Imagine this

You are in charge of the architecture

Page 3: Winfred Peereboom - Architecture for the future

What are the requirements

A website for selling shoes

Site can handle a lot of traffic

Marketing must have good traffic insight

Connected to the backoffice for orders

Good uptime

Vague requirements…….. As always, we developers say

Page 4: Winfred Peereboom - Architecture for the future

Many difference in definition of architecture

Information architecture

Application architecture

Software architecture

Page 5: Winfred Peereboom - Architecture for the future

TheoryScalability

Modifiability

Simplicity

Reliability

Performance

Software Architecture in Practice by Len Bass, Paul Clements, Rick Kazman, Ken Bass.

Page 6: Winfred Peereboom - Architecture for the future

Practice. Make our technology stack

Should do the job…

Page 7: Winfred Peereboom - Architecture for the future

Conclusion so far..Theory is to vague to make a good selection in components

Just pick some hot stuff doesn’t feel good

Will I be really ready

for the future?

Page 8: Winfred Peereboom - Architecture for the future

Still got some questions..

Who is going to maintain the components?

Do I really need so much functionality

What is the time schedule for this to implement?

How do I get everything under control?

Problems that you just don’t want to have

Page 9: Winfred Peereboom - Architecture for the future

Let’s keep close to the facts

Development team

Sysadmin

Organization

Page 10: Winfred Peereboom - Architecture for the future

Important criteriaMeet concrete requirements (if they are there)

Stable and in Repository

Knowledge available (documentation, best practises, internal/external development)

Learning curve for a component

Is the technology proven for my goal

How much do I use of the component functionality

Page 11: Winfred Peereboom - Architecture for the future

The component selection

Meet recuiremtns

Stable version

Repository

Documentation

Accepted by developers

Internal indept knowledge

Sysadmin can maintain

External developers available

Proven technology

Hadoop, Hive -/+ - + - - - +/- - -Filelogging -/+ + + + + + ✔

VNU Media issues with Hadoop

No failover for Hadoop’s namenode

From PHP hard to append to Hadoop filesystem

Page 12: Winfred Peereboom - Architecture for the future

Architecture for the near future

Page 13: Winfred Peereboom - Architecture for the future

Things to keep in mind

There can be requirements that needs “state of art” components or even unstable, but be very very careful.

Focus on abstraction in code, so you can change

Keep track of updates of your components during development

Don’t let business requirements instantly change your mind about a component

Never stop experimenting with new tools and components, maybe it can make your architecture better in the future.

Page 14: Winfred Peereboom - Architecture for the future

It’s better to create an architecture that lasts

for one year, than trying to create an

architecture that lasts for ten years.

Stefan Priebsch