Book Image

Designing API-First Enterprise Architectures on Azure

By : Subhajit Chatterjee
Book Image

Designing API-First Enterprise Architectures on Azure

By: Subhajit Chatterjee

Overview of this book

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.
Table of Contents (14 chapters)
Section 1: API-Led Architecture in the Digital Economy
Section 2: Build Reliable API-Centric Solutions
Section 3: Deliver Business Value for a Modern Enterprise

Understanding maintainability

All software systems evolve over time. New enhancements and bug fixes must be planned and rolled out on a periodic basis. The term maintainability refers to the ease with which the software solution or component, or even a code file, can be modified or updated without incurring significant maintenance costs.

There are two major categorizations of maintainability: proactive and reactive.

Proactive maintainability

Proactive maintainability refers to the adherence to software development best practices while writing code for the various components of a solution. This includes both the modularity and testability of the components. The code should be easily changed without breaking the build or introducing any regression issues. In the longer term, it should be able to support enhancements with the addition of more features and capabilities.

Managing technical debt for a product is very important. Owing to numerous constraints, coding issues or...