No software architect can resist the temptation to talk about their experience with microservices. We launched an interview series with experts who talked about the benefits and challenges of microservices, when people should not use them and what impact they have on an organization. Our third interviewee is Daniel Bryant, Chief Scientist at OpenCredo and speaker at the upcoming JAX London.
In this interview, Daniel Bryant, Chief Scientist at OpenCredo and JAX London speaker, talks about his likes and dislikes about microservices. Here are his answers.
JAXenter: Why did you start using microservices?
Daniel Bryant: I first started using an architectural pattern that was similar to what we now call microservices on a project in 2011. The reason we chose to use a service-oriented approach was due to the early identification of separate areas of functionality within the overall requirements. We also had several teams involved in creating the software (spread across the UK and also Europe), and we believed that dividing the system into well-defined services with clear interfaces would allow us to more efficiently work together on the project.
The development of separate services, each with its own interface, functionality, and responsibilities, meant that once the teams understood and designed the overall system-level requirements and interactions, we could minimise the need for constant inter-team communication. Well-defined service contexts and less communication meant that we delivered valuable software more quickly than if we had all been working (and coordinating) within a single codebase.