Popular configuration mechanisms like conf.d pose multiple problems when trying to converge system configuration using configuration management tools. Ish-Shalom proposes five design principles for configuration that prevent those problems. The core ideas being the use of a configuration API and the separation of configurations based on the type of system updates they require.
Domain-Driven Design (DDD) is an approach to building software emphasizing collaboration between domain experts, developers and others involved in order to meet business objectives, Naresh Bhatia explains introducing the DDD base concepts exemplifying with Bullsfirst, an example system of medium complexity from the financial trading domain.
Structuring data as a stream of events is an idea appearing in many areas and is the ideal way of storing data. Aggregating a read model from these events is an ideal way to present data to a user, Martin Kleppmann claims explains when describing the fundamental ideas behind Stream Processing, Event Sourcing and Complex Event Processing (CEP).
Randy Shoup shared his experiences to the QCon London audience in scaling services at Google and eBay, giving advice on building and operating services. A successful services strategy requires end-to-end service ownership, decentralized decision-making and standardization efforts focused on protocols of communications and supporting infrastructure.
The Yelp engineering team have stated that moving to a service-oriented architecture has allowed them to scale their development process and maintain a rapid pace of software delivery as the team and codebase has grown. This has been achieved by focusing on distributed systems education, creating a set of basic service design principles and implementing a supporting infrastructure.
Business process management software provider Effektif today announced the open sourcing of their workflow engine. The new model allows developers to include Effektif workflows from within their applications via Java and REST APIs
Matt Ranney, Chief Systems Architect at Uber, gave an overview of their dispatch system, responsible for matching Uber's drivers and riders. Ranney explained the driving forces that led to a rewrite of this system. He described the architectural principles that underpin it, several of the algorithms implemented and why Uber decided to design and implement their own RPC protocol.
At QCon London 2015 Phil Calcado shared lessons learnt from SoundCloud’s move from a monolithic to microservices architecture, and stated that the core requirements for building a microservice platform include developing capabilities for rapid provisioning, basic monitoring and rapid application deployment.
After living with microservices for three years at Gilt we can see advantages in team ownership, boundaries defined by APIs and complex problems broken down. Challenges still exists in tooling, integration environments and monitoring, Yoni Goldberg explained in a presentation at the QCon London conference describing the challenges they encountered moving to a microservices architecture.
Microservices are conceptually too big; they conflate optimizing for organisational and technical factors, but solutions to problems of each type may not fit together very well, Phil Wills, senior architect at The Guardian, explained in a presentation at the QCon London conference promoting thinking about independent services and single responsibility applications, rather than microservices.
Twitter's Answers is an analytics service for mobile apps that has come to see five billion sessions per day. Ed Solovey, software engineer at Twitter, has described how their system works to provide "reliable, real-time, and actionable" data based on hundreds of millions of mobile devices sending millions of events every second.
The goal of software is to sustainably minimize lead time to positive business impact, everything else is detail, Dan North claimed in a presentation at the QCon London conference describing ways of reasoning about code and how this leads him into an architecture style that may fit microservices.
At the last QCon London, Michael Brunton-Spall, Technical Architect at the UK's Government Digital Service, expressed his views on how DevOps patterns are crucial to successfully operate microservices. Brunton-Spall identified the key ingredients to identify a microservice, explained how to build your first microservice and the necessary tools and practices to manage an ecosystem of microservices.
When designing and building Halo 4, the next version in a video game series, a new solution was created based on the Actor model implemented by the Orleans framework. Caitie McCaffrey told in a presentation at the QCon London conference talking about the work designing and building the services supporting the new game.
Measuring software complexity is a popular and common activity among the software development community, judging by the number of tools built over the years and the literature around the subject. Drawing from his blend of engineering and psychology backgrounds, Adam Tornhill proposed to its audience at QCon London to treat their code as a crime scene, with the help of version control tools.