Cloud native organizations like Amazon, Google, Uber and Netflix are disrupting traditional industries by breaking the status quo and generating better customer experience. Regardless of business domains, simpler user interface, contextual and persona-based interactions, and most importantly, omni-channel experience with zero-down time service availability are key business success factors for these organizations. The role of new-age technology enablers like APIs, microservices, DevOps and cloud is key in driving success for these organizations. Organizations that are running applications on legacy IT assets may find it difficult to compete with digital native organizations. Inability to adapt to technologies can be detrimental to once very successful companies. Rapid technology adoption is critical for survival.
API is a programmatic interface typically expressed in JSON or XML, which is exposed via the web—most commonly by means of an HTTP-based web server. API helps to collaborate with internal and external partners (including B2B scenarios) by providing programmatic and secure access to its value streams. By using these APIs, organizations can harness rapid innovation by tapping into the developer community to build meaningful products.
Every organization’s API journey has an important role for API management tools. They provide versioning of the API, secured endpoints, sandboxes and developer portal to onboard and manage developers. They also provide the mechanism to consume and cross-pollinate APIs. The consumption model of APIs is majorly centered on REST-based architecture inspired by HTTP, technology that built the web. The messages exchanged are predominantly on JSON, an open-standard file format that uses human-readable text to transmit data. There are new technologies like GraphQL and gRPC complementing Rest / JSON. They enable data exchange patterns like fine-grained tailored response to reduce network latency, efficient data management over network for bulk data transferring, and bi-directional communications for data streaming.
APIs facilitate secured ways of connecting organizations’ business capabilities to the external world. These assets need to perform at internet scale, with almost zero downtime, millisecond response time and incremental capability to add features continuously. Today, the main challenge for many large organizations is to migrate and modernize their core systems to scalable and resilient container-based modern systems. In addition, years of coding, lack of documentation and multiple hands in development have created spaghetti codes and hard dependencies between modules, thereby making it very difficult to support incremental feature releases. To overcome these challenges, one must break these applications into multiple business modules and create stateless applications, which can be containerized and replicated as many times as needed. These modules should talk to each other using API and developers should be able to build these modules with the best technologies available. Large-sized databases can then be partitioned to replicate business domains and allow efficient read and write. This is the essence of microservices.
Previously, with limited network bandwidth, costly hardware and storage, it was difficult to build high-performing infrastructure. However, public cloud offers virtually an infinite pool of hardware, push button scalability and just-in-time availability, all at lesser investments. It helps microservices-based architecture to achieve zero-downtime resiliency even with a limited budget. Even if a module fails, the application still keeps running. Frameworks like Spring Boot, Kubernetes, Docker, Hapi.js and many others are helping developers increase productivity and reduce boilerplate codes. Complementary technology themes like DevOps and CI/CD are enabling quicker time-to-market. However, microservice-based architecture is not a silver bullet. It has made applications a decentralized federation of modules, which is daunting task to engineer, monitor and manage. It's heavily dependent on network, which is not bottomless and does choke if not designed properly.
Across industries, API and microservice adoption is driven by various use-cases starting from digital innovation to collaboration to organizational efficiency. Irrespective of these drivers, the success of an API & microservices implementation lies in the approach taken to create an ecosystem that can foster innovation. This ecosystem is based on 5 pillars as mentioned below.
Technology driven innovation and business strategy has become the quintessential model for enterprises. Business API, if done right, can provide powerful momentum for enterprise digital growth, while microservices-based architecture will provide zero down-time experience.
Dibyendu Ballav
Head, Application and Middleware Modernization, Wipro Ltd.
Dibyendu has been with the IT services industry for over 19 years, with expertise in integration architecture and consulting. He has led digital transformation programs for global clients across industries. In his current role, Dibyendu helps clients accelerate their digital journey by leveraging application and middleware modernization.
Arijit Mazumdar
Senior Architect, Integration Services, Wipro Ltd.
Arijit has over 18 years of IT industry experience in architecture. He is a seasoned architect in middleware technologies, cloud, API and microservices and has delivered large programs to clients across the world. In his current role, Arijit is leading the Centre of Excellence for application modernization and helping customers throughout their digital journey.