Multi-Tenancy in Microservice Architecture

TL;DR Microservices architecture encompasses a few services to thousands of services that communicate with each other through APIs. Microservices should NOT introduce any breaking changes to their APIs. Every change in one microservice should be tested against other microservices that rely on it. There are two approaches for integration testing in a microservices architecture: Replica Environments (Parallel Testing) Creating a copy of the production environment for handling test traffic (integration or staging environment)....

Mar 23, 2020 · 4 min · Milad Irannejad

GitOps?

TL;DR GitOps is an operation model for cloud-native applications running on Kubernetes (created by Weaveworks). To the most part, it is infrastructure-as-code with continuous integration and continuous delivery. The idea is having Git as the source of truth for all operations. A single Git repository describes the entire desired state of the system. Operational changes are made through pull requests. Changes can be peer-reviewed, versioned, released, rolled back, audited, etc. Diff tools detect any divergence and sync tools enable convergence....

Jul 14, 2019 · 2 min · Milad Irannejad

Site Reliability Engineering

Recap Site reliability engineering is Google’s approach to service management. If you think of DevOps more of as a culture, as a mindset, or as a set of guidelines, SRE is a framework that implements DevOps. This book is more like a collection of essays with a single common vision. SRE teams consist of people with software engineering skills and operation knowledge. Google places a 50% cap on all operation (ops) work aggregated for all SREs, and the remaining 50% should be spent on development work for the purpose of automation....

Jul 14, 2019 · 12 min · Milad Irannejad

Cherry: Build And Release!

Cherry is a single opinionated tool for all of your DevOps processes (build, test, release, deploy, etc.). Instead of keeping hard-to-understand and hard-to-maintain shell scripts in every repository, you can use Cherry! GitHub Repo

Apr 27, 2019 · 1 min · Milad Irannejad