M4RKYU.SYSEdition 2027
Skip to content
LOCZH/安大略 · 加拿大/▸logs · navigating the clouds a comprehensive guide to modern cloud infrastructures 35b5待机OK/--:--:--EST
M4M4RK_YUportfolio
  • 创作创作
    创作Overview
    • 作品精选案例与项目记录
    • 游戏可玩原型与游戏开发日志
  • 影像影像
    影像Overview
    • 照片影像合集与视觉实验
    • 商店印刷品、海报和限量物件
  • 写作写作
    写作Overview
    • 博客长篇开发日志与现场笔记
    • 笔记短观察、链接与代码片段
  • 资源资源
    资源Overview
    • 工具38 款浏览器内开发工具
    • 链接每日使用的开发与设计书签
  • 关于关于
  • 联系联系
EN

同步 · dev.to / @markyu

Cloud Architecture Choices I Would Not Overcomplicate

A practical 2026 cloud architecture guide for developers choosing between client-server, distributed systems, microservices, serverless, and cloud-native platforms.

发布日期
May 19 '24
·
阅读时长
3 min read
·
点赞
16
cloudarchitecturedevopsbackend
在 dev.to 查看

本页目录

  • The Decision Map
  • Client-Server Is Still Fine
  • Distributed Architecture Solves Scale, Then Adds New Problems
  • Microservices Are an Organizational Choice
  • Serverless Is Great for Spiky Workloads
  • Cloud-Native 3.0: What I Actually Care About
  • My Default Recommendation
  • Final Thought

The cloud architecture mistake I keep seeing is not "using the wrong pattern."

It is picking a pattern before the system has earned it.

I have seen small teams jump straight into Kubernetes, service mesh, distributed tracing, async queues, and five databases for an app that still had one real customer workflow. It looked modern. It was also painful to operate.

So here is the practical version: start with the boring shape that solves the current problem, then evolve only when the failure mode is real.

The Decision Map

User request
   |
   v
Simple app? -------------------- yes --> client-server / managed PaaS
   |
   no
   v
Independent domains? ----------- yes --> modular monolith or microservices
   |
   no
   v
Bursty event workload? --------- yes --> serverless / queue workers
   |
   no
   v
Global latency or edge need? --- yes --> CDN + edge compute

This is not perfect, but it keeps you from starting with the most expensive option.

Client-Server Is Still Fine

A client-server app is not "old architecture." It is often the cleanest architecture.

Use it when:

  • one team owns the app
  • the database is still central
  • the domain is not split cleanly
  • most requests are synchronous
  • deployment frequency is manageable

The simplest useful production shape:

Browser / Mobile
      |
      v
Load Balancer
      |
      v
App Server
      |
      v
Database + Cache

I would rather run this well than run a fragile microservice system badly.

Distributed Architecture Solves Scale, Then Adds New Problems

Distributed systems help when one machine or one process is no longer enough.

They also add:

  • network failure
  • retry storms
  • partial writes
  • duplicate events
  • clock and ordering problems
  • harder debugging

That tradeoff is worth it when your workload needs it. It is not worth it for architectural fashion.

The first production question I ask is:

Can we explain what happens when one node fails halfway through a request?

If the answer is vague, the architecture is not ready.

Microservices Are an Organizational Choice

Microservices are not just smaller apps. They are a way to let teams move independently.

I would consider them when:

  • teams own clear business domains
  • services can deploy independently
  • data ownership is clear
  • you already have observability
  • operational maturity exists

I would avoid them when:

  • the team is small
  • the domain model is still changing every week
  • all services share one database anyway
  • local development already feels slow

That last one matters. If running the system locally becomes a ritual, developers will stop testing the full path.

Serverless Is Great for Spiky Workloads

Serverless is useful when traffic is bursty or event-driven.

Good fits:

  • image processing
  • webhook handlers
  • scheduled jobs
  • lightweight APIs
  • glue code between cloud services

