Kezelése nem pont a tervezés felhő alkalmazások

Négy módon megbízhatóságának javítása felhő alkalmazások

Peter Bedll. Műszaki igazgató, Powwow

Peter Bell (Peter Bell) technikai igazgatója a lean startup Powwow található New Yorkban. Elhangzott a nemzetközi szinten, és sokat írt a témák a cloud computing, domain nyelvek, dinamikus architektúrák, NoSQL, és a követelmények és értékelések. Részt vett számos konferencián, többek DLD Konferencia, ooPSLA, Kódgenerálási, praktikus termék Lines, a British Computer Society Software Practices Haladás, UberConf, a Rich Web tapasztalat és a No Fluff Csak Stuff túra. Megjelent IEEE Software. Dr. Dobbs. IBM developerWorks. Az Information Week. Módszerek - Tools. Tört kód. NFJS a magazin. JSMag és GroovyMag. Rendszeres oktató a Közgyűlés - Technology egyetemen, a tervezés és az üzleti New Yorkban.

Mi a megbízhatóság a

Sok meghatározásai szoftver megbízhatóságát. Úgy vélem, hogy a gyakorlatban, a legfontosabb dolog az, hogy.
Legyen a felhasználók számára, hogy használja a rendszert, hogy elérjék céljaikat.

Szigorúan véve, csak nem számít, ha senki nem próbál használni az alkalmazást. És ha az alkalmazás szempontjából a felhasználók munkáját, akkor nem számít, hogy a fogyatékkal élő pillanatában az alrendszer, amelynek nincsenek tisztában.

Hasonlóképpen nem számít állást, ha a felhasználó nem tudja ellátni, amelyekre szükségük van a műtét hibák miatt az alkalmazás kódját.

Ez fontos helyzetben, mert összpontosítani a legfontosabb dolog - a kapott érték a felhasználók számára a rendszer, és nem a névleges működési alrendszer.

Tekintsük négy módja van a tervezés erős és megbízható web-alapú alkalmazások:

  • Számának csökkentése meghibásodási pontok.
  • magatartás kezelésére hibák.
  • hibaérzékelése.
  • Megelőzése hibák segítségével tervezési stratégiák, fejlesztési, tesztelési és telepítését.

Számának csökkentése meghibásodási pontok

Az első módszer a megbízhatóság növelése érdekében, hogy csökkentse a számot, vagy megszüntesse meghibásodási pontok. Építészet felhő alkalmazások egyszerűsíteni ezt a folyamatot, mert ők inkább elméleti számítási blokkokat. Ha a számítási felhő nem kell aggódni az ilyen dolgok, mint hogy két hálózati kártya egy szerver, a kapcsolatok minőségét és kábelek, valamint annak valószínűségét, hogy a véletlenszerű megszakítást. Is, akkor nem kell aggódnia, a RAID-tömbök szintjén és milyen merevlemez modellek ésszerű MTBF.

Az előfordulása meghibásodási pontok az alkalmazástól függ, de általában ezek átmennek a következő területeken:

  • DNS-szervereket.
  • Web-szerverek.
  • adatbázis-szerver.
  • Fájlszerverek.
  • terhelés a forgalmazók.
  • Egyéb speciális szerverek.
  • A kölcsönös függőség a harmadik féltől származó alkalmazások.

Az 1. ábra mutatja a tipikus meghibásodási pont.

1. ábra: A tipikus meghibásodási pontok

DNS-szerverek

Számos szervezet helyezi az alkalmazások a felhő, továbbra is használhatja különálló DNS-szervereket. Fontos, hogy megbizonyosodjon arról, hogy Ön vagy a szolgáltató DNS-szolgáltatás van néhány DNS-kiszolgálók, amelyek a DNS-rekordok az alkalmazások különböző adatközpontok. A megbízhatóság az Ön web-hosting egyáltalán nem számít, ha a felhasználó nem tudja, hogy a DNS-bejegyzés az alkalmazás eléréséhez. Elemezze a beállításait DNS-kiszolgálók és ellenőrizze ez könnyen javítható egyetlen meghibásodási pont.

Web-szerverek

Számos speciális építészeti technikák, amelyeket érdemes odafigyelni, ha azt szeretné, hogy néhány Web-szerverek átálláshoz az esetleges meghibásodása esetén az egyiket. Először is, nem szükséges, hogy egy helyi fájlrendszert, Web-szerverek tárolására minden fontos információt. Annak, aki általában azt írja iránti kérelmet egy Web-szerver, akkor szokatlan. Azonban fel kell tételezni, hogy minden szerver bármikor sikertelen lehet, így ha a felhasználó akarja feltölteni a fájlokat, vagy szeretné rögzíteni az információkat, erre egy külön file-rendszer vagy adatbázis mindenki számára hozzáférhető, Web-szerverek. Így a felhasználó a kép feltöltéséhez egy kiszolgálót, majd hozzáférni bármely más szerverek, ha az elsődleges szerver meghibásodik.

