Designing API-First Enterprise Architectures on Azure - Subhajit Chatterjee - E-Book

Designing API-First Enterprise Architectures on Azure E-Book

Subhajit Chatterjee

0,0
39,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

API-centric architectures are foundational to delivering omnichannel experiences for an enterprise. With this book, developers will learn techniques to design loosely coupled, cloud-based, business-tier interfaces that can be consumed by a variety of client applications.
Using real-world examples and case studies, the book helps you get to grips with the cloudbased design and implementation of reliable and resilient API-centric solutions. Starting with the evolution of enterprise applications, you'll learn how API-based integration architectures drive digital transformation. You'll then learn about the important principles and practices that apply to cloud-based API architectures and advance to exploring the different architecture styles and their implementation in Azure. This book is written from a practitioner's point of view, so you'll discover ideas and practices that have worked successfully in various customer scenarios.
By the end of this book, you'll be able to architect, design, deploy, and monetize your API solutions in the Azure cloud while implementing best practices and industry standards.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 303

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Designing API-First Enterprise Architectures on Azure

A guide for architects and developers to expedite digital transformation with API-led architectures

Subhajit Chatterjee

BIRMINGHAM—MUMBAI

Designing API-First Enterprise Architectures on Azure

Copyright © 2021 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Group Product Manager: Richa Tripathi

Publishing Product Manager: Kushal Dave

Senior Editor: Ruvika Rao

Content Development Editors: Ananya Endow, Kinnari Chohan

Technical Editor: Pradeep Sahu

Copy Editor: Safis Editing

Project Coordinator: Ajesh Devavaram

Proofreader: Safis Editing

Indexer: Subalakshmi Govindhan

Production Designer: Alishon Mendonca

First Published: July 2021

Production reference: 1160721

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-80181-391-4

www.packt.com

To my mother, Krishna Chatterjee, and my father, the late Nirmalendu Chatterjee, whose countless sacrifices have made me the man that I am today.

To my elder brother, Abhijit, without whose support and guidance I wouldn't have come this far.

To my loving wife, Tamanna, for believing in me and keeping me motivated.

To my daughter, Tanusha, who makes me a proud father.

– Subhajit Chatterjee

Contributors

About the author

Subhajit Chatterjee completed his bachelor's degree in engineering from NITK, Surathkal, India, way back in 2002. He also holds a postgraduate diploma in information technology from Amity University. Aside from this, he has undertaken various other online certifications that have helped him to learn and grow as a software engineering professional.

Subhajit has close to two decades of exposure to designing, implementing, and managing software development projects, using Microsoft and open source technologies. He currently works as a solutions architect with Microsoft Consulting Services, leading large and complex projects in Azure, IoT, enterprise integrations, web applications, and mobility space.

Subhajit loves to solve problems and has had the privilege of working with customers across the globe. He is passionate about sharing what he learns with the community. He believes in continuous learning and enjoys coaching and mentoring others for professional enrichment.

I wish to thank the people who have been close to me and supported me, especially all my colleagues and mentors who have shared their knowledge and experiential learning with me.

About the reviewer

Niloshima Srivastava has around 12 years of experience working as Software Architect in a Product Based Organization. She is a graduate in CSE and holds several Cloud Certifications on Azure/AWS. She has been an evangelist when it comes to Microsoft platforms, augmented by being a hands-on developer, solution architect, and outstanding illustrator of design concepts and methodology. Not the least but proven track records even in training and orchestrating what she has learned to new rising developers across various platforms on various forums.

Table of Contents

Preface

Section 1: API-Led Architecture in the Digital Economy

Chapter 1: Evolution of Enterprise Solution Architectures

History of application architectures in an enterprise

From monoliths to SOA and microservices

IT strategies in the modern world

Outlook for digital transformation

The emergence of API-led architectures

The complexity problem

The importance of API-led architecture

Case study

About Packt Insurance Inc.

Summary

Further reading