Weak fits:

  • long-running tasks
  • low-latency hot paths with cold-start sensitivity
  • complex local debugging
  • workloads that need stable runtime control

Serverless can reduce ops work, but it can also hide complexity in IAM, retries, timeouts, and vendor-specific behavior.

Cloud-Native 3.0: What I Actually Care About

The 2026 cloud-native conversation is full of AI-agent platforms, edge compute, internal developer platforms, and policy automation.

That is interesting, but my practical checklist is still simple:

LayerQuestion
DeployCan we ship safely without one senior engineer babysitting?
ObserveCan we find the bad request in under 10 minutes?
RecoverCan we roll back or degrade gracefully?
CostDo we know which service is burning money?
SecurityAre secrets and permissions boring and auditable?

If those are weak, adding AI agents to the platform will not save the architecture.

My Default Recommendation

For most junior-to-mid teams in 2026, I would start here:

  1. Managed database
  2. One deployable backend
  3. CDN for static assets
  4. Queue for slow work
  5. Cache only after measurement
  6. Containerization when deployment needs it
  7. Kubernetes only when the platform pain is real

This path is not flashy. It is easier to debug at 2 a.m.

Final Thought

Good cloud architecture is not the most advanced diagram. It is the smallest system that can survive the current business pressure.

Where did your team overcomplicate cloud architecture too early?

相关阅读

Sustainable Cloud Design Starts With Boring Cost Signals

A practical cloud sustainability guide for developers: right-sizing, autoscaling, regions, storage lifecycle, carbon-aware thinking, and cost visibility.

cloud

Database Table Design Starts With the Queries You Need

A practical database table design guide focused on queries, keys, indexes, normalization, constraints, and production tradeoffs.

database

Kubernetes Is Useful, but Only After These Basics Hurt

A practical Kubernetes guide for developers: pods, deployments, services, config, scaling, and when not to introduce Kubernetes too early.

kubernetes

原文发布

本文首发于 dev.to,评论与点赞保留在原站。

在 dev.to 继续阅读
上一篇React Three Fiber: Build a 3D Scene Without Fighting ReactA code-first React Three Fiber setup with lighting, controls, materials, and the mistakes that make your first scene render black.
返回全部文章
下一篇CSS 3D Transform Bugs Usually Come From PerspectiveA practical CSS 3D transform guide explaining perspective, rotateX, rotateY, transform-style, backface visibility, and debugging layout.
返回档案
M4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYU
始于 2024
ZhenXiao Mark YuZhenXiao Mark Yu
联系

看到什么有意思的?和我聊聊。

这是一个作品集,不是服务 · 但每一条留言我都会看 — 如果哪里让你有所触动,或者只想打个招呼,欢迎写信过来。

开启对话
频道开放

随时打个招呼 · 2026

--:--:--EST加拿大 安大略
  • 邮件
  • GitHub
  • dev.to
  • 领英
  • 推特 / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat

订阅

偶尔收到一封简讯

来自 m4rkyu.com 的笔记与日志——简短、标注日期、没有杂音。随时可退订。

作品

线上发布、游戏作品与视觉档案。

  • 项目
  • 游戏
  • 档案
  • 日志

资源

每日好用的工具与个人收藏的链接库。

  • 搜索
  • 最新
  • 工具
  • 链接
  • 笔记
  • 主题
  • 商店
RSSJSON Feed

工作室

背景、联系方式以及合作渠道。

  • 关于
  • 联系
  • 更新日志
  • 技术说明
  • 简历筹备中

社交

在常去的平台上找到我。

  • GitHub
  • dev.to
  • 领英
  • 推特 / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
  • 邮件
© 2026 ZhenXiao Mark Yumarkyu0615@gmail.com
  • 邮件
  • GitHub
  • dev.to
  • 领英
  • 推特 / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
隐私条款由 Next.js 16 · React 19 · Tailwind 4 构建