Data science is a hot topic. However, the high number of available software libraries, languages, and platforms is often overwhelming for those who want to get started in the field. Bart De Vylder and Pieter Buteneers offer a practical introduction that goes beyond the hype, exploring data analysis and modeling techniques applied to the behavior of distributed systems.
Using hosted IPython notebooks and a real-world dataset of monitoring data originating from a nontrivial distributed application, consisting of both stateful and stateless services communicating over a message bus, Bart and Pieter walk you through the Python scientific ecosystem (NumPy, SciPy, and scikit-learn) as they demonstrate different data visualization techniques that help the interpretation of the data and the models built from it. Bart and Pieter then discuss data clustering techniques, such as those to automatically discover which servers or containers are running in a load-balanced fashion, and show you how to apply correlation analysis and dimensionality reduction techniques. Modern monitoring systems easily capture tens of thousands of metrics, but many of these metrics are highly correlated and don’t convey much extra information. Applying dimensionality reduction techniques to automatically discover these correlations helps in understanding and visualizing the data and is a step in the process of preparing and modeling the data.
Bart and Pieter also outline supervised machine learning techniques to model data and touch on the important concepts of overfitting and cross-validation, considering the advantages and disadvantages of both simple linear techniques and more advanced ones. They then explain how to put these models in action and make predictions, discussing techniques for performing what-if analysis related to capacity planning (e.g., which resource will be the next bottleneck if the number of web requests keeps increasing?) and robustness (e.g., what is the impact on a service’s SLA if a node falls out?).
Bart De Vylder is a data scientist at CoScale. Previously, Bart was active in software engineering and architecture, with a focus on distributed systems. His interests lie in machine learning and building reliable, scalable data processing systems. Bart holds a PhD in artificial intelligence from the Free University of Brussels.
Pieter Buteneers is a data strategist and machine learning consultant at CoScale. Pieter is relatively new to the DevOps field. Previously, he was a postdoc at Ghent University, where he did research on AI, machine learning, and deep learning. Pieter has also given a TEDx talk (on a somewhat unrelated subject).
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org