Chapter 2: APIs as Digital Connectors

The connected enterprise

The role of APIs in digital experiences

Major benefits of API-led connectivity

APIs serve as digital enablers for an enterprise

An API is a digital service

API architecture within an enterprise

API classification by management and access pattern

Packt Insurance Inc. – an API-led architecture strategy

Domain decomposition

Service and persona map

API composability using microservices

Summary

Further reading

Section 2: Build Reliable API-Centric Solutions

Chapter 3: Architecture Principles and API Styles

Architecture principles

Evolve architecture blueprints iteratively

Constructs of an API

API operations or service contract

Data contract or entity schema

API endpoint

Communication protocol (application layer)

Input and output – the request-response pair

Popular API architecture styles

The tunneling or RPC style

RI (or REST) style

Query or GraphQL style

Event-driven or asynchronous messaging style

Hypermedia style

Other API styles

Finding the right style for your API use cases

Serverless APIs – accelerators for innovation

Benefits of using serverless computing for APIs

Serverless architecture use cases

Implementing API-led architectures in Azure

Reference architecture for an enterprise API platform

Azure services for hosting API solutions

Service Fabric

Additional services for building end-to-end solutions

Case study elaboration – Packt Insurance Inc.

API style fitment analysis

Microservices and API styles

API platform architecture

Summary

Additional reading

Chapter 4: Assuring the Quality of the API Service (or Product)

The ISO 25010 standard for software product quality

Functional Suitability

Operability/Usability

Reliability

Performance Efficiency

Security

Compatibility

Maintainability

Portability

Architecture Tradeoff Analysis Method (ATAM)

The Azure Well-Architected Framework

Benefits of using WAF

WAF recommended practices

API security considerations

Core principles – the Security Frame analysis

The Security Development Lifecycle (SDL)

Reliability through scale, performance, availability

Site Reliability Engineering (SRE)

How do you ensure appropriate reliability?

Commonly used SLOs for an API service

Defining, implementing, and measuring SLI metrics for an API platform

Using SLIs to calculate the initial SLOs for your API service

Modeling performance based on scale requirements

The API (or application) performance management lifecycle

Checklist for development teams

High-availability patterns

High-availability calculation

Architecting for operations

Logging, monitoring, and alerts

Feature flags

Understanding maintainability

Proactive maintainability

Reactive maintainability

Tracking objectives using a quality dashboard

Case study elaboration – Packt Insurance Inc.

Important SLOs for the API platform

Architecture backlog – focus on quality and handle technical debt

Summary

Further reading

Chapter 5: RESTful APIs – the New Web

Technical requirements

Understanding RESTful APIs

Using HTTP verbs for your CRUD actions correctly

History of inter-machine application communication

REST architecture constraints

Advantages and challenges of building a RESTful API

Advantages

Common challenges

Exploring the checklist for building RESTful APIs

Contract-first design for your REST APIs

OpenAPI Specification

OpenAPI definition file format

Visualizing the API definition file using the Swagger extension in VSCode           

Summary

Further reading

Chapter 6: API Design Practices

Understanding API design considerations

Coupling

Chattiness

Client complexity

Cognitive complexity

Caching

Discoverability

Versioning

Exploring recommended practices

Design should adhere to the SOLID principles

Design should be flexible to change

Use the Decision Analysis and Resolution technique

Produce documentation as per industry standards

Secure by design

Optimized for response time

API testing

Size and granularity

Content negotiation

Prefer stateless over stateful services

User-digestible response codes and messages

Using cloud design patterns

Implementing an API service using design patterns

Data-driven CRUD API

Command and Query Responsibility Segregation (CQRS)

Event Store API (Event Sourcing)

Clean architecture

Backends for Frontends (BFF)

Developer toolbox

Summary

Further reading

Chapter 7: Accelerating through DevOps Essentials

Business objectives and key results

The DevOps Dojo framework

The benefits of having a good DevOps strategy

