Migrating to a Service Oriented Architecture: An E-commerce case study
Microservices or Services Oriented Architecture is a modular way of building application software application. This concept of breaking down applications into modular component was popularised by Amazon and Netflix. Pre-SOA, software were written as a single, large entity(monoliths). This entity comprised of everything from registration, authentication, authorization and a slew of other business logic. The problem with building software using this model is that complexity—deployment, testing, debugging, etc—increases exponentially as the software features increases. Microservices, by contrast, not only allows you develop and manage modular entities, it promotes the concept of Single Responsibility this leads to ease in debugging, deployment, testing, etc. Take, for instance, a typical e-commerce property will have components like search, catalogue, orders, checkout, user account. All of this components can be build into microservices and these component are managed by individual teams. During deployment and testing, blockers are removed as each component is developed and deployed independently of other components. This method of development does not only speed up the development process, it encourages continuous integration and continuous deployment. Product features take a shorter period to move from conceptualization to the end user they by increasing user engagement and customer satisfaction.