NetAcademia

A legjobbakat tanítjuk!

Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 4. Háttérszolgáltatások

2016. május 21. 08:00 - Plesz Gábor

Előző fejezet: 3. Beállítások, konfigurációkezelés

Következő fejezet: 5. Előállítás, telepítés, futtatás

4. Háttérszolgáltatások

Kezeljük a háttérszolgáltatásokat csatolt erőforrásokként.

Háttérszolgáltatás minden, amit az alkalmazás a normál működése közben hálózaton keresztül használ. Például idetartoznak az adatokat tároló rendszerek (Mint az MSSQL, MySQL vagy a CouchDB), az üzeneteket kezelő/sorbaállító rendszerek (mint a RabbitMQ  vagy a Beanstalkd), SMTP szolgáltatások a kimenő email kezeléséhez (mint a Postfix) és a gyorsítótárak (mint a Memcached).

A háttérszolgáltatásokat mint például az adatbázisokat általában ugyanazok az adminisztrátorok üzemeltetik, mint az alkalmazás telepített változatát. Az ilyen helyben kezelt és üzemeltetett szolgáltatásokon túlmenően az alkalmazás használhat harmadik fél által üzemeltetett szolgáltatásokat. Ilyenek például: SMTP (SendGrid, Mandrill, Postmark), telemetriát gyüjtő (New RelicLoggly), bináris eszközöket biztosító (Azure, Amazon S3), vagy akár API-n keresztül elérhető fogyasztói (Twitter, Google Maps, or Last.fm) szolgáltatók.

A 12 tényezős alkalmazásfejlesztési alapelveknek megfelelő alkalmazás nem tesz semmilyen különbséget saját, helyi vagy 3 személy által üzemeltetett szolgáltatások között. Az alkalmazás számára mindegyik csatolt erőforrás, URL-en vagy másmilyen elérésen keresztül elérhető, amit a konfigurációban tárolunk. A 12 faktoros alkalmazás telepítése képes arra, hogy a helyi MySQL adatbázisunkról átváltsunk egy külső szolgáltató által üzemeltetett szolgáltatásra (például: Amazon RDS) anélkül, hogy az alkalmazás kódján változtatni kéne. Hasonlóan, a saját SMTP szervert le kell tudnunk cserélni külső szolgáltatóra (mint például a Postmark) forráskód változtatás nélkül. Mindkét esetben egyedül konfigurációban az erőforrás kezelésének a beállításán kell változtatni.

Minden egyes háttérszolgáltatás egy erőforrás. Például, egy MySQL adatbázis az egy erőforrás, két MySQL adatbázis (horizontális skálázáshoz használva az alkalmazás rétegben) két különböző erőforrásnak minősül. A 12 tényezős alkalmazás ezeket csatolt erőforrásként használja, ez gyenge csatolást jelent az alkalmazás telepítései felöl, amik csatlakoznak az erőforráshoz.

A production deploy attached to four backing services.

Az erőforrásokat csatolhatjuk és eltávolíthatjuk az alkalmazás telepített példányától később, ha akarjuk. Például, ha az adatbázis működésképtelenné válik fizikai meghibásodás miatt, akkor az alkalmazás rendszergazdája fel tud húzni egy új adatbázist a korábbi mentésből. Az aktuális éles adatbázist le tudja választani, és az új adatbázist csatlakoztatni tudja, anélkül, hogy a kódbázison változtatni kéne.

The Twelve-Factor App: IV. Backing services

Szólj hozzá!

A bejegyzés trackback címe:

https://netacademia.blog.hu/api/trackback/id/tr298709694

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.