Computing Reviews

Software architecture for big data and the cloud
Mistrik I., Bahsoon R., Ali N., Heisel M., Maxim B., Morgan Kaufmann Publishers Inc.,Cambridge, MA,2017. 470 pp.Type:Book
Date Reviewed: 09/24/18

Systems and software architecture has been a significant engineering endeavor for many years, requiring formal languages and models to document and analyze the structure and functionality of systems. This mature domain of interest has been applied to the specific requirements of big data and the cloud. It is a timely contribution, as academia, government, and industry are still experimenting with leveraging the essence of cloud computing: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. This five-part compendium includes 19 chapters, a glossary, an author index, and a subject index relating intriguing cloud-specific opportunities and constraints to multiple contexts of big data applications.

Part 1 (five chapters) provides an overview of concepts and models, with a detailed section on cloud scalability limits, costs, and constraints as well as hyperscalability, a uniquely cloud concept. Scalability is an enabling technology for big data analytics, for which the impact of simplicity or architectural eloquence is discussed as a critical factor, as well as how architectural complexity negatively impacts scalability and may preclude robust hyperscalability. Chapter 4, “Domain-Driven Design of Big Data Systems Based on a Reference Architecture,” provides an approach to derive reference architectures for big data systems and generate application architectures as a result. The detailed description and graphical representations, along with a logical and well-written narrative as to the methodology, provide the reader with a viable understanding of the approach and its benefits. The authors provide several current and intriguing examples, including Facebook features of ad hoc analysis and data streaming, Twitter real-time query processing and in-memory data storage, and an energy management system for smart buildings.

Part 2 (four chapters), on analyzing and evaluating big data cloud architectures, provides views on measuring performance and verifying a cloud environment’s attributes. The timely chapter 9 details models and frameworks for migrating from legacy on-premises solutions to cloud-based solutions. Chapter 10 provides a practitioner’s view of big data versus traditional data warehouse approaches.

Part 3 (four chapters) focuses on cloud-based technologies specific to big data applications. Chapter 11 provides an overview of stream processing systems and the requirements and design concepts of data stream processing platforms such as Yahoo, S4, Apache Storm, Spring XD, Spark Streaming, and Apache Samza. Chapter 12 provides a detailed and analytically rich discussion of cloud architecting and the trusted use of personal data. This topic has significant government and industry ramifications, particularly with the advent of the General Data Protection Regulation (GDPR).

Part 4 consists of three chapters on cloud-based resource management. Chapter 16 is a valuable resource on cloud resource management standards and approaches. The detailed discussion is facilitated by an example of a prototype system that depicts the resource provisioning issues at the platform and infrastructure layers and the virtual execution layer.

Part 5, the final section, consists of one chapter dedicated to future directions. This is an excellent resource for technically literate cloud brokers, auditors, and consumers.

Reviewer:  Nancy Eickelmann Review #: CR146249 (1812-0614)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy