How to implement a serverless architecture on Azure - Part 3

In this third article, we elaborate on our toy example to demonstrate why a serverless architecture is better suited for specific requirements. Without further ado, let's apply the principles mentioned earlier.

Modeling in software development is the process of creating abstract representations of a system or its components to help understand, design, and communicate various aspects of the software. Effective modeling is crucial for conceptualizing, planning, and building software systems. We often need to consider the needs and expectations of the end users, clearly define the problem domain that the software will address and identify the entities, processes, and data involved in the system. In this article, we will endeavor to adhere to these principles by creating a model of a publishing company engaged in the design, sales, and marketing of books. Initially, we will emphasize a monolithic application, and subsequently, we will transition to a modular architecture to address its limitations.

What is a book ?

Our fictional company is a publisher that needs to revamp its information system in order to improve sales and reach potential customers more effectively. But, how should it be done ?

First and foremost, our company needs to create a model for a book. While one might assume that the definition of a book is clear to everyone, the reality is more nuanced. Even within the company, the concept of a book can vary, despite the obvious association with a rectangular object containing pages.

What is a book for an author ?

For authors, a book is a creative endeavor and a medium through which they convey their ideas, stories, or knowledge to a broader audience. A book is a manifestation of their thoughts, imagination, research, and experiences. It is not just a physical or digital product; it's a reflection of their intellectual and emotional investment in their work.

Therefore, the author's primary concerns typically revolve around the content, the page count, the subject matter, associated categories, and the deadline for completing the work.

FeatureType
titlestring
page countinteger
subject matterstring
categoriesList
deadlinedate

What is a book for a marketer ?

For a marketer, a book is a valuable marketing tool and content asset. It serves as a means to engage, inform, and persuade the target audience. It is often used as part of a broader content marketing strategy to attract leads, nurture prospects, and convert them into customers.

Therefore, the marketer’s primary concerns typically revolve around the subject matter, associated categories and the target audience for the content. Page count and deadlines are generally not of significant concern to them.

FeatureType
ISBNstring
subject matterstring
image in the coverimage
blurbstring
categoriesList
target audienceList

What is a book for the transporter ?

For a transporter, a book is a product to be transported from one location to another. The book, in this context, is treated as a physical item in need of safe and efficient transportation services. Transporters are thus primarily concerned with the logistics and supply chain aspects of moving books from publishers or distributors to retailers, libraries, or end customers. They focus on managing the movement, storage, tracking, and timely delivery of books, ensuring that they reach their intended destinations in good condition and on schedule.

Therefore, the transporter’s primary concerns typically revolve around the weight, the height and the width of the book. Page count and deadlines are definitly not of significant concern to them.

FeatureType
weightdouble
heightdouble
widthdouble

What is a book for an SEO professional ?

For an SEO professional, a book can serve as a valuable source of content and information to optimize for search engines. In this context, a book is seen as a digital or printed publication with text, images, and other elements that can be leveraged to improve online visibility and rankings in search engine results. SEO experts may be interested in optimizing the book's content, its metadata, and the associated web presence to make it more discoverable by search engines like Google.

Therefore, the SEO professional’s primary concerns typically revolve around keywords and metadata.

FeatureType
metadataList
keywordsList
categoriesList

Taking these differences into consideration, we will attempt to model the concept of a book using two distinct strategies. One is built on a monolithic application, while the other relies on a modular serverless architecture.

Let's continue here.