Microservices

마이크로서비스

Services become independent deployment units connected over a network.

···
html
<div class="scene"><div class="title">INDEPENDENT RELEASES</div><div class="row services"><div class="tile">ORDERS<br><b>v1</b></div><div class="wire">↔</div><div class="tile" id="pay">PAYMENTS<br><b id="version">v1</b></div><div class="wire">↔</div><div class="tile">NOTIFY<br><b>v1</b></div></div><div class="muted" id="releaseNote">Deploy Payments without redeploying others</div></div>
css
.scene{width:min(94vw,760px);height:min(86vh,320px);padding:clamp(10px,2.5vmin,18px);border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--fg);font:500 clamp(11px,1.3vw,16px)/1.25 "Pretendard Variable",Pretendard,-apple-system,sans-serif;display:flex;flex-direction:column;gap:clamp(7px,1.6vmin,12px);overflow:hidden}.scene *{box-sizing:border-box}.title{font-weight:750;color:var(--accent)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,monospace}.row{display:flex;align-items:center;justify-content:center;gap:clamp(5px,1.4vmin,12px);flex:1;min-height:0}.tile{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:clamp(6px,1.6vmin,12px);text-align:center;min-width:0}.on{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.pulse{animation:pulse 1.6s infinite alternate}@keyframes pulse{to{border-color:var(--accent);transform:translateY(-3px)}}.services .tile{flex:1;min-width:0;padding:clamp(7px,2vmin,20px) 2px}.services b{display:block;color:var(--accent);margin-top:8px}.wire{color:var(--accent);animation:blink 1s infinite alternate}@keyframes blink{to{opacity:.2}}
js
let version=1;function deploy(){version=version===1?2:1;document.getElementById('version').textContent='v'+version;document.getElementById('pay').classList.toggle('on',version===2);document.getElementById('releaseNote').textContent=version===2?'Only Payments is v2':'Orders, Payments, Notify at v1'}deploy();setInterval(deploy,1600)

Microservices split business capabilities into separate processes and releases. Teams can change one service independently, while interservice calls must account for network failures.

The demo upgrades only Payments while Orders and Notifications stay put. Contracts, observability, consistency, and operations become more involved after the split.

When to use

Consider them when capabilities genuinely need different release cadences or scaling profiles.

Open as page ↗