DevOps metrics and their importance

Identifying the maturity index for your enterprise

The power of GitHub and Azure DevOps

DevOps in practice

Capability – continuous planning

Capability – continuous integration

Capability – continuous delivery

Capability – continuous operations

Capability – continuous quality

Capability – continuous security

Capability – continuous collaboration

Capability – continuous improvement

Pillar – culture

Pillar – lean product

Pillar – architecture

Pillar – technology

Tracking DevOps initiatives in the backlog

Summary

Further reading

Section 3: Deliver Business Value for a Modern Enterprise

Chapter 8: API-Centric Enterprise Integrations

Exploring EAI

Key initiatives toward a digital enterprise

Modernizing legacy applications using APIs

API use cases in the enterprise

The rise of iPaaS

What is an iPaaS platform?

Types of integrations

Benefits of iPaaS

iPaaS architecture for the Azure cloud

Implementing EAI patterns using iPaaS

API management

API gateways

API publishing, control, and governance

Developer portal

API versioning and life cycle management

Analytics and metrics

Understanding Azure Integration Services

iPaaS building blocks of Azure – explained

Using Azure Integration Services

Summary

Further reading

Chapter 9: APIs as a Monetized Product

APIs as digital assets

Growth of the API economy

The API value chain

Exploring business drivers of monetization

Expand the channels of revenue streams

Capture analytics for improved marketing strategies

Enhance brand value through customer loyalty

Foster innovation through new product capabilities

Stay relevant in the marketplace

API monetization models

Free

Consumer pays

Consumer gets paid

Indirect monetization

API productization in Azure

Requirements summary

Solution approach

API products and publishing in APIM

Subscription management

API consumption – rate limits and quotas

Measuring API consumption

API analytics

Summary

Further reading

Why subscribe?

Other Books You May Enjoy

Preface

Rapid adoption of cloud technologies has revolutionized the way modern-day applications are architected and implemented. Solution architects and IT decision-makers are constantly faced with the challenge to quickly adapt to the latest technology trends to establish a competitive advantage in the marketplace. Gartner has predicted that by 2025, about 80% of enterprises will have shifted their operations to the cloud. Hence, it has become even more imperative that enterprises pay attention to their digital transformation roadmaps to benefit from their cloud-first and mobile-first initiatives. Tactically, this means a lot of changes on the ground, including reinventing business processes, adopting agile and DevOps best practices, and even embarking on the modernization of operations.

API-led architecture is not something new – rather, it has just become a lot more relevant and important in today's world. Cloud computing offers three key benefits: flexibility, efficiency, and strategic value. API-led connectivity has changed the way enterprises interact with their customers and partners. Customers today are very demanding. They expect businesses to be agile and adapt to their demands. They prefer a simple and intuitive approach to meeting their needs. They are open to the use of technology and apps to get the job done in just a few steps. Thus, enterprises are required to utilize the insights derived from analyzing customer behavior as the basis for their digital innovation strategies.

Over the past few years, I have worked with multiple enterprise customers to define their blueprints for a robust and reliable API-led solution. However, the common challenge has been in getting them to understand the benefits of this approach, as it requires some initial investment and work prioritization. It was always a hard sell unless the key stakeholders had prior experience with implementing solutions using a service-oriented architecture (SOA) approach. Many lacked the appetite to incur any additional complexity on top of what they were used to. It was also a revelation to me that teams weren't too well versed in the concept of microservices. Everybody wanted to do it, but nobody seemed to know how to approach it. A few believed that splitting a large monolith into smaller services was, in effect, building microservices. While this was still a good starting point, it lacked a futuristic vision, as the many other aspects of a microservices architecture were not considered as part of the design process. The technical teams were also getting used to the new way of building solutions and would often miss out on the fundamentals, leading to problems later in the life cycle. Teams often lacked a production-first mindset as many of the important architecture-critical requirements were deferred to later.

