Data science is a hot topic. Bart De Vylder and Pieter Buteneers offer a practical introduction that goes beyond the hype, exploring data analysis, visualization, and machine learning techniques using Python for modeling the behavior of distributed systems. You'll leave with a solid starting point to implement data science techniques in your infrastructure or domain of interest.
Bitcoin showed us a new way of moving value around the internet without intermediaries. Neha Narula explains how this paradigm might apply to our traditional ways of thinking about databases that cross organizational boundaries. As data on the web becomes consolidated around a few key players, the blockchain might help users gain more control.
Containerization has launched a new wave of software deployment models, but do our philosophies for building, testing, and deploying software still hold true? Tom Adams walks you through creating a build pipeline for Docker images that is rooted in continuous integration (CI) practices.
Terran Melconian explores an organized process for observing a misbehaving complex system, reasoning about possible causes, and isolating the fault. While it is not generally taught, all the successful senior engineers with operational experience Terran has talked to use a variant of this process.
During active operational incidents, we experience very human reactions that get in the way of resolution. Approaches like Incident Command provide solid foundations for incident response. Kristopher Beevers explains how to augment Incident Command with simple tools and processes that help your team focus, communicate effectively, and respond calmly and precisely during mission-critical events.
FPGAs have become a hot topic in the IT industry, thanks to the unprecedented computing power that they bring to demanding HPC applications, and AWS recently introduced FPGA-powered instances (aka F1 instances) to make the process simpler and quicker. Julien Simon walks you through building an FPGA-enabled application, from design to simulation to synthesis to execution on an F1 instance.
Yuri Shkuro, Bryan Liles, Won Jun Jang, and Prithvi Raj walk you through implementing distributed tracing in modern applications, using the CNCF’s OpenTracing project. You'll explore a set of sample applications and learn how to instrument them for tracing. You'll also use a tracing system such as Jaeger, Zipkin, or LightStep to visualize complex transactions that might span multiple processes.
Claire Le Goues shares recent advances in academic software engineering and programming languages research that aims to bring that dream to reality, using everything from metaheuristic search to program synthesis to machine learning and search over big databases of existing code to make it happen.
In government, you can still find out-of-date tech practices like writing requirements for years or launching systems without monitoring. The government wants more effective technology. Meanwhile, everyone else wants a more effective government. Matt Cutts discusses how better technology can improve not just software systems but also trust in government itself.
Kelly Looney shares an incremental approach to introducing containers into complex, distributed applications—resulting in modernization with less risk and more reward. You’ll learn how to evaluate which components of your applications are best suited for containers, how to experiment safely and get fast feedback, and how to increase and scale your container adoption.
Observability (or lack thereof), like testability and maintainability, is a fundamental property of systems. But what does observable code look like? What instrumentation creates systems that are observable later in arbitrary ways, in circumstances you can't foresee? Baron Schwartz outlines the most useful things to know about observability in systems in production.
Kubernetes, one of the highest velocity projects on GitHub, is quickly becoming the leading platform on which to build distributed applications. Sebastien Goasguen offers a Kubernetes primer, covering the architecture of a Kubernetes installation, the API objects that make up a distributed application on Kubernetes, and more.
It’s great that you’ve moved to microservices, but how are you distributing secrets? Seth Vargo offers an overview of Vault’s unique approach to secret management by providing secrets as a service for your services (and your humans too), which is highly scalable and easily customizable to fit any environment.
Arshan Dabirsiaghi explains what Contrast Security learned from the Struts 2 exploit and details how to stop the next attack against your production apps.
We like to think that technology can make the world a better place, but we (conveniently) forget how it can make it worse. Primum non nocere (first do no harm) is the first concept taught in medical school, serving as a reminder of the possible harm that any intervention might do. Cynthia Savard Saucier challenges the tech industry to come up with its own fundamental principle.
When the DDoS attack crushed Dyn last October, did your DNS fail? Heroku's sure did. In response, Lex Neva deep dove into everything DNS to learn how to implement resilient DNS properly—reading RFCs, asking questions of pros, and performing real-world experiments when no one knew the answers. Join Lex to find out what does work and all the crazy details of DNS that he uncovered.
New Relic customers send monitoring data to New Relic servers every minute—a continuous firehose of data. Drawing on his experience at New Relic, Kevin Beck shares best practices for building a streaming service based on Apache Kafka, self-monitoring for reliability and fault tolerance, and building a DevOps culture that anticipates and prevents outages.
As technology advances, our systems are growing more and more complex, reaching the threshold of what we can handle and even comprehend. We need more than tools to keep it under control. We need new ways of thinking. Carin Meier explores new ways to approach systems and tame complexity for the rapidly changing future.
Business transformation has led us to adopt new technologies and process and cultural changes. How batch application automation is built, tested, and run must evolve to keep pace. Joe Goldberg explores jobs as code, which looks at batch application automation from an SDLC perspective—an approach that embeds expectations within a modern automation platform.