The challengeAs a leader in the market, Angie’s List was in need of keeping up the quality of its services with the latest demands in the software industry. From a technical perspective, this meant to move from its former monolithic architecture into a system based on microservices capable of complying all of the reactive principles.
The solutionA group of developers joined Angie's List engineering team and started working with them shoulder to shoulder. First, the existent monolith application was decomposed into several independent deployable units. In order to do so, DDD concepts were brought to the table: all different subdomains were identified through the input of domain experts which lead to the definition of bounded contexts and the limits and responsibilities of the new microservices themselves. Microservices were developed using Play, Akka and Slick as main technologies. An Event Bus for performing Event Sourcing was also implemented using Kafka. Additionally, all search features were refactored using ElasticSearch as their engine.
As a final result, we've got a flexible and robust platform tool, that made our client very happy!
The work performed and the knowledge provided by the team was essential for meeting Angie’s List goals. The foundations for a renew cutting-edge system were laid out which reinsured the engagement of its extensive user and customer base and the prosperity of its business operations.