4. Háttértámogatás
Kezelje a háttértámogatást csatolt erőforrásként¶
Háttértámogatásnak számít bármelyik szolgáltatás, amelyet az alkalmazás a hálózaton keresztül fogyaszt azáltal, hogy része a normál működésének. Ilyen példák lehetnek adatbázisok (például MySQL vagy CouchDB), üzenetküldő/várakoztató rendszerek (például RabbitMQ vagy Beanstalkd), SMTP szolgáltatások kimenő e-mailekhez (például Postfix), és gyorsítótárazó rendszerek (például Memcached).
A hagyományosan az alkalmazás futásidejét telepítő rendszergazdák által kezelt háttértámogatások közé tartoznak az adatbázisok. Az alkalmazásnak lehetnek olyan szolgáltatásai, amelyeket harmadik felek biztosítanak és kezelnek. Ilyenek lehetnek például SMTP szolgáltatások (például Postmark), metrikagyűjtő szolgáltatások (például New Relic vagy Loggly), bináris tartalmak szolgáltatásai (például Amazon S3), és akár API-hozzáféréssel elérhető fogyasztói szolgáltatások (például Twitter, Google Térképek vagy Last.fm).
A tizenkét tényező alkalmazás kódja nem tesz különbséget a helyi és a harmadik féltől származó szolgáltatások között. Az alkalmazás számára mindkettő csatolt erőforrás, amelyet egy URL-en vagy más azonosítóban/titkosítóban tárolt konfigurációval érhet el. Az alkalmazás tizenkét tényezőre épülő telepítése képes cserélni a helyi MySQL adatbázist egy harmadik féltől kezelt adatbázissal (például az Amazon RDS-szel) anélkül, hogy bármilyen változtatást kellene eszközölni az alkalmazás kódjában. Hasonlóképpen, a helyi SMTP kiszolgálót is le lehet cserélni egy harmadik féltől származó SMTP szolgáltatással (például a Postmark-kal) kódváltoztatás nélkül. Mindkét esetben csak a konfigurációban kell módosítani az erőforrás hivatkozását.
Minden különálló háttértámogatás egy erőforrás. Például, egy MySQL adatbázis egy erőforrás; két MySQL adatbázis (amelyeket az alkalmazás réteges elosztásához használnak) két különálló erőforrásként számítanak. A tizenkét tényező alkalmazás csatolt erőforrásként kezeli ezeket az adatbázisokat, ami azt jelzi, hogy laza kapcsolatban vannak a hozzájuk csatlakoztatott telepítéssel.
Az erőforrások csatlakoztathatók és leválaszthatók a telepítésekről tetszőlegesen. Például, ha az alkalmazás adatbázisa hardverproblémák miatt nem megfelelően működik, az alkalmazás rendszergazdája létrehozhat egy új adatbázis-szervert, amelyet a legutóbbi biztonsági másolatból állít vissza. A jelenlegi termelési adatbázis leválasztható, és az új adatbázis csatlakoztatható - mindez kódváltoztatás nélkül.