In this book, it has been my endeavor to provide a glimpse of the "whole nine yards" that is essential for the successful delivery of an API-led enterprise solution. This book focuses on the latest emerging trends in the industry, supplementing theoretical concepts with real-world scenarios and examples to help you grasp the concepts more easily. The book touches upon the important principles and practices that can eventually serve as a checklist for development teams. While I have used the Microsoft Azure cloud as the platform of choice, the topics discussed are valid even for a multi-cloud scenario as well.

After reading this book, you will be well versed in how to architect, design, implement, deploy, and maintain a digital service.

Who this book is for

This book is meant to serve as a ready reckoner for solution architects, developers, and IT and business decision-makers as they are taken through a journey showing how to approach their API-led connectivity requirements. The book has been written from a practitioner's point of view, with lots of tips, practical guidance, and additional references that will surely provide clarity of thought for developers, allowing them to confidently prepare for their next API-first architecture implementation.

What this book covers

Chapter 1, Evolution of Enterprise Solution Architectures, gives you a background on the evolution of enterprise architectures, from SOA to a more microservices-based approach, and discusses how the adoption of open standards will help advance the building of interconnected experiences in the evolution process.

Chapter 2, APIs as Digital Connectors, walks you through the concept of a connected enterprise, emphasizing the role and importance of APIs in fueling the growth of the digital economy.

Chapter 3, Architecture Principles and API Styles, provides an overview of important architecture principles that are the basis for the foundation of any API platform. The chapter also covers the popular architecture styles that are frequently used in an enterprise and how they can be implemented in the Azure cloud.

Chapter 4, Assuring the Quality of the API Service (or Product), focuses on the quality attributes that are critical for the success of API solutions. It also explains how to make use of the Azure Well-Architected Framework to design, implement, and measure the quality of service for your API solutions.

Chapter 5, RESTful APIs – The New Web Standard, covers some of the best practices that must be followed while designing and implementing RESTful-style API interfaces, which are becoming a new web standard.

Chapter 6, API Design Practices, discusses the important design practices that must be followed while building your API-centric solutions. It also briefly covers the different patterns that are commonly used for implementing your API microservices.

Chapter 7, Accelerating through DevOps Essentials, focuses on the essential DevOps practices that must be followed by the engineering teams to drive greater IT maturity across the broad spectrum of the enterprise.

Chapter 8, API-Centric Enterprise Integrations, takes a deeper look into some real-world enterprise integration scenarios and considers how the Azure Integration Services offering can be utilized for this purpose.

Chapter 9, API as a Monetized Product, discusses how enterprises can realize greater business value and improve their revenue streams by applying an intelligent productization strategy for their API assets.

To get the most out of this book

This book is intended for audiences who are likely to have a role in either defining and/or implementing API-centric solutions. Hence, it is recommended that you apply the inferences shared to your own practical requirements and do further self-study and analysis to better understand the concepts presented.

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://static.packt-cdn.com/downloads/9781801813914_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "For example, say the URI /api/policies/id returned the policy resource for the specified ID. Then the URL /api/policies/id/assets will return all the assets linked to the respective policy."

A block of code is set as follows:

GET /policy/getPolicy?id=POLICY1122334455 HTTP/1.1

Host: api.contoso.inc

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

https://api.packinsurance.com/quotingservice/getquote?api-version=1.0

https://api.packinsurance.com/quotingservice/getquote?api-version=2.0

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Observe that Quote Service (Basic) is accessible to Guests."

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you've read Designing API-First Enterprise Architectures on Azure, we'd love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we're delivering excellent quality content.

Section 1: API-Led Architecture in the Digital Economy

In the first part of the book, you will discover why API-based integration architectures within enterprises are increasing, and how they are beneficial compared to traditional approaches to expedite digital transformation in a cloud-first, mobile-first world.

This section includes the following chapters:

Chapter 1, Evolution of Enterprise Solution ArchitecturesChapter 2, APIs as Digital Connectors

