Platform engineering

플랫폼 엔지니어링

Give teams self-service templates for standard infrastructure and delivery paths.

···
html
<div class="stage" data-phase="0"><div class="title">INTERNAL PLATFORM · NEW SERVICE</div><div class="portal"><div class="menu panel">TEMPLATES<div class="choice">API service</div><div class="choice">Worker</div></div><div class="arrow">→</div><div class="provision panel"><b>TEAM SPACE</b><span>repository</span><span>pipeline</span><span>environment</span></div></div></div>
css
.stage{width:min(94vw,760px);height:min(88vh,330px);padding:clamp(9px,2.6vmin,20px);border:1px solid var(--line);border-radius:14px;background:var(--surface);font:600 clamp(12px,2.5vmin,16px)/1.3 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;display:flex;flex-direction:column;gap:clamp(6px,1.7vmin,12px);overflow:hidden;position:relative}.stage *{min-width:0}.stage .title{color:var(--accent);font-weight:800}.stage .sub{color:var(--muted)}.stage .row{display:flex;align-items:center;gap:clamp(5px,1.6vmin,12px)}.stage .panel{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:clamp(6px,1.6vmin,12px)}.stage .mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:clamp(12px,2.5vmin,15px)}.stage .grow{flex:1}.stage .on{color:var(--accent)}.portal{flex:1;min-height:0;display:flex;align-items:center;gap:7px}.menu,.provision{width:45%;height:90%;display:flex;flex-direction:column;justify-content:space-around}.menu{color:var(--muted)}.choice{padding:3px 6px;border-radius:5px;background:var(--surface);border:1px solid var(--line);color:var(--fg)}.arrow{color:var(--accent);font-size:clamp(18px,5vmin,30px)}.provision b{color:var(--accent)}.provision span{opacity:.55}.stage[data-phase="1"] .choice:first-child,.stage[data-phase="1"] .provision span:first-of-type{border-color:var(--accent);color:var(--accent);opacity:1}.stage[data-phase="2"] .provision span{opacity:1;color:var(--accent)}
js
const stage=document.querySelector('.stage');let phase=0;function advance(){phase=(phase+1)%3;stage.dataset.phase=String(phase)}const timer=setInterval(advance,1200);stage.addEventListener('pointerdown',()=>{clearInterval(timer);advance()})

Platform engineering packages repeated infrastructure and delivery work as an internal product for developer teams. A service template can create a repository, pipeline, and observability defaults together.

The demo walks from a portal template to a ready environment. A platform should reduce repeated choices while allowing necessary exceptions and clear ownership.

When to use

Use it when many teams repeatedly create similar services and environments.

Open as page ↗