As more companies move toward microservices and other distributed technologies, the complexity of these systems increases. You can't remove the complexity, but through Chaos Engineering you can discover vulnerabilities and prevent outages before they impact your customers. This practical guide shows engineers how to navigate complex systems while optimizing to meet business goals.
Two of the field's prominent figures, Casey Rosenthal and Nora Jones, pioneered the discipline while working together at Netflix. In this book, they expound on the what, how, and why of Chaos Engineering while facilitating a conversation from practitioners across industries. Many chapters are written by contributing authors to widen the perspective across verticals within (and beyond) the software industry.
Learn how Chaos Engineering enables your organization to navigate complexity; Explore a methodology to avoid failures within your application, network, and infrastructure; Move from theory to practic ...
Learning Java, 5th Edition
If you're new to Java - or new to programming - this best-selling book will guide you through the language features and APIs of Java 11. With fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Daniel Leuck introduce you to Java fundamentals - including its class libraries, programming techniques, and idioms - with an eye toward building real applications.
You'll learn powerful new ways to manage resources and exceptions in your applications - along with core language features included in recent Java versions.
Develop with Java, using the compiler, interpreter, and other tools; Explore Java's built-in thread facilities and concurrency package; Learn text processing and the powerful regular expressions API; Write advanced networked or web-based applications and services. ...
High Performance Python, 2nd Edition
Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation.
How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more.
Get a better grasp of NumPy, Cython, and profilers; Learn how Python abstracts the underlying computer architecture; Use profiling to find bottlenecks in CPU time and memory usage; Write efficient programs by choosing appropriate data structures; Speed up matrix ...
Building an Anonymization Pipeline
How can you use data in a way that protects individual privacy but still provides useful and meaningful analytics? With this practical book, data architects and engineers will learn how to establish and integrate secure, repeatable anonymization processes into their data flows and analytics in a sustainable manner.
Luk Arbuckle and Khaled El Emam from Privacy Analytics explore end-to-end solutions for anonymizing device and IoT data, based on collection models and use cases that address real business needs. These examples come from some of the most demanding data environments, such as healthcare, using approaches that have withstood the test of time.
Create anonymization solutions diverse enough to cover a spectrum of use cases; Match your solutions to the data you use, the people you share it with, and your analysis goals; Build anonymization pipelines around various data collection models to cover different business needs; Generate an anonymized version of original data or use ...
Presto: The Definitive Guide
Perform fast interactive analytics against different data sources using the Presto high-performance, distributed SQL query engine. With this practical guide, you'll learn how to conduct analytics on data where it lives, whether it's Hive, Cassandra, a relational database, or a proprietary data store. Analysts, software engineers, and production engineers will learn how to manage, use, and even develop with Presto.
Initially developed by Facebook, open source Presto is now used by Netflix, Airbnb, LinkedIn, Twitter, Uber, and many other companies. Matt Fuller, Manfred Moser, and Martin Traverso show you how a single Presto query can combine data from multiple sources to allow for analytics across your entire organization.
Get started: Explore Presto's use cases and learn about tools that will help you connect to Presto and query data;
Go deeper: Learn Presto's internal workings, including how to connect to and query data sources with support for SQL statements, operators, funct ...
Distributed Tracing in Practice
Since most applications today are distributed in some fashion, monitoring their health and performance requires a new approach. Enter distributed tracing, a method of profiling and monitoring distributed applications - particularly those that use microservice architectures. There's just one problem: distributed tracing can be hard. But it doesn't have to be.
With this guide, you'll learn what distributed tracing is and how to use it to understand the performance and operation of your software. Key players at LightStep and other organizations walk you through instrumenting your code for tracing, collecting the data that your instrumentation produces, and turning it into useful operational insights. If you want to implement distributed tracing, this book tells you what you need to know.
You'll learn: The pieces of a distributed tracing deployment: instrumentation, data collection, and analysis; Best practices for instrumentation: methods for generating trace data from your services ...
Practical Statistics for Data Scientists, 2nd Edition
Statistical methods are a key part of data science, yet few data scientists have formal statistical training. Courses and books on basic statistics rarely cover the topic from a data science perspective. The second edition of this popular guide adds comprehensive examples in Python, provides practical guidance on applying statistical methods to data science, tells you how to avoid their misuse, and gives you advice on what's important and what's not.
Many data science resources incorporate statistical methods but lack a deeper statistical perspective. If you're familiar with the R or Python programming languages and have some exposure to statistics, this quick reference bridges the gap in an accessible, readable format.
With this book, you'll learn: Why exploratory data analysis is a key preliminary step in data science; How random sampling can reduce bias and yield a higher-quality dataset, even with big data; How the principles of experimental design yield definitive answers to ...
To facilitate scalability and resilience, many organizations now run applications in cloud native environments using containers and orchestration. But how do you know if the deployment is secure? This practical book examines key underlying technologies to help developers, operators, and security professionals assess security risks and determine appropriate solutions.
Author Liz Rice, VP of open source engineering at Aqua Security, looks at how the building blocks commonly used in container-based systems are constructed in Linux. You'll understand what's happening when you deploy containers and learn how to assess potential security risks that could affect your deployments. If you run container applications with kubectl or docker and use Linux command-line tools such as ps and grep, you're ready to get started.
Explore attack vectors that affect container deployments; Dive into the Linux constructs that underpin containers; Examine measures for hardening containers; Understand ho ...
Cassandra: The Definitive Guide, 3rd Edition
Imagine what you could do if scalability wasn't a problem. With this hands-on guide, you'll learn how the Cassandra database management system handles hundreds of terabytes of data while remaining highly available across multiple data centers. This third edition - updated for Cassandra 4.0 - provides the technical details and practical examples you need to put this database to work in a production environment.
Authors Jeff Carpenter and Eben Hewitt demonstrate the advantages of Cassandra's nonrelational design, with special attention to data modeling. If you're a developer, DBA, or application architect looking to solve a database scaling issue or future-proof your application, this guide helps you harness Cassandra's speed and flexibility.
Understand Cassandra's distributed and decentralized structure; Use the Cassandra Query Language (CQL) and cqlsh - the CQL shell; Create a working data model and compare it with an equivalent relational model; Develop sample applications using ...
Building Secure and Reliable Systems
Can a system be considered truly reliable if it isn't fundamentally secure? Or can it be considered secure if it's unreliable? Security is crucial to the design and operation of scalable systems in production, as it plays an important part in product quality, performance, and availability. In this book, experts from Google share best practices to help your organization design scalable and reliable systems that are fundamentally secure.
Two previous O'Reilly books from Google - Site Reliability Engineering and The Site Reliability Workbook - demonstrated how and why a commitment to the entire service lifecycle enables organizations to successfully build, deploy, monitor, and maintain software systems. In this latest guide, the authors offer insights into system design, implementation, and maintenance from practitioners who specialize in security and reliability. They also discuss how building and adopting their recommended best practices requires a culture that's supportive of such c ...
C# 8.0 in a Nutshell
When you have questions about C# 8.0 or .NET Core, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, but with its continual growth there's so much more to learn. In the tradition of the O'Reilly Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.
Organized around concepts and use cases, C# 8.0 in a Nutshell provides intermediate and advanced programmers with a concise map of C# and .NET knowledge that also plumbs significant depths.
Get up to speed on C#, from syntax and variables to advanced topics such as pointers, closures, and patterns; Dig deep into LINQ with three chapters dedicated to the topic; Explore concurrency and asynchrony, advanced threading, and parallel programming; Work with .NET features, including regular expressions, networking, serialization, spans, reflection, and cryptography; Delve into Roslyn, the modular C# compiler as a service ...