Chapter 1: Evolution of Enterprise Solution Architectures

An enterprise application is a large software system platform, typically comprising multiple applications that are designed to assist the organization in solving its business problems in a well-coordinated fashion. These platforms are complex, generally evolve over a period, and must be scalable and extensible. They are largely driven by the strategic technology initiatives that are identified to accomplish the vision and business objectives of the organization.

The purpose of this chapter is to share insights on how enterprise solution architectures have evolved from being a collection of standalone monoliths to service-oriented architectures (SOA) to a more modern microservices-based solution approach in recent times.

Over the past decade, there has been a significant rise in the demand for omnichannel and interconnected experiences. Be it the consumerization of IT or mobile-first applications, emergingtechnology trends have created a compelling need for businesses to invest in cloud-native applications (CNCF) or integrate with Software-as-a-Service (SaaS) product offerings. If you are new to these terms, a brief explanation follows:

CNCF: Cloud-native applications are typically modern applications designed to run on the cloud using the recommended cloud architecture and design principles. They are mostly microservices hosted using managed services to offer great scale and performance.SaaS: Software as a Service refers to the model of hosting a software solution or product on the cloud. This is accessible over the internet using a subscription or pay-as-you-go model.

Note

You can make use of the links provided in the Further reading section to understand the preceding concepts in greater detail.

In this chapter, we are going to cover the following main topics:

History of application architectures in an enterprise IT strategies in the modern world The emergence of API-led architectures

By the end of this chapter, you will understand how to prioritize your IT solutions strategy for any upcoming digital transformation projects.

Disclaimer

The topics presented in this chapter assume that you have a basic level of understanding of solution architectures in an enterprise context. At the end of the chapter, additional suggested reading links have been provided for you to review and explore more on the various topics.

History of application architectures in an enterprise

A solution architecture is typically the outcome of the bundle of ideas and experiences that you may apply to any specific business and customer context in order to meet a specific vision, within the constraints of timelines and budget availability.

Over the past two to three decades, organizations have progressively invested in building enterprise applications and systems that aim to do the following:

Provide a competitive advantage.Reduce wastage and manual effort.Limit costs to improve revenue and profit.

The primary goals have always revolved around a few key priorities, such as improving business processes for greater productivity, timely decision-making ability, and the seamless flow of information across various siloed systems and channels to foster more effective coordination among various departments and personnel within the enterprise.

From monoliths to SOA and microservices

With the evolution of the World Wide Web around early 2000, the adoption of IT within enterprises gained momentum. Information was accessible remotely, thereby opening up new avenues of business collaboration:

Figure 1.1 – Solution architecture trends

Since early 2010, enterprises have started leaning toward mobile apps as their primary channel to offer an online experience to their customers. Over the past decade, there have been tremendous advances in the field of mobile technology, especially with internet connectivity and mobile devices being a viable alternative to desktop computing devices. This has led to a surge in the present-day user-friendly business apps, enabling users to get a job done from anywhere in just a few steps.

Furthermore, the evolution of cloud computing technologies has revolutionized how enterprises plan to deploy their line-of-business (LOB) applications. CNCF and online services (SaaS) served as game-changers for enterprises. The cloud offered the promise of elastic scale, with high performance and availability. This was possible through managed services and scaling on-demand capabilities available on all public clouds. Basically, the cloud provider would manage the underlying server infrastructure to meet the workload demands. This allowed enterprises to modernize their business and work environments.

There was a gradual decline in the traditional development style of building applications, leading to a more microservices-based approach. By making use of this approach, complex and massive distributed systems can easily be broken down into smaller components, also termed microservices.

Microservices are self-contained and can be independently deployed and scaled. These microservices perform just one business function and are relatively easy to change and upgrade without impacting the broader ecosystem of services. This approach allows enterprises to take a more customer-centric approach and react quickly to market demands. The differences between microservices and monoliths are explained later in this chapter.

