Archyno
UMLDiagramy štruktúry

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ú.
UML diagram nasadenia. Zariadenie s prehliadačom komunikuje cez HTTPS s prostredím klastra Kubernetes, ktoré obsahuje dva artefakty, checkout.jar a orchestrator.jar. Klaster komunikuje cez TCP na porte 5432 so zariadením PostgreSQL 16.
Diagram nasadenia. Priestorové boxy sú uzly - veci, ktoré vykonávajú alebo ukladajú. Ploché boxy vnútri sú artefakty a práve to, že sú nakreslené vnútri, hovorí, že sú tam nasadené.

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#

PrvokNotáciaČo znamená
Uzolpriestorový boxNiečo, čo počíta alebo ukladá. Všeobecný prípad; dva stereotypy nižšie ho zužujú.
Zariadeniepriestorový box, «device»Fyzický hardvér: server, telefón, load balancer, databázový hostiteľ.
Vykonávacie prostrediepriestorový box, «executionEnvironment»Softvér, ktorý hostí iný softvér: JVM, kontajnerový runtime, klaster Kubernetes, serverless platforma.
Artefaktobdĺžnik, «artifact»Fyzický súbor, ktorý sa nasadzuje: jar, image, binárka, konfiguračný súbor. Pomenovaný ako skutočný súbor.
Nasadenievnorenie alebo šípka «deploy»Tento artefakt beží na tom uzle. Nakresliť ho dovnútra je jasnejšie než šípka, keď sa to zmestí.
Komunikačná cestaobyčajná plná čiaraDva 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#

  1. Neoznačené komunikačné cesty.Obsahom sú protokol a port. Bez nich čiara hovorí len „tieto sú spojené“.
  2. Komponenty nakreslené tam, kam patria artefakty. Uzly hostia súbory. Dajte na uzol checkout.jar a Checkout nechajte na diagrame komponentov.
  3. 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.
  4. Ž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.
  5. 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é

  1. 01Jediný UML diagram o fyzickej realite: čo kde beží a čo s čím hovorí.
  2. 02Uzly vykonávajú alebo ukladajú; «device» je hardvér, «executionEnvironment» je hostiaci softvér.
  3. 03Artefakty sú súbory - jary, image, binárky - a vnoriť ich do uzla znamená, že sú tam nasadené.
  4. 04Komunikačné cesty vždy označte protokolom a portom.
  5. 05Kreslite topológiu, ktorá sa mení pomaly; inventúru nechajte infraštruktúre ako kódu.
  6. 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

Súvisiace články

Všetky články