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

sed By Examples

sed is a stream editor command available on Unix-compatible systems. sed is quite a powerful tool, but the learning curve is also high comparing to other similar tools such as grep or awk. Almost every time I want to do something with sed, I need to look it up and search for some examples. So, I decided to compile a concise tutorial for sed that covers the most common use-cases....

Mar 22, 2020 · 2 min · Milad Irannejad

awk By Examples

awk is a domain-specific language and command for text processing available on Unix-compatible systems. gawk is the GNU AWK and all Linux distributions come with it. This is a brief tutorial for awk covering the most common use-cases. awk reads input line by line from a file, pipe, or stdin and executes a program on each line. An input line has a number of fields separated by white space or by regular expression FS....

Mar 22, 2020 · 1 min · Milad Irannejad

Performance Testing Explained

TL;DR The well-known types of performance testing are the following: Load Testing Load testing is the simplest form of performance testing. It is conducted to understand the behavior of a system under a specific load. The goal of load testing is to identify performance bottlenecks in the application. Stress Testing Stress testing is carried out to understand the behavior of a system in an overload situation. The goal of stress testing is to see if the system will perform satisfactorily when the load goes well above the maximum....

Mar 22, 2020 · 2 min · Milad Irannejad

Agile: Scrum vs. Kanban

Comparison Matrix Scrum Kanban KPI Team velocity Cycle-time Goal Building highly reliable and predictable teams. Building flexible and resilient teams. Suitable For Consistent and predictable workloads.Mid-term and long-term Deliverables. Multiple teams at scale. Unpredictable and arbitrary workloads. Short-term and high-priority deliverables. Small and independent teams. Cadence 2-Weeks Sprints3 to 5-Sprints Milestones 1-Week Beats Roles Product Owner (PO)Scrum Master (SM)Development Team N/A Ceremonies PlanningDaily ScrumsReviewDemoRetroScrum of Scrums Daily Stand-ups Board Calendar-like board showing all days in sprint....

Mar 11, 2020 · 2 min · Milad Irannejad