UML diagramy nasadenia
Čo kde beží. Uzly, artefakty nasadené na ne a spojenia medzi nimi - diagram, ktorý naozaj potrebuje infraštruktúrna revízia, bezpečnostná revízia alebo incident o tretej ráno.
7 min čítaniaUML 2.5.121 z 35
Krátka odpoveď
- Artefakty sa nasadzujú na uzly, uzly sa nenasadzujú nikam. JAR je artefakt, JVM, ktorá ho beží, je uzol.
- Zariadenie je hardvér, vykonávacie prostredie je softvér hostiaci iný softvér. Oboje sú uzly a prostredie sa kreslí vnorené do zariadenia.
- Obyčajná čiara medzi uzlami je komunikačná cesta. Označte ju protokolom - práve ten popis robí diagram užitočným pri bezpečnostnej revízii.
- Toto nie je neformálny architektonický obrázok. Uzly, artefakty, deploy a komunikačné cesty majú definovanú sémantiku, takže dvaja čitatelia sa na tvrdení zhodnú.
01Čo ukazuje#
Diagram nasadenia mapuje softvér na hardvér. Je to jediný UML diagram, ktorý hovorí o fyzickom svete - o strojoch, kontajneroch, sieťových spojeniach - a odpovedá na otázku, na ktorú žiadny iný diagram nevie: keď táto krabica zhorí, čo prestane fungovať?
Je to zároveň diagram, o ktorý najpravdepodobnejšie požiada niekto, kto nie je vývojár. Bezpečnostné posudky, plány obnovy po havárii, otázky o mieste uloženia dát aj rozhovory o nákladoch začínajú od „kde to vlastne beží a čo s čím hovorí“.
02Uzly, artefakty, cesty#
| Prvok | Notácia | Čo znamená |
|---|---|---|
| Uzol | priestorový box | Niečo, čo počíta alebo ukladá. Všeobecný prípad; dva stereotypy nižšie ho zužujú. |
| Zariadenie | priestorový box, «device» | Fyzický hardvér: server, telefón, load balancer, databázový hostiteľ. |
| Vykonávacie prostredie | priestorový box, «executionEnvironment» | Softvér, ktorý hostí iný softvér: JVM, kontajnerový runtime, klaster Kubernetes, serverless platforma. |
| Artefakt | obdĺžnik, «artifact» | Fyzický súbor, ktorý sa nasadzuje: jar, image, binárka, konfiguračný súbor. Pomenovaný ako skutočný súbor. |
| Nasadenie | vnorenie alebo šípka «deploy» | Tento artefakt beží na tom uzle. Nakresliť ho dovnútra je jasnejšie než šípka, keď sa to zmestí. |
| Komunikačná cesta | obyčajná plná čiara | Dva uzly spolu vedia hovoriť. Označte ju protokolom a portom - práve tam je tá hodnota. |
03Koľko detailu#
Diagramy nasadenia hnijú rýchlejšie než ktorýkoľvek iný druh, lebo infraštruktúra sa mení týždenne a diagramy nie. Spôsob, ako jeden udržať užitočným, je nakresliť ho vo výške, ktorá sa mení pomaly.
Kreslite topológiu, nie inventúru.„Klaster Kubernetes“ zostane pravdou roky. „Tri inštancie m5.large v eu-central-1b“ sú do nasledujúceho štvrťroka nesprávne a patria do repozitára s infraštruktúrou ako kódom, čo je jediné miesto, kde môžu byť správne.
Označte spojenia. Čiara, ktorá nič nehovorí, je takmer bezcenná; čiara, ktorá hovorí TCP 5432, HTTPS alebo AMQP over TLS, je to, kvôli čomu si bezpečnostný posudzovateľ diagram číta. To isté platí pre hranice dôvery - ak spojenie prechádza z vašej siete do cudzej, povedzte to.
Kreslite násobnosť tam, kde na nej záleží. Uzol môže niesť násobnosť rovnako ako trieda. Napísať 1..* na aplikačný uzol a 1 na databázu hovorí o režimoch zlyhania systému niečo skutočné.
04Kedy taký nakresliť#
Siahnite po ňom, keď
- Bezpečnostný posudok alebo súlad - čo prechádza cez ktorú hranicu a akým protokolom
- Obnova po havárii a analýza zlyhaní - čo je jediné a čo je redundantné
- Zaškolenie niekoho, kto má systém prevádzkovať, nielen meniť
- Otázky o mieste uloženia dát: ktoré dáta sedia v ktorej jurisdikcii
Siahnite po niečom inom, keď
- Celý systém je jeden proces na jednom stroji
- Vaša infraštruktúra ako kód to už popisuje a naozaj sa číta
- Myslíte logické služby a kontrakty - použite diagram komponentov
- Musel by sa aktualizovať každý šprint, aby zostal pravdivý
05Časté chyby#
- Neoznačené komunikačné cesty.Obsahom sú protokol a port. Bez nich čiara hovorí len „tieto sú spojené“.
- Komponenty nakreslené tam, kam patria artefakty. Uzly hostia súbory. Dajte na uzol
checkout.jaraCheckoutnechajte na diagrame komponentov. - Detail o inštanciách, ktorý nemôže zostať pravdivý. Názvy hostiteľov a veľkosti inštancií patria do kódu, nie do diagramu.
- Žiadne hranice dôvery. Ak sú niektoré uzly vaše a niektoré tretej strany, býva práve toto rozlíšenie tou najdôležitejšou vecou na stránke.
- Jeden diagram na každé prostredie. Nakreslite produkciu. Rozdiely poznamenajte v texte; nekreslite štyri takmer identické diagramy, ktoré sa rozídu.
Po jednom riadku na každé
- 01Jediný UML diagram o fyzickej realite: čo kde beží a čo s čím hovorí.
- 02Uzly vykonávajú alebo ukladajú; «device» je hardvér, «executionEnvironment» je hostiaci softvér.
- 03Artefakty sú súbory - jary, image, binárky - a vnoriť ich do uzla znamená, že sú tam nasadené.
- 04Komunikačné cesty vždy označte protokolom a portom.
- 05Kreslite topológiu, ktorá sa mení pomaly; inventúru nechajte infraštruktúre ako kódu.
- 06Vyznačte hranice dôvery - kvôli tomu si posudzovatelia prišli.
06Časté otázky#
Aký je rozdiel medzi uzlom a artefaktom?
Uzol je hardvér alebo vykonávacie prostredie: server, kontajner, JVM. Artefakt je fyzický súbor, ktorý vznikol vývojom, napríklad JAR, obraz alebo konfiguračný súbor. Artefakty sa nasadzujú na uzly; uzly sa nenasadzujú nikam.
Aký je rozdiel medzi zariadením a vykonávacím prostredím?
Oboje sú uzly. Zariadenie je fyzický alebo virtuálny hardvér, označený kľúčovým slovom device. Vykonávacie prostredie je softvér hostiaci iný softvér, napríklad aplikačný server alebo behové prostredie kontajnerov, a bežne sa kreslí vnorené do zariadenia, ktoré ho beží.
Čo je komunikačná cesta?
Obyčajná čiara medzi dvoma uzlami, ktorá znamená, že si môžu vymieňať správy. Zvyčajne je označená protokolom alebo sieťou, a práve to robí diagram nasadenia užitočným pri infraštruktúrnej alebo bezpečnostnej revízii.
Je diagram nasadenia to isté ako architektonický diagram?
Nie. Väčšina takzvaných architektonických diagramov sú neformálne rámčeky a šípky. Diagram nasadenia je UML diagram štruktúry s definovanou sémantikou: uzly, artefakty, vzťah deploy a komunikačné cesty, takže dvaja ľudia, ktorí ho čítajú, sa zhodnú na tom, čo tvrdí.
V tejto sérii
- 01Čo je UML?
- 02Symboly UML
- 03Výber diagramu
- 04Diagramy tried
- 05Príklady diagramov tried
- 06Ako nakresliť diagram tried
- 07Symboly diagramu tried
- 08Sekvenčné diagramy
- 09Príklady sekvenčných diagramov
- 10Ako nakresliť sekvenčný diagram
- 11Diagramy prípadov použitia
- 12Príklady prípadov použitia
- 13Diagramy aktivít
- 14Príklady aktivít
- 15Stavové diagramy
- 16Príklady stavových diagramov
- 17Diagramy komponentov
- 18Príklady komponentov
- 19Kreslenie diagramu komponentov
- 20Symboly komponentov
- 21Diagramy nasadenia
- 22Príklady nasadenia
- 23Diagramy objektov
- 24Diagramy balíkov
- 25Diagramy zloženej štruktúry
- 26Komunikačné diagramy
- 27Sekvenčný vs komunikačný
- 28Časové diagramy
- 29Diagramy prehľadu interakcií
- 30Diagramy profilov
- 31UML pomocou AI
- 32Príklad e-shopu
- 33Príklad banky
- 34Príklad mikroslužieb
- 35Príklad AWS
Súvisiace články
Základy
Diagramy štruktúry
Diagramy štruktúry
Diagramy štruktúry
Diagramy štruktúry
Diagramy štruktúry