M4RKYU.SYSEdition 2027
Skip to content
LOCEN/Ontario · CA/▸logs · navigating the clouds a comprehensive guide to modern cloud infrastructures 35b5StandbyOK/--:--:--EST
M4M4RK_YUportfolio
  • BuildBuild
    BuildOverview
    • WorkSelected case studies and write-ups
    • GamesPlayable prototypes and game-dev logs
  • GalleryGallery
    GalleryOverview
    • PhotosPhoto collections and visual experiments
    • ShopPrints, posters, and one-off objects
  • WritingWriting
    WritingOverview
    • BlogLong-form devlogs and field notes
    • NotesShort observations, links, snippets
  • ResourcesResources
    ResourcesOverview
    • Tools38 in-browser developer utilities
    • LinksDaily-use dev and design bookmarks
  • AboutAbout
  • ContactContact
中文

syndicated · 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.

Published
May 19 '24
·
Reading time
3 min read
·
Reactions
16
cloudarchitecturedevopsbackend
View on dev.to

On this page

  • 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?

Related reading

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

originally published

This post first ran on dev.to. Comments and reactions live there.

Continue on dev.to
PreviousReact 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.
Back to all posts
NextCSS 3D Transform Bugs Usually Come From PerspectiveA practical CSS 3D transform guide explaining perspective, rotateX, rotateY, transform-style, backface visibility, and debugging layout.
Back to archive
M4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYU
Crafted since 2024
ZhenXiao Mark YuZhenXiao Mark Yu
get in touch

Saw something here?Tell me about it.

It's a portfolio, not a service · but I read every note — drop a line if anything here resonated, or just to say hi.

Start a conversation
open channel

say hi anytime · 2026

--:--:--ESTOntario, Canada
  • Email
  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat

Newsletter

Get the occasional dispatch

Notes and logs from m4rkyu.com — short, dated, no noise. Unsubscribe anytime.

Work

Production builds, games, and visual archives.

  • Projects
  • Games
  • Archive
  • Logs

Resources

Daily-use tools and a personal link library.

  • Search
  • Latest
  • Tools
  • Links
  • Notes
  • Topics
  • Shop
RSSJSON feed

Studio

Background, contact, and channels for collaboration.

  • About
  • Contact
  • Changelog
  • Colophon
  • Resumepending

Socials

Find me on the usual feeds.

  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
  • Email
© 2026 ZhenXiao Mark Yumarkyu0615@gmail.com
  • Email
  • GitHub
  • dev.to
  • LinkedIn
  • Twitter / X
  • Instagram
  • Facebook
  • YouTube
  • CodePen
  • Spotify
  • Snapchat
PrivacyTermsBuilt with Next.js 16 · React 19 · Tailwind 4