Cílem diplomové práce je vytvoření nástroje pro monitorování většího množství Mon-goDB instancí. V teoretické části se práce zabývá rešerší dostupnosti informací ke sledo-vání v MongoDB. Následuje popis asynchronního programování v jazyce PHP, postupná integrace a tvorba grafického rozhraní. V praktické části se práce zabývá analýzou poža-davků na monitorovací nástroj, využití frameworku Icicle a navrhuje komunikaci pomocí WebSocketů. V další části se pak zabývá použitím integračních nástrojů Travis CI a Scru-tinizer CI a realizací grafického rozhraní v ReactJS. V případové studii je popsán způsob nasazení do produkčního prostředí využitím Docker kontejnerů, Docker Cloudu a Amazon Web Services. V poslední části se práce věnuje zabezpečení aplikace.
Annotation in English
The aim of this thesis is to build a tool for monitoring multiple instances of MongoDB. The theoretical part deals with the retrieval of possible available information to monitor MongoDB. Following part is a description of asynchronous programming in PHP, conti-nuous integration and graphical interface. In the practical part thesis analyzes the require-ments for monitoring utility usage and propose a framework Icicle and suggest a commu-nication via WebSockets. The next section deals with integration tools Travis CI and CI Scrutinizer and implementation of graphical user interface in ReactJS. The case study describes a deployment method to production environments using Docker containers, Doc-ker Cloud and Amazon Web Services. The last part deals with application security.
Cílem diplomové práce je vytvoření nástroje pro monitorování většího množství Mon-goDB instancí. V teoretické části se práce zabývá rešerší dostupnosti informací ke sledo-vání v MongoDB. Následuje popis asynchronního programování v jazyce PHP, postupná integrace a tvorba grafického rozhraní. V praktické části se práce zabývá analýzou poža-davků na monitorovací nástroj, využití frameworku Icicle a navrhuje komunikaci pomocí WebSocketů. V další části se pak zabývá použitím integračních nástrojů Travis CI a Scru-tinizer CI a realizací grafického rozhraní v ReactJS. V případové studii je popsán způsob nasazení do produkčního prostředí využitím Docker kontejnerů, Docker Cloudu a Amazon Web Services. V poslední části se práce věnuje zabezpečení aplikace.
Annotation in English
The aim of this thesis is to build a tool for monitoring multiple instances of MongoDB. The theoretical part deals with the retrieval of possible available information to monitor MongoDB. Following part is a description of asynchronous programming in PHP, conti-nuous integration and graphical interface. In the practical part thesis analyzes the require-ments for monitoring utility usage and propose a framework Icicle and suggest a commu-nication via WebSockets. The next section deals with integration tools Travis CI and CI Scrutinizer and implementation of graphical user interface in ReactJS. The case study describes a deployment method to production environments using Docker containers, Doc-ker Cloud and Amazon Web Services. The last part deals with application security.
Proveďte rešerši možnosti monitoringu databáze MongoDB.
Analyzujte požadavky na monitorovací nástroj.
Proveďte návrh a analýzu vhodné architektury pro aplikaci.
Navrhněte aplikaci sloužící k monitoringu databází.
Realizujte prototyp aplikace.
Věnujte pozornost zabezpečení aplikace a přenášených dat.
Popište formou případové studie nasazení monitorovací aplikace.
Research Plan
Proveďte rešerši možnosti monitoringu databáze MongoDB.
Analyzujte požadavky na monitorovací nástroj.
Proveďte návrh a analýzu vhodné architektury pro aplikaci.
Navrhněte aplikaci sloužící k monitoringu databází.
Realizujte prototyp aplikace.
Věnujte pozornost zabezpečení aplikace a přenášených dat.
Popište formou případové studie nasazení monitorovací aplikace.
Recommended resources
CHODOROW, Kristina. MongoDB: the definitive guide. 2nd ed. Sebastopol: O\symbol{39}Reilly, 2013, xix, 409 s. ISBN 978-1-4493-4468-9.
Practical mongodb: architecting, developing, and administering MongoDB. New York, NY: Springer Science+Business Media, 2015, pages cm. ISBN 9781484206485.
NIALL O\symbol{39}HIGGINS. MongoDB and Python. Farnham: O\symbol{39}Reilly, 2011. ISBN 9781449310370.
FOWLER, Martin. Destilované UML. 1. vyd. Praha: Grada, 2009, 173 s. Knihovna programátora (Grada). ISBN 978-80-247-2062-3.
BONNET, Laurent, et al. Reduce, you say: What nosql can do for data aggregation and bi in large repositories. In: Database and Expert Systems Applications (DEXA), 2011 22nd International Workshop on. IEEE, 2011. p. 483-488.
VRÁNA, Jakub. 1001 tipů a triků pro PHP. Vyd. 1. Brno: Computer Press, 2010, 456 s. ISBN 978-80-251-2940-1.
MITCHELL, Lorna Jane. PHP web services : \matsymb{lbrack}APIs for the modern web\matsymb{rbrack}. First edition. Beijing: O\symbol{39}Reilly Media, 2013, x, 104 pages. ISBN 9781449356569.
Recommended resources
CHODOROW, Kristina. MongoDB: the definitive guide. 2nd ed. Sebastopol: O\symbol{39}Reilly, 2013, xix, 409 s. ISBN 978-1-4493-4468-9.
Practical mongodb: architecting, developing, and administering MongoDB. New York, NY: Springer Science+Business Media, 2015, pages cm. ISBN 9781484206485.
NIALL O\symbol{39}HIGGINS. MongoDB and Python. Farnham: O\symbol{39}Reilly, 2011. ISBN 9781449310370.
FOWLER, Martin. Destilované UML. 1. vyd. Praha: Grada, 2009, 173 s. Knihovna programátora (Grada). ISBN 978-80-247-2062-3.
BONNET, Laurent, et al. Reduce, you say: What nosql can do for data aggregation and bi in large repositories. In: Database and Expert Systems Applications (DEXA), 2011 22nd International Workshop on. IEEE, 2011. p. 483-488.
VRÁNA, Jakub. 1001 tipů a triků pro PHP. Vyd. 1. Brno: Computer Press, 2010, 456 s. ISBN 978-80-251-2940-1.
MITCHELL, Lorna Jane. PHP web services : \matsymb{lbrack}APIs for the modern web\matsymb{rbrack}. First edition. Beijing: O\symbol{39}Reilly Media, 2013, x, 104 pages. ISBN 9781449356569.