411 REFERENCE · Wikibooks
Practical DevOps for Big Data
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Contributors
University of Pau — Franck Barbier (Preface)
Netfective Technology — Youssef Ridene, Joas Yannick Kinouani, Laurie-Anne Parant
Imperial College London — Giuliano Casale, Chen Li, Lulai Zhu, Tatiana Ustinova, Pooyan Jamshidi
Politecnico di Milano — Danilo Ardagna, Marcello Bersani, Elisabetta Di Nitto, Eugenio Gianniti, Michele Guerriero, Matteo Rossi, Damian Andrew Tamburri, Safia Kalwar, Francesco Marconi
IeAT — Gabriel Iuhasz, Dana Petcu, Ioan Dragan
XLAB d.o.o. — Matej Artač, Tadej Borovšak
flexiOPS — Craig Sheridan, David McGowran, Grant Olsson
ATC SA — Vasilis Papanikolaou, George Giotis
Prodevelop — Christophe Joubert, Ismael Torres, Marc Gil
Universidad Zaragoza — Simona Bernardi, Abel Gómez, José Merseguer, Diego Pérez, José-Ignacio Requeno
How to Read This Book
This book is about a methodology for constructing big data applications. A methodology exists for the purpose of solving software development problems. It is made of development processes—workflows, ways of doing things—and tools to help concretise them. The ideal and guiding principle of a methodology is to facilitate the job and guarantee the satisfaction of stakeholders involved in a software project—end-users and maintainers included. Our methodology addresses the problem of reusing complex and not easily learned big data technologies to effectively and efficiently build big data systems of good quality. To do so, it takes inspiration from two other successful methodologies: DevOps and model-driven engineering. Regarding prerequisites, we assume the reader has a general understanding of software engineering, and, from a tool point of view, a familiarity with the Unified Modeling Language (UML) and the Eclipse IDE.
The book is composed of eight parts. Part I is an introduction (Chapter 1) followed by a state of the art (Chapter 2). Part II sets our methodology forth (Chapter 3) and reviews some UML diagrams convenient for modelling big data systems (Chapter 4). Part III shows how to adjust UML in order to make it support a stepwise refinement approach, where models become increasingly detailed and precise. Except Chapter 5 introduces the subject, and each of the following chapters (Chapters 6, 7, and 8) is dedicated to one of our three refinement steps. Part IV focuses on model analysis. Indeed, models enable designers to study carefully the system without needing an implementation thereof: a model checker (Chapter 9) may verify whether the system, as it is modelled, satisfies some quality of service requirements; a simulator (Chapter 10) may explore its possible behaviours; and an optimiser (Chapter 11) may find the best one. Part V explains how models serve to automatically install (Chapter 12), configure (Chapter 13), and test (Chapters 14 and 15) the modelled big data technologies. Part VI describes the collect of runtime performance data (Chapter 16) in order to detect anomalies (Chapter 17), violations of quality requirements (Chapter 18), and rethink models accordingly (Chapter 19). Part VII presents three case studies of this methodology (Chapters 20, 21, and 22). Finally, Part VIII concludes the book (Chapter 24) after mentioning future research directions (Chapter 23).
Contents
Introduction
100% /Preface/
100% /Introduction/
0% /Related Work/
DevOps and Big Data Modelling
75% /Methodology/
0% /Review of UML Diagrams/
Modelling Abstractions
0% /Introduction to Modelling/
0% /Platform-Independent Modelling/
0% /Technology-Specific Modelling/
0% /Deployment-Specific Modelling/
Formal Quality Analysis
0% /Quality Verification/
0% /Quality Simulation/
0% /Quality Optimisation/
From Models to Production
0% /Delivery/
0% /Configuration Optimisation/
0% /Quality Testing/
0% /Fault Injection/
From Production Back to Models
0% /Monitoring/
0% /Anomaly Detection/
0% /Trace Checking/
0% /Iterative Enhancement/
Case Studies
50% /Fraud Detection/
0% /Maritime Operations/
0% /News and Media/
Conclusion
0% /Future Challenges/
0% /Closing Remarks/
Appendices
0% /Glossary/
0% /Index/
Computer software Computer programming
0