From Monolith to Microservices: pitfalls and challenges

Project Problem Domain

Microservices design now have become more prevalent. You can run them on the premises, you can run them in the cloud, and you can run them in edge-computing, but should you? Big corporations like Amazon, Netflix and Uber have been doing Microservices style architecture to varying degrees and have contributed to their popularity in the recent years, but as with any other architectural style and pattern, challenges lie ahead.

Background

I have been working as a software developer for twenty odd years and I have seen ‘new’ technologies come and go. It is very easy – and tempting – for a software developer to jump on the latest shiny technology (living on the bleeding edge) where as there are numerous other concerns that need to be taken into account when dealing with such technologies, and not all of these challenges are technical.

Project Aim

When dealing with Microservices, there are organizational, design and technical challenges ahead. Concerns vary from concepts such as organizational structure, domain decomposition techniques and service boundaries, to a more technical-oriented aspects such as deployment, security and UI integration patterns. This project aims to have a better understanding of the said challenges and research some mitigating strategies on how to deal with them.

Deliverables and Outcomes

The goal is to have a set of challenges identified and suggest a strategy that’d be useful for when moving towards a micro services type architecture. The deliverables will be reflected in the weekly blog post and status reports.

Resources

  • Software Development Journals (e.g. Journal of Systems and Software)
  • Online articles, Technical Blogs and publications
  • White papers
  • Conference Papers