As was evident in the years that followed, Solution ArchitectureBlueprints progressively shifted from monoliths to microservices-based architectures, preferably deployed in the cloud. With these changing trends, developers shifted their focus to building robust API platforms comprising granular and loosely coupled microservices, with each service acting as a business sub-system serving a specific purpose within the ecosystem. These API platforms can be easily integrated with, and consumed from, lightweight mobile or web apps.

For your understanding, the following are the differences between microservices, mini-services, and monoliths (or macroservices):

Microservice: This refers to a granular unit of a business functionality that can be independently developed, deployed (as a service), and managed without having a significant dependency on other services around it. It is loosely coupled and is based on the single-responsibility principle.Mini-service: This refers to a group or collection of microservices that come together as a unit to solve a specific business functionality. Typically, this group of microservices is deployed on a common infrastructure and shares any underlying database.Monolith or macroservice: This refers to the legacy way of building applications, wherein all business services were deployed as a single package on an application server. The components in the system were tightly coupled and have less complexity in both design and deployment. System upgrades were expensive, even requiring downtime.

Note

Refer to the following article to understand more about the differences: https://thenewstack.io/miniservices-a-realistic-alternative-to-microservices/.

IT strategies in the modern world

The unprecedented disruption to economies as a result of the COVID-19 pandemic has forced CTOs to rethink and reinvent their IT strategies and roadmaps. It was obvious that companies had to expedite their digital transformation journeys to stay in business, or else they risked losing out to their competitors.

The constantly evolving digital ecosystem is driving companies to reimagine their relationships with their customers, suppliers, and employees by engaging in ways that were not possible before.

Let's explore the motivating forces driving digital transformation initiatives.

Outlook for digital transformation

As per Gartner, for success in this new era, the corporate vision for all enterprises must shift toward business outcome-driven strategies. The consumerization of IT has led to the enormous growth and adoption of mobile and cloud technologies, both of which are now considered critical enablers for digital transformations:

Figure 1.2 – Mobile technology market size as of March 31, 2021

In this rapidly changing competitive landscape, companies that demonstrate greater adaptability are able to survive through the disruption in the industry as different business models are constantly evolving, along with different ways to deliver a service.

However, it must also be noted that digital transformation is not easily achievable. Business and IT leaders must strive to remove the boundaries of corporate silos and innovate in terms of their IT roadmaps to create more inclusive and interconnected digital experiences for their customers, partners, and employees.

In summary, to address the compelling demands of the market and to establish a truly distinct and differentiated offering, enterprises must propel their digital transformation agendas toward the following:

Adopting an API-first architecture to support resilient operationsDecoupling frontend presentation from backend data functionalityCapturing and visualizing data-driven business insights to improve customer experiencesBuilding cloud-native hyperscale applications and (API) platforms

Hence, it is quite evident as to why API-led architectures are the way forward for building enterprise applications.

The emergence of API-led architectures

The term Application Programming Interfaces, or APIs, was coined way back in the 1940s to establish some standardization in data formats, communication protocols, conventions to follow, and so on when different computing systems interacted with each other. Over time, API-based integration has become the de facto standard for interactions between applications, be it client-server or process-to-process communications.

In the new normal, enterprises rely heavily on APIs and microservices to build and connect applications. There has been a paradigm shift on the basic premise while building applications. Modern era experiences must aid in the following:

Simplifying the business processes: For example, in a retail kind of scenario, the tracking of inventoried items can be simplified by creating an API-based system over your inventory management system. These APIs can be consumed by different applications targeted at the store manager, point of sale, or back-office clerk to view and update the same.

Improving the productivity of the workforce: For example, employees can make use of a variety of devices with apps that integrate with the backend APIs to get their work done. This will render them mobile while publishing real-time updates.Providing omnichannel access to customers: For example, customers today prefer to make use of both mobile and web apps to access any service or solutions.Achieving seamless data integration with channel partners and vendors: API-based integration platforms in the cloud allow easy integration and access to enterprise workflows.Ensuring data privacy and compliance: The standardization of IT policies, coupled with stricter governance over API platforms, plays a big role in preventing any security risks.

