mirror of
https://github.com/ByteByteGoHq/system-design-101.git
synced 2026-04-01 16:57:23 -04:00
This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
---
|
|
title: "Cloud Native Anti-Patterns"
|
|
description: "Avoid common pitfalls in cloud-native development for robust applications."
|
|
image: "https://assets.bytebytego.com/diagrams/0070-cloud-native-anti-patterns.png"
|
|
createdAt: "2024-02-25"
|
|
draft: false
|
|
categories:
|
|
- devops-cicd
|
|
tags:
|
|
- "Cloud Native"
|
|
- "Anti-Patterns"
|
|
---
|
|
|
|
By being aware of these anti-patterns and following cloud-native best practices, you can design, build, and operate more robust, scalable, and cost-efficient cloud-native applications.
|
|
|
|

|
|
|
|
## Monolithic Architecture
|
|
|
|
One large, tightly coupled application running on the cloud, hindering scalability and agility.
|
|
|
|
## Ignoring Cost Optimization
|
|
|
|
Cloud services can be expensive, and not optimizing costs can result in budget overruns.
|
|
|
|
## Mutable Infrastructure
|
|
|
|
* Infrastructure components are to be treated as disposable and are never modified in place.
|
|
|
|
* Failing to embrace this approach can lead to configuration drift, increased maintenance, and decreased reliability.
|
|
|
|
## Inefficient DB Access Patterns
|
|
|
|
Use of overly complex queries or lacking database indexing, can lead to performance degradation and database bottlenecks.
|
|
|
|
## Large Containers or Bloated Images
|
|
|
|
Creating large containers or using bloated images can increase deployment times, consume more resources, and slow down application scaling.
|
|
|
|
## Ignoring CI/CD Pipelines
|
|
|
|
Deployments become manual and error-prone, impeding the speed and frequency of software releases.
|
|
|
|
## Shared Resources Dependency
|
|
|
|
Applications relying on shared resources like databases can create contention and bottlenecks, affecting overall performance.
|
|
|
|
## Using Too Many Cloud Services Without a Strategy
|
|
|
|
While cloud providers offer a vast array of services, using too many of them without a clear strategy can create complexity and make it harder to manage the application.
|
|
|
|
## Stateful Components
|
|
|
|
Relying on persistent state in applications can introduce complexity, hinder scalability, and limit fault tolerance.
|