From eb21f2067be1f5ff75e1e4e6f5f09a186b200d7f Mon Sep 17 00:00:00 2001 From: Platiplus Date: Wed, 12 Oct 2022 09:40:34 -0300 Subject: [PATCH] Adding sections about observability and scalability (#2263) * Adding sections about observability and scalability * Update content/roadmaps/101-backend/content/123-scalability/104-observability.md * Update content/roadmaps/101-backend/content/123-scalability/readme.md Co-authored-by: Kamran Ahmed --- .../123-scalability/104-observability.md | 15 +++++++++++++- .../content/123-scalability/readme.md | 20 ++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/content/roadmaps/101-backend/content/123-scalability/104-observability.md b/content/roadmaps/101-backend/content/123-scalability/104-observability.md index c5ac4a2fa..419d6f387 100644 --- a/content/roadmaps/101-backend/content/123-scalability/104-observability.md +++ b/content/roadmaps/101-backend/content/123-scalability/104-observability.md @@ -1 +1,14 @@ -# Observability \ No newline at end of file +# Observability + +In sofware development, observability is the measure of how well we can understand a system from the work it does, and how to make it better. + +So what makes a system to be "observable"? It is its ability of producing and collecting metrics, logs and traces in order for us to understand what happens under the hood and identify issues and bottlenecks faster. + +You can of course implement all those features by yourself, but there are a lot of softwares out there that can help you with it like Datadog, Sentry and CloudWatch. + +Free Content +DataDog Docs +AWS CloudWatch Docs +Sentry Docs +AWS re:Invent 2017: Improving Microservice and Serverless Observability with Monitor +Observability and Instrumentation: What They Are and Why They Matter \ No newline at end of file diff --git a/content/roadmaps/101-backend/content/123-scalability/readme.md b/content/roadmaps/101-backend/content/123-scalability/readme.md index d6ca5f195..eeeb6485e 100644 --- a/content/roadmaps/101-backend/content/123-scalability/readme.md +++ b/content/roadmaps/101-backend/content/123-scalability/readme.md @@ -1 +1,19 @@ -# Scalability \ No newline at end of file +# Building for Scale + +Speaking in general terms, scalability is the ability of a system to handle a growing amount of work by adding resources to it. + +A software that was conceived with a scalable architecture in mind, is a system that will support higher workloads without any fundamental changes to it, but don't be fooled, this isn't magic. You'll only get so far with smart thinking without adding more sources to it. + +For a system to be scalable, there are certain things you must pay attention to, like: +* Coupling +* Observability +* Evolvability +* Infrastructure + +When you think about the infrastructure of a scalable system, you have two main ways of building it: using on-premises resources or leveraging all the tools a cloud provider can give you. + +The main difference between on-premises and cloud resources will be FLEXIBILITY, on cloud providers you don't really need to plan ahead, you can upgrade your infrastructure with a couple of clicks, while with on-premises resources you will need a certain level of planning. + +Free Content +Scalable Architecture: A Definition and How-To Guide +Scaling Distributed Systems - Software Architecture Introduction \ No newline at end of file