The core objective has always been to reduce complexities when dealing with people, processes, and tools within an enterprise.

The complexity problem

Large enterprises typically have multiple IT systems to cater to the need of various departments so as to support the different business processes. This typically leads to the creation of silos, requiring the duplication of data across different systems.

The focus of discussion of most enterprise architects is the integration between these systems and how to constantly evolve them to support the demands of the business. Considering that more than 80% of IT budgets are spent on maintaining and managing these large business systems, the return on investment (ROI) is highly dependent on the ease with which additional capabilities can be rolled out without impacting the existing rhythm of business.

APIs, being the basic building blocks of any digital footprint, act as a catalyst to reduce the complexity problem. APIs are relatively easy to develop and deploy. A good ecosystem of APIs within an enterprise can expedite the revenue generation process through the direct or indirect utilization of the underlying exposed data. Insights derived from data can serve as essential feedback to optimize both the business processes and associated IT systems.

The importance of API-led architecture

With data being the new currency for digital transformations, API-led architectures come to the rescue here. Almost all enterprises can be modeled as islands of discrete business capability, with some overlap for a cohesive operating model. This approach helps in defining the boundaries for the various systems and sub-systems that must be provisioned, and what interfaces must be developed to allow for data collection and exchange in a secured manner.

As the technology trends suggest, enterprises are increasingly adopting an API-led architecture strategy as it enables them to open their IT systems to external clients, business partners, and even third-party developers. The APIs serve as a black box, encapsulating all the business validations and rules that may apply to any process flow. In today's application development ecosystem, we find APIs everywhere, be it cloud computing services, productivity tools, or even on-premises integrations.

Consumers of the APIs simply reference the documented interfaces to develop their applications and services to transact with the respective systems, using the exposed APIs. For business owners, this simplifies the life cycle management of the solution, as the underlying logic for an API can be upgraded independently without breaking any upstream or downstream systems so long as the documented contract and data definitions do not change.

Hence, the key benefits of API-led architectures can be summarized as follows:

Act as accelerators of cloud adoption within an enterprise.Provide the foundations for establishing an omnichannel strategy.Advance the decentralization of IT and business workflows.The generation of revenue through API economy.

The focus of the various chapters in this book is to show you how to getthe benefits stated here and see how the adoption of various tactical strategies by your software development team may have a huge bearing on the success of your initiatives.

Case study

We will make use of the following case study to correlate and contextualize the concepts presented in subsequent chapters.

Note

This case study has been designed to simulate a real-world scenario. However, it is not meant to be comprehensive and exhaustive, catering to all business requirements or scenarios. The solutions and approach presented in the later stages are based on my point of view and should not be misconstrued as prescriptive guidance. Architecture and design is an evolving process and, hence, the reader is expected to build upon their existing understanding by working through this case study.

About Packt Insurance Inc.

Packt Insurance Inc, a company with a presence in over 10 countries (across America and Europe), offers a wide range of insurance products and services to its customers.

Over the last few years, the year-on-year growth of Packt Insurance has not been on a par with market opportunities. It is gradually receding to its competition due to a lack of market adaptability, high cycle time on innovation, and poor workforce productivity and collaboration owing to the use of legacy LOB applications for running the business. Its cloud presence is limited, and most of its applications are deployed as on-premises solutions.

In a recently concluded board meeting, a decision was taken to accelerate the company's digital transformation journey through its cloud adoption program. Packt Insurance wants to modernize even its LOB applications with a core priority of cloud-first and mobile-first approaches.

A summary of the key business drivers and stakeholder viewpoints is mentioned in the following section. For this case study, it is meant to demonstrate how each stakeholder perceives the business problem and their requirements for the target solution.

