Operations | Monitoring | ITSM | DevOps | Cloud

Microservices

SLO walkthrough: measuring microservice performance

To improve reliability, we need to measure it, and to measure it we use SLOs (Service Level Objectives). Or at least, that’s what Google SRE has popularized. In practice, it can be difficult and time-consuming to identify the right things to measure, to get to the right data, and to surface the results in a way that engages the stakeholders and teams involved. And all this is especially hard as we scale our teams and applications across multiple technology stacks.

5 Microservices Challenges and Blindspots for Developers

Microservices are loosely coupled services that are organized around business capabilities. In an ideal microservices architecture, each service can be developed and deployed independently. To form a functional application, these separate services communicate with each other in the production environment (and even beforehand).

Practical Guide on Setting up Prometheus and Grafana for Monitoring Your Microservices

Observability is a very important aspect of software that’s often taken for granted. You need to have visibility into what your application is doing at different levels to better understand an issue when it occurs. There are multiple open-source tools and initiatives to help you achieve improved visibility. When we talk about observability, there are three parts to consider: logs, traces and metrics.

New video: How to visualize your traces - tools and new ideas

In microservices, distributed tracing is a method for aggregating all the operations that occur in your distributed systems that were triggered by a specific request. If these traces are visualized, developers can gain insights into how their service behaves when it’s run with other services, which helps them understand why errors occur.

Scorecards for Resources

Cortex’s Resource Catalog allows engineers to track all of their infrastructure components — from databases to Kafta topics — in a single place. The Resource Catalog demystifies infrastructure, giving developers clear insights into exactly how their service architecture works. Using the Resource Catalog, it’s easy to find information about which infrastructure assets are running and how all the distinct components connect.

Polyglot persistence vs multi-model databases for microservices

Microservice architecture is an application system design pattern in which an entire business application is composed of individual functional scoped services, which can scale on demand. Each team focuses on an individual service and builds it according to their skillset or language of choice. In addition to flexibility, this pattern provides: These features have made microservices architecture a popular choice for enterprises.

4 Ways to reproduce issues in microservices

Let’s say we have an issue in production. We’ve all been there, right? The first thing we want to be able to do is reproduce the issue. By reproducing, we can confirm it’s a recurring issue, rather than a sporadic one, and that it requires a fix to ensure that our product is working properly. When shifting from a monolith to microservices, reproducing issues becomes more of a challenge.

Consider these 9 microservices best practices to help you ditch your monolith

Microservice architectures have become extremely popular in recent years, and for good reason. When managed properly, they improve scalability, encourage faster development and deployment, and reduce data and domain coupling. Companies of all sizes, from small startups to large enterprises, have migrated their monolithic applications over to microservice and service-oriented architectures. Making the move from monolith to microservices is a big shift, though.

Distributed Tracing Observability in Microservices

Have you ever tried to find a bug in a multi-layered architecture? Although this might sound like a simple enough task, it can quickly become a nightmare if the system doesn’t have proper monitoring. And the more distributed your system is, the more complex it becomes to analyze the root cause of a problem. That’s precisely why observability is key in distributed systems. Observability can be thought of as the advanced version of application monitoring.