Presentation: Microservices: software that fits in your head
Software gets complicated fast. Most of good architecture and design practise is about trying to slow the rate at which software gets complicated. You can’t stop it, it’s a form of entropy. You can only slow it down and do your level best to stay on top of things.
One way to manage the mess is to maximise the likelihood that everyone knows what’s going on in the codebase. This requires two things: consistency and replaceability. Consistency implies you can make reasonable assumptions about unfamiliar parts of the application. Replaceability means you can kill code easily and replace it with something better.
Dan North argues that code should either be new enough that someone remembers writing it, or well-enough established that everyone knows how it works. It’s code in that awkward middle stage, between brand new and part-of-the-furniture, that gets forgotten about and starts to smell. If code is going to die it should die quickly. If it is going to stick around it should be stable.
In this talk, Dan describes a model for thinking about the age of code and argues for replaceability as a first class concern. He also discovers that if you optimise for both replaceability and consistency you can end up with something that looks a lot like microservices.
Tracks
Covering innovative topics
Wednesday, 4 March
-
Architecture Improvements
Next gen architecture, Arch over the full lifecycle, Bleeding edge tech in legacy, Cognitive biases in architecture, Evolving Architecture.
-
Big Data Frameworks, Architectures, and Data Science
As big data tools and architectures continue to evolve, how do you architect and select technologies that work now but are also future-proof?
-
DevOps and Continuous Delivery: Code Beyond the Dev Team
As infrastructure becomes as malleable as code, a unified approach from reqs to ops is needed to deliver promised breakthroughs.
-
Engineering Culture
The best teams and companies talk about how to create amazing engineering cultures.
-
Java - Not Dead Yet
Java is evolving to meet developer and business needs, from lambdas in Java 8 to built-in support for money types rumoured for Java 9.
-
Mind Matters at Work
How theories from neuroscience and psychology can help us better understand IT professionals and discover what really motivates them.
Thursday, 5 March
-
Docker, containers and application portability
People building stuff for and with containers showing why application portability is important, and what can be done with expanding ecosystems.
-
Evolving agile
Reflecting on and learning from successes and failures in applying agile approaches since the creation of the Agile Manifesto and exploring ways of applying agile practices to increase business value.
-
HTML and JS Today
The state of the art in web technologies. What is important to know and why?
-
Internet of Things
What software devs need to know to design and build for instrumented environments and reactive things, what new issues and questions it raises.
-
Modern CS in the Real World
How modern CS helps you tackle today's problems.
-
Reactive Architecture
How to create reactive systems is more than simply learning a framework. Thinking in a reactive way helps you to design responsive architectures.
-
The Go Language
The Go Language - Concurrency, Performance, Systems Programming.
Friday, 6 March
-
Architectures You've Always Wondered About
Get a rare look behind the scenes and get to see the architectures of the most well-known sites with the least known architectures.
-
Low latency trading
The 'race to zero' continues. Join us to learn about the latest tecniques being deployed to optimise order routing and execution.
-
Open source in finance
Financial services have changed from OS as cost-saving to a competitive weapon. See open source projects that are disrupting the finance industry.
-
Product Mastery
Come have fun with fellow PMs and BAs as you learn about Value Management. We'll even tell you dark tales of Snarks, Hippos and other obstacles.
-
Taming Microservices
Tackling the challenges of microservices in practice.
-
Taming Mobile
Mobile is no longer the Next Big Thing but a requirement for your business. Hear from those who have implemented successful mobile systems.