Top Banner
18

“Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Jan 22, 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: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.
Page 2: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Decisions of Software Evolution

Page 3: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Taavet Tamm, a developer, nice to meet you.

Page 4: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Let’s get right into the following

● Couple of real-world examples● The abstract of software decisions

Page 5: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Click to edit Master title styleClick to edit Master title styleClick to edit Master title style

We need to make some decisions

Page 6: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Lets build the second application

● RubyOnRails ○ it fits the team○ matches what we’ve built before○ can we deliver fast

● Mongo○ Fits the features of the app

Page 7: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Lets build an app number xx

● NodeJS○ Fits the features ○ Performs well○ Encourages modular approaches

● DynamoDB○ Easy to scale○ Performance

Page 8: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Differences

● Old app is easy to kill and compicated to recover● New app is happily serving 2000 request/second

Page 9: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Microservices

● RabbitMq ● Java

Page 10: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

RabbitMq - A message queue

● Asynchronous communication● Event based communication● Persistent communication● Configurability for future● Proven track record● Clients for several languages

Page 11: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

We chose Java over Ruby

● Can it fit on a cheapest amazon node● Can it provide fast response time● Is the ecosystem mature● Can we build apis in it● Is it evolving or revolutionary

Page 12: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

● JVM - predictable, performant● Fundamentals - threads, objects, annotations● Tooling - IDE, javadoc, debugging, code generation● Lightweight enough (jetty)● Easy to abstract and extract libraries● Load tests are good enough

Page 13: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Click to edit Master title styleClick to edit Master title styleClick to edit Master title style

The evolution

Page 14: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Less building more maintaining

● Scaling● Maintaining infrastructure● Reworking previous features● Working around past mistakes

Page 15: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Click to edit Master title styleClick to edit Master title styleClick to edit Master title style

Conway’s law

Page 16: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Click to edit Master title styleClick to edit Master title styleClick to edit Master title style

Application continuum

Page 17: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Conclusion

● App evolves with the company● Rewriting and maintaining things takes time● Day to day environment influences applications

more than features

Page 18: “Startup - it’s not just an IT project” - a random sampling of problems we’ve faced so far.

Questions?