tanszek:oktatas:informacios_rendszerek_integralasa:12_factor
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:informacios_rendszerek_integralasa:12_factor [2026/03/14 11:11] – [Cloud környezetben] knehez | tanszek:oktatas:informacios_rendszerek_integralasa:12_factor [2026/03/16 09:35] (current) – [Hibás gyakorlat] knehez | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 12-Factor App módszertan | + | ===== 12-Factor App módszertan ===== |
| ===== 1. faktor: Codebase ===== | ===== 1. faktor: Codebase ===== | ||
| Line 11: | Line 11: | ||
| Ha van egy webalkalmazásunk, | Ha van egy webalkalmazásunk, | ||
| - | * egy fejlesztői telepítés a programozók számára, | + | * egy **fejlesztői** telepítés a programozók számára, |
| - | * egy staging rendszer tesztelésre, | + | * egy **staging** rendszer tesztelésre, |
| - | * egy production rendszer a valódi felhasználóknak. | + | * egy **production** rendszer a valódi felhasználóknak. |
| A három környezet nem három külön projekt, hanem ugyanannak az alkalmazásnak három külön futtatási példánya. | A három környezet nem három külön projekt, hanem ugyanannak az alkalmazásnak három külön futtatási példánya. | ||
| Line 24: | Line 24: | ||
| </ | </ | ||
| - | ==== Hibás | + | ==== Hibás |
| < | < | ||
| Line 326: | Line 326: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Git repository] --> B[Dependency file] | A[Git repository] --> B[Dependency file] | ||
| B --> C[Automatikus telepítés] | B --> C[Automatikus telepítés] | ||
| Line 353: | Line 353: | ||
| Például: | Például: | ||
| - | | **Környezet** | **Adatbázis** | | + | ^ Környezet |
| | fejlesztői | localhost | | | fejlesztői | localhost | | ||
| | teszt | test-db | | | teszt | test-db | | ||
| Line 682: | Line 682: | ||
| Például Redis-ben: | Például Redis-ben: | ||
| - | <code> | + | <mermaid> |
| flowchart TD | flowchart TD | ||
| A[App instance 1] --> B[(Redis)] | A[App instance 1] --> B[(Redis)] | ||
| C[App instance 2] --> B | C[App instance 2] --> B | ||
| - | </code> | + | </mermaid> |
| Így minden alkalmazás példány ugyanazt az állapotot látja. | Így minden alkalmazás példány ugyanazt az állapotot látja. | ||
| Line 741: | Line 741: | ||
| * IIS | * IIS | ||
| - | Ebben a modellben a webszerver tölti be az alkalmazást, | + | Ebben a modellben a webszerver tölti be az alkalmazást, |
| - | + | ||
| - | A 12-Factor megközelítés ezzel szemben azt javasolja, hogy az alkalmazás **saját szervert indítson**, | + | |
| ==== Példa modern webalkalmazásra ==== | ==== Példa modern webalkalmazásra ==== | ||
| Line 908: | Line 906: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Terhelés növekedés] --> B[Új alkalmazás példány indítása] | A[Terhelés növekedés] --> B[Új alkalmazás példány indítása] | ||
| B --> C[Új példány fogadja a kéréseket] | B --> C[Új példány fogadja a kéréseket] | ||
| Line 928: | Line 926: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Stop jelzés] --> B[Folyamat befejezi az aktuális feladatot] | A[Stop jelzés] --> B[Folyamat befejezi az aktuális feladatot] | ||
| B --> C[Folyamat leáll] | B --> C[Folyamat leáll] | ||
| Line 962: | Line 960: | ||
| Például: | Például: | ||
| - | | **Fejlesztés** | **Production** | | + | ^ Fejlesztés |
| | SQLite adatbázis | PostgreSQL | | | SQLite adatbázis | PostgreSQL | | ||
| | lokális fájlrendszer | cloud storage | | | lokális fájlrendszer | cloud storage | | ||
| Line 1026: | Line 1024: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Alkalmazás] --> B[Stdout log stream] | A[Alkalmazás] --> B[Stdout log stream] | ||
| B --> C[Log gyűjtő rendszer] | B --> C[Log gyűjtő rendszer] | ||
| Line 1044: | Line 1042: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Application container] --> B[stdout] | A[Application container] --> B[stdout] | ||
| B --> C[Docker log system] | B --> C[Docker log system] | ||
| Line 1060: | Line 1058: | ||
| < | < | ||
| - | flowchart | + | flowchart |
| A[Application] --> B[Log stream] | A[Application] --> B[Log stream] | ||
| B --> C[Central log storage] | B --> C[Central log storage] | ||
| Line 1069: | Line 1067: | ||
| ===== 12. faktor: Admin Processes ===== | ===== 12. faktor: Admin Processes ===== | ||
| - | A tizenkettedik faktor szerint az alkalmazáshoz tartozó **adminisztratív vagy karbantartási feladatokat külön folyamatként kell futtatni**, ugyanabban a környezetben, | + | A tizenkettedik faktor szerint az alkalmazáshoz tartozó **adminisztratív vagy karbantartási feladatokat külön folyamatként kell futtatni**, ugyanabban a környezetben, |
| - | + | ||
| - | Az adminisztratív feladatok nem a normál alkalmazásfolyamat részei, hanem **egyszeri vagy időszakos műveletek**, | + | |
| ==== Példák adminisztratív folyamatokra ==== | ==== Példák adminisztratív folyamatokra ==== | ||
| Line 1124: | Line 1120: | ||
| Konténeres rendszerben egy admin-feladat külön konténerként is futtatható. | Konténeres rendszerben egy admin-feladat külön konténerként is futtatható. | ||
| - | <code> | + | <mermaid> |
| flowchart TD | flowchart TD | ||
| A[Application container] --> C[(Database)] | A[Application container] --> C[(Database)] | ||
| B[Migration container] --> C | B[Migration container] --> C | ||
| - | </code> | + | </mermaid> |
| A migrációs konténer csak egyszer fut le. | A migrációs konténer csak egyszer fut le. | ||
tanszek/oktatas/informacios_rendszerek_integralasa/12_factor.1773486703.txt.gz · Last modified: 2026/03/14 11:11 by knehez
