Summary: | hardest tasks that enterprises are facing nowadays. In particular the biggest challenge is to design an agile, self-adaptable and innovative distributed infrastructure that can scale up globally according to the growth of user demand and that can keep low the overall costs. In the last years the Service Oriented Architecture paradigm has clearly become the most used approach to design distributed systems. The reasons of its popularity are connected to the benefits that SOA brings, the most relevant are: loosely coupled architecture, seamless connectivity and interoperability of components, reuse of existing assets and applications, appropriate for integrating legacy systems, parallel and independent service development and easy and effective system maintenance. The Swedish startup True Software Scandinavia AB built the world’s largest collaborative phone directory, Truecaller. It counts over 23 million of users that perform more than half a billion searches each month. The current infrastructure of Truecaller was not designed to hold this demand, therefore a re-engineering of the system architecture is required in order to provide a high quality user experience. This research project presents the benefits that Truecaller would gain by migrating towards SOA and suggests new designs for both the internal system and the REST API that aim to cover all challenges previously mentioned. An important part of this project is also the definition of a structure and rigorous pipeline based on the concept of the Continuous Integration that guides the service lifecycle from development to production. In conclusion, this thesis contributes by designing and developing Truecaller Cluster Management Service, a cluster management service that supports software engineers and administrator with all tasks related to the management of services and their configurations that is planned to be released as an open-source project. The research also provides a roadmap that gives indications of how the current system should evolve and be extended.
|