adatbázisszerverektől

Fontos, hogy megértsük a követelmények az adatbázis szerver, és válassza ki a megfelelő technológia és skálázás stratégia. Például ha egy tartalomkezelő rendszer nagy számú olvasás és a viszonylag kis számú írási műveletek, lehetséges, hogy vegye figyelembe egyetlen meghibásodási pont, hogy írjon az adatbázisban. Ebben az esetben lehetőség van arra, hogy végre egy relációs adatbázis replikáció type master-slave (master-slave), ha csak az egyik fő csomópont és a szolga továbbra is szolgálni az olvasási művelet esetén is tény, hogy a master szerver. Ha a megbízhatóság is fontos, olvas és ír, akkor érdemes használni a legkülönbözőbb SQL-nem tároló, amelyek egyszerűsítik elosztva több tároló csomópont, ami növeli a megbízhatóságot és skálázhatóságot.

Ha, akkor is gondol a következetesség az adatbázis követelményeknek. Jelenleg sok webes léptékű alkalmazások mozognak a közvetlen koordináció egységek sokkal megbízhatóbb és termelékenyebb a végén elfogadott rendszerek. Az elfogadott rendszer végül nem garantálja, hogy egy és ugyanazon időben egy másik adatbázisba csomópont generál ugyanezeket az adatokat. Nyilvánvaló, hogy a készítmény a banki alkalmazások egy és ugyanabban az időben, különböző értékeket a számla egyenlege a különböző csomópontok elfogadhatatlan, ezért meglepő, nagyszámú rendszer, amely lehetővé teszi a végső adatok konzisztenciája cserébe jobb teljesítmény és a megbízhatóság.

fájlkiszolgálókon

Mint korábban említettük, egy megbízható rendszer, akkor valószínűleg nem fogja tartani a fontos információkat az egyes Web-szerverek. Ehelyett minden Web-szerverek fogja használni a dedikált szerver, hogy magukhoz statikus fájlokat. Győződjön meg arról, hogy az egyetlen meghibásodási pont nem hoz létre a fájl szerver használ, legyen szó felhő fájlrendszer beépített redundancia és failover, vagy saját rendszert egy terhelés-elosztás és több fájlszerver, hogy csatlakozzon egy vagy több fájl rendszerek szinkronizálva.

terhelések forgalmazók

Fontos megérteni, hogy a stressz és a forgalmazók maguk is létrehozhat egy ponton a kudarc. Szánj időt, hogy tanulmányozza a végrehajtását teherelosztás a felhő építészet és biztosítja, hogy egyetlen csomópont meghibásodása nem áll meg a működését az egész alkalmazást.

Egyéb speciális kiszolgálók

A legfontosabb ideje az ilyen rendszerek létrehozására - mértékének meghatározását fontossági amikor azok hibamentes működés az észlelés üzemidő az egész rendszer. Egyértelmű, hogy a vállalati üzenetküldő rendszer, amely az e-mail szállít a fő része az üzenet, e-mail kiszolgáló kritikus a megítélése állást, így kap körül az elutasítás több mail szervereket. Ha az e-mail szerver csak alkalmanként küld az e-mail üzenetek, mint például az „elfelejtett jelszó” vagy „állapot”, akkor lehet, hogy megakadályozzák az esetleges leállás nyújtva csak egy e-mail szerver.

A kölcsönös függőség a harmadik féltől származó alkalmazások

Nagyon gyakran a sikeres működése az alkalmazás függ hozzáférést harmadik felek által nyújtott szolgáltatások. Ha járuljon a Facebook, akkor a rendszer az OAuth Facebook szerverek a meghibásodási pont. Ha olyan keresési képességeket LexisNexis adatokat, ez a portál az alkalmazás meghibásodási pont. Amikor eldönti, hogyan kell kezelni a kapcsolódó potenciális meghibásodási pont kockázatot kell elemezni, mivel fontos, hogy a felhasználói élmény egy harmadik fél által nyújtott szolgáltatás, milyen gyorsan kell a kölcsönhatás és a valószínűsíthetően megszünteti a szolgáltatást.

2. ábra: További hibapontok

hibakezelés

