Book Image

Architecting Data-Intensive Applications

By : Anuj Kumar
Book Image

Architecting Data-Intensive Applications

By: Anuj Kumar

Overview of this book

<p>Are you an architect or a developer who looks at your own applications gingerly while browsing through Facebook and applauding it silently for its data-intensive, yet ?uent and efficient, behaviour? This book is your gateway to build smart data-intensive systems by incorporating the core data-intensive architectural principles, patterns, and techniques directly into your application architecture.</p> <p>This book starts by taking you through the primary design challenges involved with architecting data-intensive applications. You will learn how to implement data curation and data dissemination, depending on the volume of your data. You will then implement your application architecture one step at a time. You will get to grips with implementing the correct message delivery protocols and creating a data layer that doesn’t fail when running high traffic. This book will show you how you can divide your application into layers, each of which adheres to the single responsibility principle. By the end of this book, you will learn to streamline your thoughts and make the right choice in terms of technologies and architectural principles based on the problem at hand.</p>
Table of Contents (18 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Listing architectural assumptions


Just as it is important to have a clear understanding of the guiding principles, it is equally important to have a clear understanding of the architectural assumptions that you make while defining your architecture.

Defining architectural assumptions is a very system-specific task. For example, you may assume that all your business services are always accessed via a service gateway and therefore do not need to have explicit authentication mechanisms incorporated. Authentication will happen at the service gateway level.

Another example of assumption is when you know that you have a separate authentication provider that you will always use for any authentication- and authorization-related claim. In this case, you should clearly mention this in the assumptions list.

Clearly understanding the assumptions, the reasoning behind those assumptions, and their implications on the system as a whole, will greatly reduce your stress levels in terms of dealing with people...