Microservices: Testing, Observing, And Understanding: The Infoq Emag / Issue #81 / January 2020

Microservices: Testing, Observing, And Understanding: The Infoq Emag / Issue #81 / January 2020

Citation preview

The InfoQ eMag / Issue #81 / January 2020

Microservices: Testing, Observing, and Understanding

12 Microservices Testing Techniques

Tyler Treat on Microservice Observability

Obscuring Complexity

FACILITATING THE SPREAD OF KNOWLEDGE AND INNOVATION IN PROFESSIONAL SOFTWARE DEVELOPMENT

InfoQ

@ InfoQ

InfoQ

InfoQ

Microservices: Testing, Observing, and Understanding IN THIS ISSUE

06

Q&A with Tyler Treat on Microservice Observability

27

Examining the Tradeoffs of 12 Useful Testing Techniques

12

Obscuring Complexity

32

6 Case Studies with a Combination of Testing Techniques

20

An Overview of 12 Useful Testing Techniques

PRODUCTION EDITOR Ana Ciobotaru / COPY EDITORS Lawrence Nyveen & Susan Conant / DESIGN Dragos Balasoiu GENERAL FEEDBACK [email protected] / ADVERTISING [email protected] / EDITORIAL [email protected]

CONTRIBUTORS

Glenn Engstrand

Wojciech Bulaty

Tyler Treat

is a Software Architect at Adobe Inc.. His focus is working with engineers in order to deliver scalable, server side, 12 factor compliant application architectures.

specializes in agile software development and testing architecture. He brings more than a decade of hands-on coding and leadership experience to his writing on agile, automation, XP, TDD, BDD, pair programming, and clean coding.

is a Managing Partner at Real Kinetic where he helps companies build cloud software and ship confidently. As an engineer, he’s interested in distributed systems, messaging infrastructure, and resilience engineering. As a technical leader, he’s interested in building effective teams and software organizations. Tyler is also a frequent open-source contributor and avid blogger at bravenewgeek.com.

Liam Williams

Matt Campbell

is an automation expert with a focus on improving error-prone manual processes with high-quality software solutions. He is an open-source contributor and author of a number of small libraries.

Senior Engineering Director at D2L, Matt oversees the Foundation Development and SRE/Operations groups. He loves helping teams move towards high performance and he successfully introduced DevOps ideals, Agile methodologies (sprint planning, Scrum, retrospectives), engineering excellence practices (unit testing, TDD, continuous integration), and improved team dynamics.

The InfoQ eMag / Issue #81 / January 2020

A LETTER FROM THE EDITOR

Thomas Betts is the Lead Editor for Architecture and Design at InfoQ, and a Principal Software Engineer at IHS Markit Technology, now a part of Informa Tech. For over two decades, his focus has always been on providing software solutions that delight his customers.

4

Writing code is the easy part of software development.

successfully test, observe, and understand microservices.

The real challenge comes when your system is running successfully in production. How do you test new functionality to make sure it works as intended and doesn’t break something? When a problem arises, are you able to identify the root cause and fix it quickly? And as that system keeps growing and evolving, are you able to focus on one small area without having to understand everything?

Wojciech Bulaty and Liam Williams begin their discussion on testing microservices by addressing the most apparent differences between distributed, microservices architectures and centralized, monolithic architectures: remote versus in-process dependencies, and component-based versus full-stack testing.

These challenges exist whether you have a monolithic or microservices architecture. Organizations that build distributed systems have to adopt testing and observab