Fontos, hogy elemezze, milyen a munka lesz kudarc, és tesztelni őket, hogy biztosítsák a várt eredményeket. Ha lekötni ülés nem használt, egy jól megtervezett forgalmazó terhelések Web szintű hiba általában nem észrevehető. Meg kell, hogy gondosan vizsgálja az adatbázis hiba a kiválasztott tároló rendszer, de a legtöbb adatbázisokat jó dokumentációban pontosan leírja, hogy mi történik, ha egy csomópont meghibásodása. Meg kell gondosan megtervezni a gazdálkodási hibák kölcsönható alrendszerek. Mi történik például, ha a Web-szerver küld a kérést a mail szerver, amely elfogadja a kérést, majd nem küld egy üzenetet?

Egy másik tipikus megközelítés ma használata üzenetsorokon, folyamat, és az üzeneteket alrendszerek között, és némi biztosítékot a szállítás (lásd. 3. ábra).

3. ábra Feladatátvevő nélkül helyi tároló

Számos üzenet sorok. Csak győződjön meg róla, hogy megértsük, hogyan fog futni a kiválasztott végrehajtására, ha az üzenet érkezett, de nem feldolgozott, valamint, hogy az összes lány viselkedik kiszámíthatóan meghibásodása esetén a számítógép, amelyen fut.

hibaérzékelése

Ha érdekli a megbízhatóság, a fontos, hogy figyelemmel kíséri a rendelkezésre állást az összes elem a rendszer. Akkor végre egy egyszerű ellenőrzés „szívdobbanás” az összes szerver, biztosítva, hogy ők a felelősek, bonyolíthatja a felügyeleti, ellenőrzési, például a sikeres üzenetek küldésére az e-mail szerver és a siker a fájl szerver válaszát, hogy egy adott fájlt.

Ez különösen fontos figyelembe venni felügyeleti kérelmeket küldött Web-szerverek egy átfogó ellenőrzési rendszer. Ne ellenőrizze a honlap betölteni, ha a statikus, és a többi a helyén dinamikusan beolvassa információt az adatbázisból. Ha van olyan alkalmazás, amely felhasználó hitelesítést igényel keresztül a vállalati számlavezető rendszer és kibontja az adatokat a vállalati erőforrás-tervezési rendszer (ERP), győződjön meg arról, hogy az ellenőrző script bejelentkezik, mint egy teszt felhasználót, hogy bekerült az ERP-rendszer, valamint hogy az adatokat az ERP-rendszer helyesen jelennek meg az üzenetben Web-szerver. Fontos, hogy használja a pass-through felügyelet ilyen jellegű, továbbá a felügyeleti alrendszerek, hogy biztosítsák a helyességét a kérelmet.

failover

Egyes hibák elkerülhetetlenek, de gyakran egy jól megtervezett hibatűrő rendszer jelentős része minden leállás az eredménye hibákat az alkalmazás kódját. Nem számít, hogy az alkalmazás fut - ha egyes felhasználók nem használják, hogy megoldja a problémát számukra a helyszínen nem igazán működik. Tehát, hogy maximalizálja a rendelkezésre állást a alkalmazásoknál fontos, hogy jó tervezési stratégia, az írás, tesztelés és telepítése kódot.

Test Driven Development

Az egyik leghatékonyabb módja annak, hogy az alkalmazás jól megtervezett és biztosítja az elvárt funkcionalitást, a fejlesztés a tesztelés (teszt-vezérelt fejlesztés - TDD). Ez az eljárás garantálja a helyességét a kódot, és jelentősen javítja a rugalmasságot és a minőségi design.

folyamatos integrációs

Az egyik legfontosabb alapelve a szoftverfejlesztés szól: ha valami adott komolyan csinálni gyakrabban. Ha integrációs tesztek igen nehéz elvégezni havonta követik őket hetente, hogy automatizálja a folyamatot, amíg már csak egy kattintással a teszteket minden frissítése után a fejlesztő forráskód verzió ellenőrzése.

folyamatos telepítését

következtetés

Ki lehet könnyebben, mint amilyen mindig is volt, hogy robusztus alkalmazások felhőinfrastruktúra, de fontos, hogy elemezzék az összes meghibásodási pontokat annak érdekében, hogy dolgozzon ki egy stratégiát és failover menteni a fontos adatokat meghibásodás esetén. Azt is meg kell vizsgálni annak lehetőségét, hogy az ilyen megközelítések fejlesztése révén tesztelés, folyamatos integrációs és folyamatos telepítését annak biztosítására alkalmazások munka, mint várták. Nem számít, hogy a szerver fut, ha a felhasználó nem tudja megoldani a problémákat hibák miatt az alkalmazás kódját.

Kapcsolódó cikkek