A review of the book Building An API Product by Bruno Pedro.
Krishnan Raghavan
Technical Architect with experience in Big Data Tools and Technologies. Good understanding of AI and ML
A month back I was fortunate to have gotten an opportunity from Packt to review the book Building An API Product by Bruno Pedro. This book helps the reader understand API's and how to use them to develop a product. I have not come across many books that focus solely on teaching about API's. Sure, APIs are covered as part of many books related to programming languages but the assumption is that either the reader has sufficient knowledge about API or covers the fundamental part of API that is relevant to understanding the topic being talked about. This book focuses only on API and the readers will surely gain a lot of knowledge in this topic. The book does not assume that you have previous exposure to the topic of API and hence both novice as well as advanced readers will benefit from this book. This book is broken down into 5 sections.
The first section talks about the origin and the fundamental concepts related to API's. The first chapter explores how APIs work on different networks as well as different types of APIs such as REST, gRPC, AMQP, and MQTT. The second chapter talks about the top industries where APIs are used. In this chapter, the author also correlates the end user's experience and how it positively or negatively influences the success of API products. The third chapter helps the user understand the business value that an API product can bring and the different options for monetizing an API product to generate revenue. The fourth chapter talks about the API life cycle using the four easy-to-understand stages i.e. design, implementation, release, and maintenance.
The second section comprehensively explores API product design, covering key stages such as ideation, strategy, definition, validation, and specification. The fifth chapter explains the ideation step and how to execute it. The reader understands how high-level design is generated using techniques such as brainstorming. The sixth chapter talks about the strategy for buying an API product. The seventh chapter defines and validates the API. This chapter will help the reader understand how to define and test for functional as well as business requirements using API mocks. The last chapter in this section discusses choosing the correct type of API for the use case being worked upon.
The third section talks about the development techniques, API security, API testing, and API QA. The ninth chapter will help the reader understand how to quickly prototype the design talked about in the last section. This chapter also talks about the selection of programming language and the framework that is the best fit for the requirement. Chapter 10 talks about API Security. The reader will understand how to design secure APIs. This chapter also talks about what is fuzzing, authentication, etc. The next chapter API testing will help the user test the APIs that have been built as part of the previous two chapter's learnings. The author has also introduced a few tools like Pact, Postman, and Apache JMeter which will help the reader write and test better APIs. The last chapter, chapter 12, in this section, talks about quality assurance. This chapter starts from the very basics of what is QA. The reader will be able to understand and appreciate how QA can help build a better API product.
The fourth section is about release and post-release observation and maintenance. Chapter 13 talks about continuous integration and how to use this process to do deployment. Chapter 14 is about observing and performance monitoring once the deployment process has been completed. Chapter 15 talks about API distribution and its ability to generate revenue.
The fifth section talks about maintaining an API Product. While the first four sections talk about what is API, how to develop an API product, and how to deploy an API product, this section talks about maintaining the API product and what efforts go into the same. Chapter 16 talks about user support and how to help users get their job done. Chapter 17 talks about API versioning and its importance. The last chapter, Chapter 18 talks about what are the reasons and decisions taken to put an API to rest and how this needs to be planned to not significantly impact the other stakeholders.
This is a wonderful book written by Bruno Pedro and I appreciate the efforts that have gone into making this book as interesting a read as possible. Also a huge thank you to Shrinidhi M V and Packt for allowing me to review this book.