Journey to APIs and Microservices: Best practices from successful transformations

To survive today, companies are asking themselves 'How can we be more agile in meeting customer needs?'' Wikipedia defines Agility as 'The capability of rapidly and cost efficiently adapting to changes'. Gartner defines Agility as 'The ability of an organization to sense environment change and to respond efficiently and effectively to it'.

Full abstract

Agility is enabled by systems that are flexible and extensible.

IEEE Standard Glossary of Software Engineering Technology defines Flexibility as the ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed. and Extensibility as the ease with which a system or component can be modified to increase its functional capacity.

As customer needs evolve, flexibility helps with composing features and applications rapidly from using API, and extensibility helps in introducing the required changes quickly by making changes in services.

The challenge many companies have today is that they have built systems primarily as monoliths during a stage of their evolution, or have several services but they are tightly coupled. Satisfying a customer need even though the functionality already exists can take significant effort and cost.

Companies are therefore moving to APIs and microservices to address this business imperative. While many initiate this journey, most of them don’t end up with the intended outcomes - they falter or fail and go through many iterations.

This talk will share principles, best practices and approaches - across architecture, organizational and cultural - that have been applied in transforming companies such as eBay, PayPal and Intuit to APIs and Microservices.