UML diagramy nasazení
Co kde běží. Uzly, artefakty nasazené na ně a spojení mezi nimi - diagram, který opravdu potřebuje infrastrukturní revize, bezpečnostní revize nebo incident ve tři ráno.
7 min čteníUML 2.5.121 z 35
Krátká odpověď
- Artefakty se nasazují na uzly, uzly se nenasazují nikam. JAR je artefakt, JVM, která ho běží, je uzel.
- Zařízení je hardware, vykonávací prostředí je software hostící jiný software. Obojí jsou uzly a prostředí se kreslí vnořené do zařízení.
- Obyčejná čára mezi uzly je komunikační cesta. Označte ji protokolem - právě ten popis dělá diagram užitečným při bezpečnostní revizi.
- Tohle není neformální architektonický obrázek. Uzly, artefakty, deploy a komunikační cesty mají definovanou sémantiku, takže se dva čtenáři na tvrzení shodnou.
01Co ukazuje#
Diagram nasazení mapuje software na hardware. Je to jediný UML diagram, který mluví o fyzickém světě - o strojích, kontejnerech, síťových spojeních - a odpovídá na otázku, na kterou žádný jiný diagram neumí: když tahle krabice shoří, co přestane fungovat?
Je to zároveň diagram, o který nejpravděpodobněji požádá někdo, kdo není vývojář. Bezpečnostní posudky, plány obnovy po havárii, otázky o místě uložení dat i rozhovory o nákladech začínají od „kde to vlastně běží a co s čím mluví“.
02Uzly, artefakty, cesty#
| Prvek | Notace | Co znamená |
|---|---|---|
| Uzel | prostorový box | Něco, co počítá nebo ukládá. Obecný případ; dva stereotypy níže ho zužují. |
| Zařízení | prostorový box, «device» | Fyzický hardware: server, telefon, load balancer, databázový hostitel. |
| Vykonávací prostředí | prostorový box, «executionEnvironment» | Software, který hostí jiný software: JVM, kontejnerový runtime, cluster Kubernetes, serverless platforma. |
| Artefakt | obdélník, «artifact» | Fyzický soubor, který se nasazuje: jar, image, binárka, konfigurační soubor. Pojmenovaný jako skutečný soubor. |
| Nasazení | vnoření nebo šipka «deploy» | Tenhle artefakt běží na tom uzlu. Nakreslit ho dovnitř je jasnější než šipka, když se to vejde. |
| Komunikační cesta | obyčejná plná čára | Dva uzly spolu umí mluvit. Označte ji protokolem a portem - právě tam je ta hodnota. |
03Kolik detailu#
Diagramy nasazení hnijí rychleji než kterýkoli jiný druh, protože infrastruktura se mění týdně a diagramy ne. Způsob, jak jeden udržet užitečným, je nakreslit ho ve výšce, která se mění pomalu.
Kreslete topologii, ne inventuru.„Cluster Kubernetes“ zůstane pravdou roky. „Tři instance m5.large v eu-central-1b“ jsou do dalšího čtvrtletí špatně a patří do repozitáře s infrastrukturou jako kódem, což je jediné místo, kde můžou být správně.
Označte spojení. Čára, která nic neříká, je téměř bezcenná; čára, která říká TCP 5432, HTTPS nebo AMQP over TLS, je to, kvůli čemu si bezpečnostní posuzovatel diagram čte. Totéž platí pro hranice důvěry - pokud spojení přechází z vaší sítě do cizí, řekněte to.
Kreslete násobnost tam, kde na ní záleží. Uzel může nést násobnost stejně jako třída. Napsat 1..* na aplikační uzel a 1 na databázi říká o režimech selhání systému něco skutečného.
04Kdy takový nakreslit#
Sáhněte po něm, když
- Bezpečnostní posudek nebo soulad - co přechází přes kterou hranici a jakým protokolem
- Obnova po havárii a analýza selhání - co je jediné a co je redundantní
- Zaškolení někoho, kdo má systém provozovat, ne jen měnit
- Otázky o místě uložení dat: která data sedí v které jurisdikci
Sáhněte po něčem jiném, když
- Celý systém je jeden proces na jednom stroji
- Vaše infrastruktura jako kód to už popisuje a opravdu se čte
- Myslíte logické služby a kontrakty - použijte diagram komponent
- Musel by se aktualizovat každý sprint, aby zůstal pravdivý
05Časté chyby#
- Neoznačené komunikační cesty.Obsahem jsou protokol a port. Bez nich čára říká jen „tyhle jsou spojené“.
- Komponenty nakreslené tam, kam patří artefakty. Uzly hostí soubory. Dejte na uzel
checkout.jaraCheckoutnechte na diagramu komponent. - Detail o instancích, který nemůže zůstat pravdivý. Názvy hostitelů a velikosti instancí patří do kódu, ne do diagramu.
- Žádné hranice důvěry. Pokud jsou některé uzly vaše a některé třetí strany, bývá právě tohle rozlišení tou nejdůležitější věcí na stránce.
- Jeden diagram na každé prostředí. Nakreslete produkci. Rozdíly poznamenejte v textu; nekreslete čtyři téměř identické diagramy, které se rozejdou.
Po jednom řádku na každé
- 01Jediný UML diagram o fyzické realitě: co kde běží a co s čím mluví.
- 02Uzly vykonávají nebo ukládají; «device» je hardware, «executionEnvironment» je hostící software.
- 03Artefakty jsou soubory - jary, image, binárky - a vnořit je do uzlu znamená, že jsou tam nasazené.
- 04Komunikační cesty vždy označte protokolem a portem.
- 05Kreslete topologii, která se mění pomalu; inventuru nechte infrastruktuře jako kódu.
- 06Vyznačte hranice důvěry - kvůli tomu si posuzovatelé přišli.
06Časté dotazy#
Jaký je rozdíl mezi uzlem a artefaktem?
Uzel je hardware nebo vykonávací prostředí: server, kontejner, JVM. Artefakt je fyzický soubor, který vznikl vývojem, například JAR, obraz nebo konfigurační soubor. Artefakty se nasazují na uzly; uzly se nenasazují nikam.
Jaký je rozdíl mezi zařízením a vykonávacím prostředím?
Obojí jsou uzly. Zařízení je fyzický nebo virtuální hardware, označený klíčovým slovem device. Vykonávací prostředí je software hostící jiný software, například aplikační server nebo běhové prostředí kontejnerů, a běžně se kreslí vnořené do zařízení, které ho běží.
Co je komunikační cesta?
Obyčejná čára mezi dvěma uzly, která znamená, že si mohou vyměňovat zprávy. Obvykle je označená protokolem nebo sítí, a právě to dělá diagram nasazení užitečným při infrastrukturní nebo bezpečnostní revizi.
Je diagram nasazení totéž co architektonický diagram?
Ne. Většina takzvaných architektonických diagramů jsou neformální rámečky a šipky. Diagram nasazení je UML diagram struktury s definovanou sémantikou: uzly, artefakty, vztah deploy a komunikační cesty, takže dva lidé, kteří ho čtou, se shodnou na tom, co tvrdí.
V této sérii
- 01Co je UML?
- 02Symboly UML
- 03Výběr diagramu
- 04Diagramy tříd
- 05Příklady diagramů tříd
- 06Jak nakreslit diagram tříd
- 07Symboly diagramu tříd
- 08Sekvenční diagramy
- 09Příklady sekvenčních diagramů
- 10Jak nakreslit sekvenční diagram
- 11Diagramy případů užití
- 12Příklady případů užití
- 13Diagramy aktivit
- 14Příklady aktivit
- 15Stavové diagramy
- 16Příklady stavových diagramů
- 17Diagramy komponent
- 18Příklady komponent
- 19Kreslení diagramu komponent
- 20Symboly komponent
- 21Diagramy nasazení
- 22Příklady nasazení
- 23Diagramy objektů
- 24Diagramy balíků
- 25Diagramy složené struktury
- 26Komunikační diagramy
- 27Sekvenční vs komunikační
- 28Časové diagramy
- 29Diagramy přehledu interakcí
- 30Diagramy profilů
- 31UML pomocí AI
- 32Příklad e-shopu
- 33Příklad banky
- 34Příklad mikroslužeb
- 35Příklad AWS
Související články
Základy
Diagramy struktury
Diagramy struktury
Diagramy struktury
Diagramy struktury
Diagramy struktury