Architecture and design patterns for serverless applications
Název práce: | Architecture and design patterns for serverless applications |
---|---|
Autor(ka) práce: | Philipp, Lukáš |
Typ práce: | Bakalářská práce |
Vedoucí práce: | Feuerlicht, Jiří |
Oponenti práce: | Bruckner, Tomáš |
Jazyk práce: | Česky |
Abstrakt: | Práce se zabývá problematikou FaaS modelu neboli Serverless, návrhových a architektonických vzorů, které jsou využitelné pro aplikace, které jsou postavené na této nové technologii. Cílem práce je nejprve zanalyzovat Serverless a FaaS, zjistit jejich charakteristiky a z nich vycházející výhody a nevýhody. Dále budou poté ze zjištěných informací představeny jak základní návrhové vzory, které jsou nutné pro běžný běh aplikací na tomto modelu, tak ty, které řeší palčivé problémy této technologie. K dosažení zmíněných cílů byla použita literární rešerše a analýza textů zabývajících se jak problematikou Serverless jako modelu cloud computingu, tak i prací zabývajících se specificky návrhovými vzory. V práci bylo identifikováno 8 charakteristik, 4 výhody, 4 nevýhody, ze kterých byly vytvořeny 4 kategorie motivací pro návrhové vzory. K těmto byla přidána jedna další kategorie, která se věnuje architektuře Serverless aplikací. Tyto kategorie jsou: Architektura služby, Zpoždění a dostupnost, Vázání na poskytovatele, Řízená událostmi a jako poslední Bezstavové a pomíjející. V praktické části byly poté vytvořeny 2 ukázkové aplikace využívající nalezené vzory. Celkově bylo nalezeno 18 architektonických nebo návrhových vzorů pojednávajících o řešení problémů, které souvisejíc s touto novou technologií. Mezi základní návrhové vzory patří: Externalizace stavu, Správce události, Api správce, Časovač. Důležité vzory poté jsou: Nasazovací framework, který umožňuje rychlé nasazení na Serverless platformu nebo Jistič hlídající funkčnost částí aplikace, Dotazník na změny pomáhající s prací externími daty, Ohřívač funkcí, který udržuje funkce takzvaně teplé, či Řetěz funkcí, který odstraňuje problém s časovým omezením FaaS funkcí. Ovšem i zbylé vzory mohou poskytnout silná řešení pro různé problémy. |
Klíčová slova: | funkce jako služba; architektura; návrhové vzory; Serverless; faas |
Název práce: | Architecture and design patterns for serverless applications |
---|---|
Autor(ka) práce: | Philipp, Lukáš |
Typ práce: | Bachelor thesis |
Vedoucí práce: | Feuerlicht, Jiří |
Oponenti práce: | Bruckner, Tomáš |
Jazyk práce: | Česky |
Abstrakt: | This thesis deals with the issue of FaaS model or Serverless, design and architecture patterns used for applications built upon this new technology. The goal of this thesis is to analyse Serverless and FaaS, identify their characteristics and the resulting advantages and disadvantages. From this information then find and introduce both the basic design patterns needed for applications built on this model and the patterns that help solve deeper problems of this technology. To achieve these goals both literature research and analyses were used to study not only texts dealing with topic of Serverless as cloud computing model but also papers discussing specifically with its design patterns. In the thesis there was identified 8 characteristics, 4 advantages, 4 disadvantages, from which there were created 4 main categories of motivations. One additional category was added that is focused on the architecture of the Serverless applications. These categories are: Service architecture, Delay and availability, Vendor lock-in, Event-driven and lastly Stateless and ethereal. Two sample applications have been created in the practical part using found patterns. Overall, there have been 18 architectural or design patterns identified dealing with solving the problems associated with this new technology. The essential design patterns are: Externalized state, Event manager, API manager, Timer. The important patterns are: Deployment framework, that allows quick deployment to the Serverless platforms, Circuit breaker controlling correct functioning of different application parts, Polling for changes that helps with external data, Function warmer, that keeps the functions “warm” or Function chain, that removes the timeout limit from FaaS functions. The remaining patterns also provide powerful solutions for different problems. |
Klíčová slova: | design patterns; function as a service; Serverless; faas; architecture |
Informace o studiu
Studijní program / obor: | Aplikovaná informatika/Aplikovaná informatika |
---|---|
Typ studijního programu: | Bakalářský studijní program |
Přidělovaná hodnost: | Bc. |
Instituce přidělující hodnost: | Vysoká škola ekonomická v Praze |
Fakulta: | Fakulta informatiky a statistiky |
Katedra: | Katedra informačních technologií |
Informace o odevzdání a obhajobě
Datum zadání práce: | 6. 1. 2021 |
---|---|
Datum podání práce: | 12. 12. 2021 |
Datum obhajoby: | 31. 1. 2022 |
Identifikátor v systému InSIS: | https://insis.vse.cz/zp/75683/podrobnosti |