12 astmeline rakendus (2/2)

Joel Edenberg

7. Unikaalne kättesaavus (port)

  • rakendus peaks olema sõltumatu teistest rakendustest ja täielikus isolatsioonis. Teenus on kättesaadav üle unikaalse pordi.
  • Seda põhimõtet rikuvad näiteks veebiserverid, mis sisaldavad rohkem kui 1 teenust (rakenduse installatsiooni, näiteks WAR faili).

8. Paralleelsus

  • arhitektuur on disainitud paralleelseks tööks
  • võimaldab horisontaalset skaleerivust

9. Ära visatavus

  • rakendus võib iga hetk ära surra, aga see ei tohiks mõjutada lõppkasutajaid
  • korrektne sulgumine ja enda järelt puhastamine. Kõik poolikud protsessid tuleb jätta sellisesse olekusse, et neid saab uuesti teha ja ka tehakse.
  • uute rakenduse protsesside kiire käivitus

10. Arendus ning tootmiskeskkondade sarnasus

  • keskkonnad võimalikult sarnased, et vältida ühilduvuse probleeme.
  • erinevus ainult keskkonamuutujate väärtustes

11. Logid

  • salvesta ühte standardsesse kohta - standard out, suvalisse faili
  • logide töötlemine ja agregeerimine ei ole rakenduse enda ülesanne. Selle jaoks tuleks kasutada eraldi teenuseid, näiteks Logstash.

12. Administreerimise tööriistad

  • peaksid olema ülejäänud rakendusest eraldi, kuid jooksma samas keskkonnas kus tegelik rakendus ning kasutama sama konfiguratiooni.
  • asuma samas koodibaasis, et versioonid kattuksid
Manifest
12 Factor App