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.

Conference for Professional Software Developers