Microservices

Lydtech



Due to their high resilience, high availability, and highly scalable nature, microservices are an enticing implementation option for many problem solutions.

But beneath the simple and elegant surface, microservices mask levels of complexity and failure scenarios which were never a consideration for monolithic systems. We’ve made this journey many times and can navigate you through the potential pitfalls of microservice development

Microservices with Lydtech

Highly Scalable, highly Available

Flexible domain enabling fast feedback

CI/CD Independent life-cycles

Comprehensive Automated Testing

Robustness & Resilience

Validated Business Learning

Accelerated Time to Market

Improved development experience

Expertise in Microservice Delivery

Scale and Learn

Scalability is often cited as one of the greatest benefits of a microservice architecture. With microserives scalability can be achieved in a more efficient manner than with a monolithic architecture. Scaling of microservices is not infinite and is not without cost.

As you scale a service, you also need to scale infrastructure components, scaling increases pressure on dependencies, other services and resources within your eco-system. Can your downstream services handle the extra load? Is your persistence layer able to absorb the increased capacity? When scaling microservices there is a very real risk of not only pushing the problem downstream, but the risk of compounding the problem, and inadvertently creating issues far worse than the initial scaling challenge.

We’ve designed and implemented systems with microservice architectures for high volume systems in finance and government domains. Our knowledge and experience could be the differentiator you need between success and failure.

Parallel Streams

Perhaps the most popular reason for choosing a microservice architecture is the ability to have more people working independently. Smaller teams working on loosely coupled services results in reduced delivery contention. With each microservice having an independent life-cycle, changes can be quickly applied to a live system without the coordination overhead of incomplete and/or unrelated features in other areas of the system. CI/CD pipelines enable us to deploy fast and deploy often, with extensive automated testing giving us the assurances that high quality levels will be maintained.

Paradoxically, despite microservices offering high-levels of availability, by adopting a microservices architecture you are actually increasing the opportunity for failure. A microservice architecture leaves us more exposed to network issues, the interaction between services means we have to deal with dependent services being unavailable, failing to respond, sending delayed responses, duplicate messages…. In short, microservices will fail, and they will do so in many ways you were not expecting. That is why a microservice must be designed for failure.

Lydtech's expertise in developing robust and resilient microservices means that we are familiar with the patterns to ensure that when failures do occur, your system takes them in it’s stride and disaster is averted.

The Outcomes

Freedom to Learn

Adopt and experiment with new technologies without the need for largescale changes. Microservices allow you to use the right technologies for the job

Keep an open mind

Microservices should not be seen as the default architectural choice. A Monolithic architecture is a valid solution, offering simpicity. If you leap into microservices too early the result may be a lot of expensive unpicking and rework. Ensure you know your domain model before choosing microservices

Learn

Validate new ideas in isolation without increasing risk. It's easier and cheaper to spin up independent logic