Chapter 6. Fault Injection Test

Finding solutions for outdated monolithic applications and architectures can be difficult. In response to these architectural patterns, the use of microservices has grown exponentially. Microservice architectures help solve the challenges of monolithic systems by creating a “suite of small services” that can be deployed independently, according to software development expert Martin Fowler. The advantages of these small, independent services include faster isolation and detection of bugs, and making services across the business reusable and simpler to deploy.

Of course, distributed architectures bring new challenges, especially in securing all the possible distributed components. For adversaries, distributed architectures provide many entry points to destroy, disrupt, steal, and cause havoc. These systems require proper security testing to identify any vulnerabilities. Improper, or nonexistent, security controls and testing can lead to undetected, unpredictable, and unanticipated failures.

This chapter will outline different types of distributed systems, the importance of testing, the consequences of insufficient testing, and what types of tests should be done.

Distributed Systems

There are two types of distributed systems:

Soft real-time distributed systems
These systems continually produce or update results, but the response time is higher than that of hard real-time distributed systems. Missing a job deadline isn’t considered a system failure, ...

Get Security as Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.