Key business drivers

Become a cloud-based digital business within the next 2-3 years.Improve the speed to market, launching new services on a par with market trends.Expand operations in newer locations and geographies.

Stakeholder priorities

CEO:

Achieve > 10-15% growth by expanding on product offerings, broadening distribution channels, and enhancing integration with channel partners.

CTO:

I don't want to invest in IT infrastructure upfront, but rather spend incrementally as we expand the business.I want to know the profitability of our business units. I would appreciate some insights into our business that will enable me to make decisions.It would be great to know customer sentiments in terms of what they like about us and what they don't like.I would like to be known as a technology innovator/pioneer in the domain and attract the new tech-savvy generation.

IT operations:

The adoption of modern practices for cloud-based solution development and deployment across the enterprise.Ensure compliance with security and data privacy standards.The onboarding of new branch offices should be quick and seamless.

Product manager:

Reduce the cycle time of new insurance products from the current 6-8 months to a maximum of 2-3 months.It would be preferable if actuarial rules can be updated without any IT intervention.

Modernization roadmap

The executives at Packt Insurance have prioritized the roadmap for the different IT initiatives to modernize their core LOB application in three phases:

Figure 1.3 – A phased approach for digital transformation milestones

In the preceding diagram, the following applies:

Phase 1: In this phase, the prioritized list of capabilities targeted for a Minimum Viable Product (MVP) will be developed. The objective of this phase is to quickly operationalize the first version of the platform.Phase 2: This is a continuation of Phase 1, and the next set of prioritized capabilities can be taken up. Typically in this phase, the first release of mobile apps and web portals will be targeted.Phase 3: This is the continuous innovation phase wherein AI and machine learning capabilities will be utilized to drive newer product offerings and improve the overall digital services deployed.

A simplistic business workflow

A very high-level flow diagram of business processes from an end-user perspective is provided here:

Figure 1.4 – A very high-level end-user flow

Packt Insurance Inc. is interested in the following business objectives:

Maximize the conversion rate of quotes to users purchasing a policy. This is how the main revenue is generated. Hence, the premium amount quoted to customers should be comparable with other market players. Customers can evaluate the pros and cons, comparing the risk factors to decide whether to purchase a policy.Optimize the claim amount to improve the margin on policies. This is to ensure that the benefits extended are appropriate, but still come at a low cost to the company.

Summary

In this chapter, we have reviewed the importance of API-led architectures and how they are critical to the success of the digital vision of an enterprise. Every enterprise is different, having varying degrees of maturity in terms of their usage of IT for the running of the business. Hence, the focus of this chapter has been to establish some common principles that must be on the radar of the IT leaders of the organization. Digital transformations cannot be achieved through makeshift arrangements. It requires careful planning and ruthless prioritization to reap greater benefits fromthe investments made.

As revenue generation is the most important priority for any organization, this chapter highlighted the impact APIs can have within an enterprise, and what role they play in enabling transformation and agility vis-à-vis achieving business outcomes.

In the next chapter, we will understand how APIs act as digital connectors and their impact on the digital economy.

Further reading

Eight reasons why architects love API-driven architectures: https://hub.packtpub.com/architects-love-api-driven-architecture/Microservices: An application revolution powered by the cloud: https://azure.microsoft.com/en-us/blog/microservices-an-application-revolution-powered-by-the-cloud/Microservices by Martin Fowler: https://www.martinfowler.com/articles/microservices.htmlWhat is API-Led – An Architectural Approach: https://dzone.com/articles/what-is-api-led-an-architectural-approach-by-luisEnterprise Architecture – Building a Robust Business IT Landscape: https://medium.com/quick-code/enterprise-architecture-building-a-robust-business-it-landscape-e966edda102aBuild cloud-native applications in Azure: https://azure.microsoft.com/en-in/overview/cloudnative/Software as a Service (SaaS) concepts: https://www.w3schools.in/cloud-services/software-as-a-service/