DEV Community

Greg Lind
Greg Lind

Posted on • Originally published at Medium on

Microservice Architecture in a Nutshell

Our team at Buildly have been building applications and getting better at it, most of the time, for years. We have worked with a variety of technologies, architectural patterns, and best practices have been developed along this period. Microservices is an architectural pattern that has emerged during those years, especially because of containers. Docker is the main actor of all these changes because it has popularized containers and helped us containerizing our applications. I thought I might revisit the core concepts of it and the primary pattern and concept we like the most.

Concept

Microservice architecture is a variant of the service-oriented architecture that organizes an application as a collection of loosely coupled services. These services are responsible for specific tasks and can communicate with each other through simple APIs to solve a larger complex business issue. Summarizing, microservices are a particular technique for developing software systems that attempts to concentrate on structuring single-function modules with well-defined interfaces and operations.

Pros & Cons

Microservices are used to speed up development, feature release, ease scalability; they offer improved fault isolation, etc. If you are developing an application and it has to support a variety of different clients including desktop, mobile browsers and native mobile applications, you must consider implementing your application using microservice architecture.

Microservices also bring complexity to network, testing, deploying, monitoring, etc. Team communication can be hard without using automation and Agile methodology. You also might have to introduce CI/CD tool, configuration management, and application-deployment tool, service mesh, and API gateway to help you with testing, building, shipping, discovering and connecting all services.

Conclusion

Along all these years we have improved the way we develop systems and we’ll keep doing it. If you automate and do everything in the right way, you probably won’t face issues and will love microservices. All software architectural patterns and styles have their pros and cons and microservices architecture isn’t different but it helps us to be more agile.


Top comments (0)