diff --git a/public/images/partners/apollo-workshop.png b/public/images/partners/apollo-workshop.png index 788f40446..0b40c44b8 100644 Binary files a/public/images/partners/apollo-workshop.png and b/public/images/partners/apollo-workshop.png differ diff --git a/public/pdfs/roadmaps/devops.pdf b/public/pdfs/roadmaps/devops.pdf index a295620ad..99051e94c 100644 Binary files a/public/pdfs/roadmaps/devops.pdf and b/public/pdfs/roadmaps/devops.pdf differ diff --git a/readme.md b/readme.md index cbeb71619..5e50fb9e7 100644 --- a/readme.md +++ b/readme.md @@ -30,9 +30,9 @@ Roadmaps are now interactive, you can click the nodes to read more about the top Here is the list of available roadmaps with more being actively worked upon. -- [Frontend Roadmap](https://roadmap.sh/frontend) +- [Frontend Roadmap](https://roadmap.sh/frontend) / [Frontend Beginner Roadmap](https://roadmap.sh/frontend?r=frontend-beginner) - [Backend Roadmap](https://roadmap.sh/backend) -- [DevOps Roadmap](https://roadmap.sh/devops) +- [DevOps Roadmap](https://roadmap.sh/devops) / [DevOps Beginner Roadmap](https://roadmap.sh/devops?r=devops-beginner) - [Full Stack Roadmap](https://roadmap.sh/full-stack) - [Computer Science Roadmap](https://roadmap.sh/computer-science) - [QA Roadmap](https://roadmap.sh/qa) diff --git a/scripts/roadmap-content.cjs b/scripts/roadmap-content.cjs index c31ead944..841734e94 100644 --- a/scripts/roadmap-content.cjs +++ b/scripts/roadmap-content.cjs @@ -3,7 +3,6 @@ const path = require('path'); const OPEN_AI_API_KEY = process.env.OPEN_AI_API_KEY; const ALL_ROADMAPS_DIR = path.join(__dirname, '../src/data/roadmaps'); -const ROADMAP_JSON_DIR = path.join(__dirname, '../public/jsons/roadmaps'); const roadmapId = process.argv[2]; @@ -139,7 +138,11 @@ async function writeFileForGroup(group, topicUrlToPathMapping) { async function run() { const topicUrlToPathMapping = getFilesInFolder(ROADMAP_CONTENT_DIR); - const roadmapJson = require(path.join(ROADMAP_JSON_DIR, `${roadmapId}.json`)); + const roadmapJson = require(path.join( + ALL_ROADMAPS_DIR, + `${roadmapId}/${roadmapId}` + )); + const groups = roadmapJson?.mockup?.controls?.control?.filter( (control) => control.typeID === '__group__' && diff --git a/scripts/roadmap-dirs.cjs b/scripts/roadmap-dirs.cjs index 92490bc72..8d9ef12ee 100644 --- a/scripts/roadmap-dirs.cjs +++ b/scripts/roadmap-dirs.cjs @@ -84,8 +84,9 @@ function prepareDirTree(control, dirTree, dirSortOrders) { const roadmap = require(path.join( __dirname, - `../public/jsons/roadmaps/${roadmapId}` + `../src/data/roadmaps/${roadmapId}/${roadmapId}` )); + const controls = roadmap.mockup.controls.control; // Prepare the dir tree that we will be creating and also calculate the sort orders diff --git a/src/data/link-groups/1.md b/src/data/link-groups/1.md index 42f014a47..43245ff55 100644 --- a/src/data/link-groups/1.md +++ b/src/data/link-groups/1.md @@ -1,4 +1,5 @@ --- +byte-byte-go: https://blog.bytebytego.com/archive speedup-js: https://marvinh.dev/blog/speeding-up-javascript-ecosystem/ 23-min-ts: https://www.youtube.com/watch?v=YmxwicpROps bun-vs-node: https://www.youtube.com/watch?v=qCX8rw4qOSA diff --git a/src/data/roadmaps/angular/content/100-typescript-basics/104-union-types.md b/src/data/roadmaps/angular/content/100-typescript-basics/104-union-types.md index ec65e2baa..6ac053e0f 100644 --- a/src/data/roadmaps/angular/content/100-typescript-basics/104-union-types.md +++ b/src/data/roadmaps/angular/content/100-typescript-basics/104-union-types.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Union Types - typescriptlang](https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html) - [Union Type video for Beginners](https://www.youtube.com/watch?v=uxjpm4W5pCo) +- [Union Types - typescriptlang](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) \ No newline at end of file diff --git a/src/data/roadmaps/angular/content/100-typescript-basics/106-type-guard.md b/src/data/roadmaps/angular/content/100-typescript-basics/106-type-guard.md index a662c767f..77cd7b168 100644 --- a/src/data/roadmaps/angular/content/100-typescript-basics/106-type-guard.md +++ b/src/data/roadmaps/angular/content/100-typescript-basics/106-type-guard.md @@ -9,3 +9,4 @@ Type guards are typically used for narrowing a type and are pretty similar to fe Visit the following resources to learn more: - [Types Guards - Blog](https://blog.logrocket.com/how-to-use-type-guards-typescript/) +- [TypeScript Type Guards Explained](https://www.youtube.com/watch?v=feeeitmtdwg) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/100-internet/101-what-is-http.md b/src/data/roadmaps/backend/content/100-internet/101-what-is-http.md index 303f0d7d2..79696309d 100644 --- a/src/data/roadmaps/backend/content/100-internet/101-what-is-http.md +++ b/src/data/roadmaps/backend/content/100-internet/101-what-is-http.md @@ -11,3 +11,4 @@ Visit the following resources to learn more: - [HTTP/3 From A To Z: Core Concepts](https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/) - [HTTP/1 to HTTP/2 to HTTP/3](https://www.youtube.com/watch?v=a-sBfyiXysI) - [HTTP Crash Course & Exploration](https://www.youtube.com/watch?v=iYM2zFP3Zn0) +- [SSL, TLS, HTTPS Explained](https://www.youtube.com/watch?v=j9qmmewmcfo) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/102-java.md b/src/data/roadmaps/backend/content/103-learn-a-language/102-java.md index c3cef15bc..4c6f9c4b8 100644 --- a/src/data/roadmaps/backend/content/103-learn-a-language/102-java.md +++ b/src/data/roadmaps/backend/content/103-learn-a-language/102-java.md @@ -10,3 +10,4 @@ Visit the following resources to learn more: - [Codeacademy - Free Course](https://www.codecademy.com/learn/learn-java) - [W3 Schools Tutorials](https://www.w3schools.com/java/) - [Java Crash Course](https://www.youtube.com/watch?v=eIrMbAQSU34) +- [Complete Java course](https://www.youtube.com/watch?v=xk4_1vdrzzo) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md b/src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md index 25068b826..3d9380c7e 100644 --- a/src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md +++ b/src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md @@ -11,3 +11,4 @@ Visit the following resources to learn more: - [Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU) - [Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk) - [Git and GitHub - CS50 Beyond 2019](https://www.youtube.com/watch?v=eulnSXkhE7I) +- [Learn Git Branching](https://learngitbranching.js.org/?locale=en_us) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md b/src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md index 81ae5ae14..fa4ae5817 100644 --- a/src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md +++ b/src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md @@ -9,3 +9,4 @@ Visit the following resources to learn more: - [What is OpenID](https://openid.net/connect/) - [OAuth vs OpenID](https://securew2.com/blog/oauth-vs-openid-which-is-better) - [An Illustrated Guide to OAuth and OpenID Connect](https://www.youtube.com/watch?v=t18YB3xDfXI) +- [OAuth 2.0 and OpenID Connect (in plain English)](https://www.youtube.com/watch?v=996oiexhze0) \ No newline at end of file diff --git a/src/data/roadmaps/blockchain/content/100-blockchain-basics/index.md b/src/data/roadmaps/blockchain/content/100-blockchain-basics/index.md index 2598730d3..780c86ec8 100644 --- a/src/data/roadmaps/blockchain/content/100-blockchain-basics/index.md +++ b/src/data/roadmaps/blockchain/content/100-blockchain-basics/index.md @@ -8,3 +8,4 @@ Visit the following resources to learn more: - [Blockchain Explained](https://www.investopedia.com/terms/b/blockchain.asp) - [How does a blockchain work?](https://youtu.be/SSo_EIwHSd4) - [What Is a Blockchain? | Blockchain Basics for Developers](https://youtu.be/4ff9esY_4aU) +- [An Elementary and Slightly Distilled Introduction to Blockchain](https://markpetherbridge.co.uk/blog/an-elementary-and-slightly-distilled-introduction-to-blockchain/) \ No newline at end of file diff --git a/src/data/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md b/src/data/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md index ea66038b6..6089a871f 100644 --- a/src/data/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md +++ b/src/data/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Learn Cpp](https://learncpp.com/) - [C++ Reference](https://en.cppreference.com/) +- [C++ TutorialsPoint](https://www.tutorialspoint.com/cplusplus/index.htm) \ No newline at end of file diff --git a/src/data/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md b/src/data/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md index 267554742..222d74794 100644 --- a/src/data/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md +++ b/src/data/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Breadth First Search or BFS for a Graph](https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/) - [Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7](https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7) +- [Breadth-first search in 4 minutes](https://www.youtube.com/watch?v=hz5ytanv5qe) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md index 2bb85a815..81bbe7515 100644 --- a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md +++ b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md @@ -45,4 +45,4 @@ int main() { In the above program, we define a simple function `add` and a class `Calculator` with a member function `multiply`. The `main` function demonstrates how to use these to perform basic arithmetic. -- [C++ Tutorial for Beginners - Full Course](https://youtu.be/vlnpwxzdw4y) \ No newline at end of file +- [C++ Tutorial for Beginners - Full Course](https://www.youtube.com/watch?v=vlnpwxzdw4y) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/100-introduction/index.md b/src/data/roadmaps/cpp/content/100-introduction/index.md index 93abb6ac2..05965a5dc 100644 --- a/src/data/roadmaps/cpp/content/100-introduction/index.md +++ b/src/data/roadmaps/cpp/content/100-introduction/index.md @@ -129,4 +129,4 @@ int main() { This basic introduction to C++ should provide you with a good foundation for further learning. Explore more topics such as classes, objects, inheritance, polymorphism, templates, and the Standard Template Library (STL) to deepen your understanding of C++ and start writing more advanced programs. -- [C++ Tutorial for Beginners - Full Course](https://youtu.be/vLnPwxZdW4Y) \ No newline at end of file +- [LearnC++](https://www.learncpp.com/) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md b/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md index cf6b30e5d..f2c1dcc7e 100644 --- a/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md +++ b/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md @@ -10,4 +10,6 @@ Code editors are programs specifically designed for editing, managing and writin These are just a few examples, and there are many other code editors available, including Atom, Notepad++, and Geany. They all have their features and may suit different developers' needs. Finding the right code editor is often a matter of personal preference and workflow. -To work with C++ in your chosen code editor, you often need to install some additional tools and add-ons, such as compilers, linters, and debugger support. Make sure to follow the instructions provided by the editor's documentation to set up C++ correctly. \ No newline at end of file +To work with C++ in your chosen code editor, you often need to install some additional tools and add-ons, such as compilers, linters, and debugger support. Make sure to follow the instructions provided by the editor's documentation to set up C++ correctly. + +- [Using C++ on Linux in VSCode](https://code.visualstudio.com/docs/cpp/config-linux) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/103-functions/100-lambda.md b/src/data/roadmaps/cpp/content/103-functions/100-lambda.md index 4f4736033..e893e019a 100644 --- a/src/data/roadmaps/cpp/content/103-functions/100-lambda.md +++ b/src/data/roadmaps/cpp/content/103-functions/100-lambda.md @@ -59,4 +59,7 @@ auto updateDays = [&expiresInDays](int newDays) { updateDays(30); // expiresInDays = 30 ``` -Note that, when using the capture by reference, any change made to the captured variable *inside* the lambda function will affect its value in the surrounding scope. \ No newline at end of file +Note that, when using the capture by reference, any change made to the captured variable *inside* the lambda function will affect its value in the surrounding scope. + +- [Lambdas in C++](https://youtu.be/mwgmbbz0y8c) +- [Lambda Expressions](https://en.cppreference.com/w/cpp/language/lambda) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md index 03b719c91..d810f0f0c 100644 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md +++ b/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md @@ -2,7 +2,7 @@ Raw pointers in C++ are low-level constructs that directly hold a memory address. They can be used for manually allocating memory, creating dynamic arrays, and passing values efficiently, among other things. -##`new` Operator +## `new` Operator The `new` operator is used to allocate memory on the heap. The memory allocated using `new` remains available until you explicitly deallocate it using the corresponding `delete` operator. @@ -13,7 +13,7 @@ int* ptr = new int; // Dynamically allocates an int on the heap *ptr = 42; // Assigns the value 42 to the allocated int ``` -##`delete` Operator +## `delete` Operator The `delete` operator is used to deallocate memory that has been allocated using `new`. After memory is deallocated, it's available to be reallocated for other purposes. Failing to properly deallocate memory can lead to memory leaks. @@ -26,7 +26,7 @@ int* ptr = new int; // Dynamically allocates an int on the heap delete ptr; // Deallocates the memory assigned to ptr ``` -##`new[]` and `delete[]` Operators +## `new[]` and `delete[]` Operators The `new[]` and `delete[]` operators are used for allocating and deallocating memory for an array of objects. The syntax for `new[]` and `delete[]` is very similar to that of `new` and `delete`. @@ -44,4 +44,4 @@ for (int i = 0; i < n; i++) { delete[] arr; // Deallocates the memory assigned to the array ``` -In summary, raw pointers, and `new` and `delete` operators allow manual memory management in C++, providing control over allocation and deallocation. Make sure to always deallocate memory allocated with `new` or `new[]`, to avoid memory leaks in your programs. \ No newline at end of file +In summary, raw pointers, and `new` and `delete` operators allow manual memory management in C++, providing control over allocation and deallocation. Make sure to always deallocate memory allocated with `new` or `new[]`, to avoid memory leaks in your programs. diff --git a/src/data/roadmaps/cpp/content/libraries/102-poco.md b/src/data/roadmaps/cpp/content/libraries/102-poco.md index 45a4cb390..b22e371e3 100644 --- a/src/data/roadmaps/cpp/content/libraries/102-poco.md +++ b/src/data/roadmaps/cpp/content/libraries/102-poco.md @@ -68,4 +68,6 @@ int main() } ``` -In the above example, Poco is used to send an HTTP GET request and process the response. It manages tasks like connecting to the server, handling exceptions, and managing HTTP headers. \ No newline at end of file +In the above example, Poco is used to send an HTTP GET request and process the response. It manages tasks like connecting to the server, handling exceptions, and managing HTTP headers. + +- [Official Docs for Poco Library](https://docs.pocoproject.org/) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/101-connection-types/100-nfc.md b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/101-connection-types/100-nfc.md index c5a488d1e..00d104f6f 100644 --- a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/101-connection-types/100-nfc.md +++ b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/101-connection-types/100-nfc.md @@ -33,3 +33,6 @@ To minimize the risks associated with NFC, follow these best practices: - Ensure you're using trusted and secure apps to handle your NFC transactions. In conclusion, understanding the basics of NFC and adhering to security best practices will help ensure that you can safely and effectively use this innovative technology. + +- [The Beginner's Guide to NFCs](https://www.spiceworks.com/tech/networking/articles/what-is-near-field-communication/) +- [NFC Guide: All You Need to Know About Near Field Communication](https://squareup.com/us/en/the-bottom-line/managing-your-finances/nfc) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/104-basics-of-computer-networking.md b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/104-basics-of-computer-networking.md index 9060281d4..ec9fe684d 100644 --- a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/104-basics-of-computer-networking.md +++ b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/104-basics-of-computer-networking.md @@ -50,3 +50,5 @@ The Open Systems Interconnection (OSI) model is a conceptual framework used to u - **Application Layer**: Represents the user interface with which applications interact. Mastering the basics of computer networking is key to understanding and implementing effective cyber security measures. This chapter has covered essential networking concepts, but it is important to continually expand your knowledge in this ever-evolving field. + +- [What is Computer Networking?](https://tryhackme.com/room/whatisnetworking) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/100-cryptography/index.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/100-cryptography/index.md index ae3286d10..bd6525954 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/100-cryptography/index.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/100-cryptography/index.md @@ -31,3 +31,5 @@ Proper key management is crucial to maintain the security of encrypted data. Key Cryptanalysis is the process of attempting to break cryptographic systems, often by exploiting weaknesses in the algorithms, protocols, or key management processes. The strength of a cryptographic system lies in its resistance to cryptanalysis. As a cyber security professional, understanding cryptanalysis techniques can help you identify and protect against potential vulnerabilities in your organization's cryptographic infrastructure. In conclusion, cryptography is a fundamental aspect of cyber security, offering a layer of protection for sensitive data in digital networks. To effectively implement cryptography in your organization, you should be familiar with the various types of cryptography, cryptographic protocols, and key management best practices, and understand the potential threats posed by cryptanalysis. + +- [Cryptography for Dummies (TryHackMe)](https://tryhackme.com/room/cryptographyfordummies) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/107-blue-team-read-team-purple-team.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/107-blue-team-read-team-purple-team.md index b86a89d87..73d41d9af 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/107-blue-team-read-team-purple-team.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/107-blue-team-read-team-purple-team.md @@ -40,3 +40,5 @@ The Purple Team bridges the gap between the Blue Team and Red Team, helping to c - Foster a culture of continuous improvement and collaboration By investing in Blue, Red, and Purple Team efforts, organizations can achieve a more robust and resilient security posture, capable of withstanding and adapting to ever-evolving threats. + +- [Red Team Fundamentals (TryHackMe)](https://tryhackme.com/room/redteamfundamentals) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/attack-types/100-phishing-vishing-whaling-smishing.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/attack-types/100-phishing-vishing-whaling-smishing.md index c33259abd..3a77518c7 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/attack-types/100-phishing-vishing-whaling-smishing.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/attack-types/100-phishing-vishing-whaling-smishing.md @@ -47,3 +47,6 @@ Smishing, or SMS phishing, is the act of using text messages to deceive victims - Install mobile security software to protect your device from potential threats By staying informed about these various attack types, you can better protect yourself and your organization from falling victim to cyber threats. Remain vigilant and ensure you have proper security measures in place to minimize the risk of these attacks. + +- [What is Phishing?](https://www.phishing.org/what-is-phishing) +- [Phishing Examples](https://www.phishing.org/phishing-examples) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/200-comptia-aplus.md b/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/200-comptia-aplus.md index 8d972dd45..6371fd685 100644 --- a/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/200-comptia-aplus.md +++ b/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/200-comptia-aplus.md @@ -35,3 +35,5 @@ Achieving a CompTIA A+ certification can offer several benefits, such as: - Serving as a prerequisite for more advanced certifications, such as CompTIA Network+ and CompTIA Security+ Overall, if you're an aspiring IT professional, the CompTIA A+ certification is a great starting point to kick off your IT career and begin acquiring the skills and knowledge needed to thrive in this ever-evolving industry. + +- [CompTIA A+ 220-1101 - Professor Messer](https://www.youtube.com/watch?v=87t6p5zhtp0&list=plg49s3nxzannomvg5ugvenb_qqgsh01uc&index=1) \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md b/src/data/roadmaps/devops/content/101-operating-systems/103-windows.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md rename to src/data/roadmaps/devops/content/101-operating-systems/103-windows.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md b/src/data/roadmaps/devops/content/101-operating-systems/index.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md rename to src/data/roadmaps/devops/content/101-operating-systems/index.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md similarity index 58% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md index 83665b68c..b1aafb4fb 100644 --- a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md +++ b/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md @@ -7,10 +7,7 @@ Ubuntu is a free and open-source Linux distribution based on Debian. Ubuntu is a Visit the following resources to learn more: - [Debian Website](https://www.debian.org/) -- [Official Debian Documentation](https://www.debian.org/doc/) -- [Debian Installation Guide](https://www.debian.org/releases/stable/installmanual) - [Ubuntu Website](https://ubuntu.com/) -- [Ubuntu Documentation](https://help.ubuntu.com/) -- [Install Ubuntu Desktop Documentation](https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview) -- [Getting Started with Ubuntu Tutorials](https://itsfoss.com/getting-started-with-ubuntu/) +- [Learn the ways of Linux-fu, for free](https://linuxjourney.com/) +- [Linux Operating System - Crash Course for Beginners](https://www.youtube.com/watch?v=ROjZy1WbCIA) - [The Linux Command Line by William Shotts](https://linuxcommand.org/tlcl.php) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/101-suse-linux.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/101-suse-linux.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/102-rhel.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/102-rhel.md diff --git a/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md new file mode 100644 index 000000000..a1807970a --- /dev/null +++ b/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md @@ -0,0 +1 @@ +# Linux \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/100-free-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/100-free-bsd.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/101-open-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/101-open-bsd.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/102-net-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/102-net-bsd.md diff --git a/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md new file mode 100644 index 000000000..106aea125 --- /dev/null +++ b/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md @@ -0,0 +1 @@ +# Unix \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md b/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md deleted file mode 100644 index 6ffeb9103..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md +++ /dev/null @@ -1,11 +0,0 @@ -# Networking - -Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies. - -Begin by studying the [OSI Model](https://en.wikipedia.org/wiki/OSI_model). This model will assist in constructing an understanding of the linked topics, and help you contextualize the items linked to the Networking, Security, and Protocols node. Higher level networking concepts may be implemented and named differently across cloud providers. Don't let this confuse you - the basics of TCP/IP are useful and used in the same ways across all implementations. - -Visit the following resources to learn more: - -- [What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/) -- [Full Networking Course](https://youtu.be/IPvYjXCsTg8) -- [OSI Model Explained](https://www.youtube.com/watch?v=dV8mjZd1OtU) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md b/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md deleted file mode 100644 index f87ac2f68..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md +++ /dev/null @@ -1,9 +0,0 @@ -# I/O Management - -One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc. - -Visit the following resources to learn more: - -- [Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm) -- [IO Management](https://www.omscs-notes.com/operating-systems/io-management/) -- [Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md b/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md deleted file mode 100644 index 8998150d7..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md +++ /dev/null @@ -1,9 +0,0 @@ -# Virtualization - -Virtualization is the creation of a virtual -- rather than actual -- version of something, such as an operating system (OS), a server, a storage device or network resources. It uses software that simulates hardware functionality to create a virtual system. This practice allows IT organizations to operate multiple operating systems, more than one virtual system and various applications on a single server. - -Visit the following resources to learn more: - -- [What is Virtualization? and its types?](https://www.techtarget.com/searchitoperations/definition/virtualization) -- [What is Hypervisor and VM?](https://opensource.com/resources/virtualization) -- [Containers vs VM](https://www.atlassian.com/microservices/cloud-computing/containers-vs-vms) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md b/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md deleted file mode 100644 index 3768c5675..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md +++ /dev/null @@ -1,10 +0,0 @@ -# Memory Management - -The term Memory can be defined as a collection of data in a specific format. It is used to store instructions and process data. The memory comprises a large array or group of words or bytes, each with its own location. The primary motive of a computer system is to execute programs. These programs, along with the information they access, should be in the main memory during execution. The CPU fetches instructions from memory according to the value of the program counter. - -To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation. - -Visit the following resources to learn more: - -- [Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd) -- [Memory Management in Operating System](https://www.geeksforgeeks.org/memory-management-in-operating-system/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md b/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md deleted file mode 100644 index c94ef9cdd..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md +++ /dev/null @@ -1,7 +0,0 @@ -# File System - -A file is a named collection of related information recorded on secondary storage such as magnetic disks, magnetic tapes, and optical disks. Generally, a file is a sequence of bits, bytes, lines, or records whose meaning is defined by the file's creator and user. - -Visit the following resources to learn more: - -- [Operating System - File System](https://www.tutorialspoint.com/operating_system/os_file_system.htm) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md b/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md deleted file mode 100644 index 049ac30d7..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md +++ /dev/null @@ -1,12 +0,0 @@ -# Sockets - -Socket is an endpoint of a two way **communication** link between **two different processes** on the network (same or different machines). The socket mechanism provides a means of inter-process communication (IPC) by establishing named contact points between client and server. It is the combination of IP Address and Port Number. - -e.g. `http://192.168.0.1:8080` - -Visit the following resources to learn more: - -- [What are Sockets?](https://www.geeksforgeeks.org/socket-in-computer-network/) -- [Types of Sockets](https://www.tutorialspoint.com/unix_sockets/what_is_socket.htm) -- [Port vs Socket](https://www.baeldung.com/cs/port-vs-socket) -- [Socket.io Library Bidirectional and low-latency communication for every platform](https://socket.io/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md b/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md deleted file mode 100644 index dc61acd18..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md +++ /dev/null @@ -1,15 +0,0 @@ -# POSIX Basics - -POSIX (Portable Operating System Interface) is a family of standards for maintaining compatibility between operating systems. It describes utilities, APIs, and services that a compliant OS should provide to software, thus making it easier to port programs from one system to another. - -A practical example: in a Unix-like operating system, there are three _standard streams_, `stdin`, `stdout` and `stderr` - they are I/O connections that you will probably come across when using a terminal, as they manage the flow from the **standard input** (stdin), **standard output** (stdout) and **standard error** (stderr). - -So, in this case, when we want to interact with any of these streams (through a process, for example), the POSIX operating system API makes it easier - for example, in the `` C header where the stdin, stderr, and stdout are defined as `STDIN_FILENO`, `STDERR_FILENO` and `STDOUT_FILENO`. - -POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions. - -Visit the following resources to learn more: - -- [POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/) -- [Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877) -- [A guide to POSIX](https://www.baeldung.com/linux/posix) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md b/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md deleted file mode 100644 index 97d050022..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md +++ /dev/null @@ -1,15 +0,0 @@ -# Processes - -A process means program in execution. It generally takes an input, processes it and gives us the appropriate output. `ps` command can be used in linux to get the list of processes running in foreground. Each process will have a unique identifier called **PID**, which can be used to track it or `kill` it through shell. - -**Types of processes:** - -- Foreground processes -- Background processes - -Visit the following resources to learn more: - -- [Intro to Process Management](https://www.geeksforgeeks.org/introduction-of-process-management/) -- [Process Management in Linux](https://www.geeksforgeeks.org/process-management-in-linux/) -- [Process related commands in Linux](https://www.geeksforgeeks.org/processes-in-linuxunix/) -- [Process vs Thread](https://www.geeksforgeeks.org/difference-between-process-and-thread/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md b/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md deleted file mode 100644 index 340413dc0..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md +++ /dev/null @@ -1,11 +0,0 @@ -# Startup Management (init.d) - -`init.d` is a daemon which is the **first process** (PID = 1) of the Linux system. Then other processes, services, daemons, and threads are started by init. One can write their own scripts in _'/etc/init.d'_ location to start services automatically on system boot. Services can be started and stopped manually by using `service` command. - -It has following syntax: `$ service [service_name] [action]` e.g. `$ service ssh start` - -Visit the following resources to learn more: - -- [Linux Booting Process](https://www.freecodecamp.org/news/the-linux-booting-process-6-steps-described-in-detail/) -- [What is init.d?](https://www.geeksforgeeks.org/what-is-init-d-in-linux-service-management/) -- [What are Daemons in Linux?](https://itsfoss.com/linux-daemons/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md b/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md deleted file mode 100644 index cb493f35d..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md +++ /dev/null @@ -1,11 +0,0 @@ -# Service Management (systemd) - -`systemd` is a **System** Management **D**aemon which replaces the sysvinit process to become the first process with PID = 1, which gets executed in user space during the Linux start-up process. It is a system that is designed specifically for the Linux kernel. It is now being used as a **replacement of init.d** to overcome shortcomings of it. It uses `systemctl` command to perform related operations. - -e.g. `$ systemctl start [service-name]`, `$ systemctl poweroff` - -Visit the following resources to learn more: - -- [What is systemd? and its commands](https://www.geeksforgeeks.org/linux-systemd-and-its-components/) -- [init.d vs systemd](https://uace.github.io/learning/init-vs-systemd-what-is-an-init-daemon) -- [Why Systemd as a replacement of init.d?](https://www.tecmint.com/systemd-replaces-init-in-linux/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md b/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md deleted file mode 100644 index 432052881..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md +++ /dev/null @@ -1,19 +0,0 @@ -# Thread in OS - -`Thread` is an active entity which executes a **part of a process**. It is a sequential flow of tasks within a process. It is also called lightweight process as they **share common resources**. A process can contain multiple threads. Threads are used to increase the performance of the applications. -Each thread has its own program counter, stack, and set of registers. But the threads of a single process might share the same code and data/file. - -**Key Terminologies:** - -- `proc` -- `fork` -- `join` - -Visit the following resources to learn more: - -- [Process Synchronization](https://www.geeksforgeeks.org/introduction-of-process-synchronization/) -- [What is Thread in OS?](https://www.geeksforgeeks.org/thread-in-operating-system/) -- [Process vs Thread & Multi-Threading](https://www.scaler.com/topics/operating-system/threads-in-operating-system/) -- [What Concurrency in OS?](https://www.geeksforgeeks.org/concurrency-in-operating-system/) -- [Threads vs Concurrency](https://medium.com/@azizomarck/how-is-concurrency-different-from-parallelism-334b6d5c869a) -- [How Concurrency is achieved in Threads](https://medium.com/@akhandmishra/operating-system-threads-and-concurrency-aec2036b90f8) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/index.md b/src/data/roadmaps/devops/content/101-os-concepts/index.md deleted file mode 100644 index 302c66687..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/index.md +++ /dev/null @@ -1,9 +0,0 @@ -# Operating System - -An Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections. - -Visit the following resources to learn more: - -- [What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/) -- [Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse) -- [Introduction to Operating System](https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md b/src/data/roadmaps/devops/content/102-live-in-terminal/102-editors.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md rename to src/data/roadmaps/devops/content/102-live-in-terminal/102-editors.md diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md b/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md new file mode 100644 index 000000000..0f30d6b6f --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md @@ -0,0 +1,37 @@ +# Process Monitoring + +A process is an instance of a computer program that is being executed. Each process is identified by a unique number called a process ID (PID). A process is a running program. The operating system tracks processes through the use of process identifiers. A process identifier (PID) is a unique number that identifies a specific process. A PID is automatically assigned to each process when it is created on the system. + +There are several linux commands that can be used to monitor processes. The most common ones are: + +- `ps` - report a snapshot of the current processes. +- `top` - display Linux processes. +- `htop` - interactive process viewer. +- `atop` - advanced interactive monitor to view the load on a Linux system. +- `lsof` - list open files. + +The `ps` utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals. + +- [ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html) +- [ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html) +- [Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I) + +The `top` program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. + +- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) +- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) + +htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once. + +- [htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html) +- [htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/) + +The top program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. + +- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) +- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) + +Lsof lists on its standard output file information about files opened by processes. + +- [lsof Cheat Sheet](https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/) +- [lsof Documentation](https://man7.org/linux/man-pages/man8/lsof.8.html) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md b/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md new file mode 100644 index 000000000..0a0e52f82 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md @@ -0,0 +1,32 @@ +# Performance Monitoring + +There are many tools available to monitor the performance of your application. Some of the most popular are: + +- `nmon` - A system monitor tool for Linux and AIX systems. +- `iostat` - A tool that reports CPU statistics and input/output statistics for devices, partitions and network filesystems. +- `sar` - A system monitor command used to report on various system loads, including CPU activity, memory/paging, device load, network. +- `vmstat` - A tool that reports virtual memory statistics. + +Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition. + +- [nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command) +- [nmon Command Guide](https://www.geeksforgeeks.org/linux-nmon/) + +The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks. + +- [iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html) +- [iostat Command Guide](https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/) + +Short for **S**ystem **A**ctivity **R**eport, `sar` is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system. + +- [SAR command in Linux to monitor system performance](https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/) +- [SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html) +- [SAR Man Page 2](https://linux.die.net/man/1/sar) +- [Sar tutorial for beginners](https://linuxhint.com/sar_linux_tutorial/) + +Short for **V**irtual **m**emory **stat**istic reporter, `vmstat` is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage. + +- [vmstat command in Linux with Examples](https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/) +- [Linux commands: exploring virtual memory with vmstat](https://www.redhat.com/sysadmin/linux-commands-vmstat) +- [VMstat Man Page](https://man7.org/linux/man-pages/man8/vmstat.8.html) +- [vmstat tutorial](https://phoenixnap.com/kb/vmstat-command) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md b/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md new file mode 100644 index 000000000..f1c09f266 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md @@ -0,0 +1,74 @@ +# Networking Tools + +Networking tools are used to troubleshoot network issues. They are also used to monitor network traffic and to test network connectivity. Some of the most common networking tools are: + +- `traceroute` - Traces the route taken by packets over an IP network. +- `ping` - sends echo request packets to a host to test the Internet connection. +- `mtr` - Combines the functionality of `traceroute` and `ping` into a single diagnostic tool. +- `nmap` - Scans hosts for open ports. +- `netstat` - Displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. +- `ufw` and `firewalld` - Firewall management tools. +- `iptables` and `nftables` - Firewall management tools. +- `tcpdump` - Dumps traffic on a network. +- `dig` - DNS lookup utility. +- `scp` - Secure copy. + +`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet. + +- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/) +- [Traceroute command in Linux with examples](https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/) + +`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or the URL and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency. + +- [What is ping command?](https://linuxize.com/post/linux-ping-command/) +- [ping command with examples](https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/) + +`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool. + +- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr) +- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm) +- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/) + +NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports. + +- [NMAP Official Manual Book](https://nmap.org/book/man.html) +- [What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/) + +Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections. + +- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm) +- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html) +- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU) +- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE) + +UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool. + +- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html) +- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/) +- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) + +IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets. + +- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial) +- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759) + +`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well. + +- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html) +- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump) +- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/) +- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs) + +`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`. + +- [What is dig command?](https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/) +- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/) +- [What is host command?](https://www.geeksforgeeks.org/host-command-in-linux-with-examples/) +- [What is nslookup command?](https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/) +- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) + +`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. + +- [SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/) +- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) +- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md b/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md new file mode 100644 index 000000000..7137f8d46 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md @@ -0,0 +1,80 @@ +# Text Manipulation + +Some of the most common commands you will use in the terminal are text manipulation commands. These commands allow you to search, replace, and manipulate text in files and streams. Here are some of the most common commands you will use: + +- `awk` - A programming language designed for text processing and typically used as a data extraction and reporting tool. +- `sed` - A stream editor for filtering and transforming text. +- `grep` - A command-line utility for searching plain-text data sets for lines that match a regular expression. +- `sort` - A command-line utility for sorting lines of text files. +- `cut` - A command-line utility for cutting sections from each line of files. +- `uniq` - A command-line utility for reporting or omitting repeated lines. +- `cat` - A command-line utility for concatenating files and printing on the standard output. +- `echo` - A command-line utility for displaying a line of text. +- `fmt` - A command-line utility for simple optimal text formatting. +- `tr` - A command-line utility for translating or deleting characters. +- `nl` - A command-line utility for numbering lines of files. +- `wc` - A command-line utility for printing newline, word, and byte counts for files. + +`awk` is a general-purpose scripting language used for manipulating data or text and generating reports in the Linux world. It is mostly used for pattern scanning and processing. It searches one or more files to see if they contain lines that match the specified patterns and then performs the associated actions. + +- [What is AWK? How to use it?](https://www.geeksforgeeks.org/awk-command-unixlinux-examples/) +- [How AWK works?](https://linuxize.com/post/awk-command/) +- [Linux Crash Course - awk](https://www.youtube.com/watch?v=oPEnvuj9QrI) + +`sed`(**S**tream **Ed**itor) command in UNIX can perform lots of functions on file like searching, finding and replacing, insertion or deletion. By using SED you can edit files even without opening them in editors like [VI Editor](https://www.redhat.com/sysadmin/introduction-vi-editor). + +- [What is SED? with examples](https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/) +- [Detailed Manual](https://www.gnu.org/software/sed/manual/sed.html) +- [Linux Crash Course - The sed Command](https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s) + +The `grep` command (**g**lobal search for **r**egular **e**xpression and **p**rint out) searches file(s) for a particular pattern of characters, and displays all lines that contain that pattern. It can be used with other commands like `ps` making it more useful. + +- [What is Grep? with examples](https://www.geeksforgeeks.org/grep-command-in-unixlinux/) +- [Detailed Manual](https://www.gnu.org/software/grep/manual/grep.html) +- [Linux Crash Course - The grep Command](https://www.youtube.com/watch?v=Tc_jntovCM0) + +`sort` command is used to sort the contents of a file in a particular order. By default, it sorts a file assuming the contents are in ASCII. But it also can also be used to sort numerically by using appropriate options. + +- [Sort command with examples](https://www.geeksforgeeks.org/sort-command-linuxunix-examples/) +- [Options]() +- [Linux Tutorials|sort command GeeksforGeeks](https://www.youtube.com/watch?v=fEx5rnbDKO4) + +The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output. + +- [cut Documentation](https://man7.org/linux/man-pages/man1/cut.1.html) +- [cut Cheat Sheet](https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/) + +The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file. + +- [uniq Documentation](https://man7.org/linux/man-pages/man1/uniq.1.html) +- [uniq Cheat Sheet](https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/) + +`cat` (concatenate) command is very frequently used in Linux. It reads data from the file and gives its content as output. It helps us to create, view, and concatenate files. + +- [Cat Command with examples](https://www.tecmint.com/13-basic-cat-command-examples-in-linux/) +- [Options]() +- [Linux Tutorials|cat command|GeeksforGeeks](https://www.youtube.com/watch?v=exj5WMUJ11g) + +`echo` is a built-in command in Linux used to display lines of text/string that are passed as an argument. It is mostly used in shell scripts and batch files to output status text or `ENV` variables to the screen or a file. + +- [Echo command with Examples](https://www.tecmint.com/echo-command-in-linux/) +- [Linux Crash Course - The echo Command](https://www.youtube.com/watch?v=S_ySzMHxMjw) + +`fmt` command is for formatting and optimizing contents in text files. It will be really useful when it comes to beautify large text files by setting uniform column width and spaces. + +- [Fmt command with Examples](https://www.devopsroles.com/fmt-command-in-linux-with-example/) + +The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. + +- [tr Documentation](https://linuxcommand.org/lc3_man_pages/tr1.html) +- [tr Cheat Sheet](https://linuxopsys.com/topics/tr-command-in-linux) + +The nl utility reads lines from the named file or the standard input if the file argument is omitted, applies a configurable line numbering filter operation and writes the result to the standard output. + +- [nl Documentation](https://man7.org/linux/man-pages/man1/nl.1.html) +- [nl Cheat Sheet](https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/) + +The wc utility displays the number of lines, words, and bytes contained in each input file, or standard input (if no file is specified) to the standard output. + +- [wc Documentation](https://linux.die.net/man/1/wc) +- [wc Cheat Sheet](https://onecompiler.com/cheatsheets/wc) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md b/src/data/roadmaps/devops/content/102-live-in-terminal/index.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md rename to src/data/roadmaps/devops/content/102-live-in-terminal/index.md diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md new file mode 100644 index 000000000..231792959 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md @@ -0,0 +1 @@ +# Bash scripting \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md new file mode 100644 index 000000000..977fd3c69 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md @@ -0,0 +1 @@ +# Powershell \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md new file mode 100644 index 000000000..f3f3b5323 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md @@ -0,0 +1 @@ +# Scripting \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md deleted file mode 100644 index a05f20f29..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md +++ /dev/null @@ -1,10 +0,0 @@ -# Screen - -Screen is a full-screen window manager that multiplexes a physical terminal between several processes (typically interactive shells). Each virtual terminal provides the functions of a DEC VT100 terminal and, in addition, several control functions from the ISO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards (e.g. insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows. - -See `man screen` or `screen -h` for further information - -Visit the following resources to learn more: - -- [Screen Cheat Sheet](https://kapeli.com/cheat_sheets/screen.docset/Contents/Resources/Documents/index) -- [Screen Users Manual](https://www.gnu.org/software/screen/manual/screen.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md deleted file mode 100644 index 1fedb6375..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md +++ /dev/null @@ -1,8 +0,0 @@ -# Terminal multiplexers - -Terminal multiplexers are programs that allow us to [multiplex](https://en.wikipedia.org/wiki/Multiplexing) a terminal into several sub-processes or terminals inside a single terminal session, this means that we can have multiple open sessions using a single login session to a local or remote machine. - -Visit the following resources to learn more: - -- [Terminal Multiplexer](https://en.wikipedia.org/wiki/Terminal_multiplexer) -- [Terminal Multiplexers](https://linuxcommand.org/lc3_adv_termmux.php) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md deleted file mode 100644 index 73266ba83..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md +++ /dev/null @@ -1,12 +0,0 @@ -# Tmux - -Tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. Tmux may be detached from a screen and continue running in the background, then later reattached. - -When tmux is started it creates a new session with a single window and displays it on screen. A status line at the bottom of the screen shows information on the current session and is used to enter interactive commands. - -See `man tmux` further information - -Visit the following resources to learn more: - -- [Tmux Documentation](https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html) -- [Tmux Cheat Sheet](https://tmuxcheatsheet.com/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md deleted file mode 100644 index 1ff624f75..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md +++ /dev/null @@ -1,11 +0,0 @@ -# ps - process status - -The ps utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals. - -See `man ps` further information - -Visit the following resources to learn more: - -- [ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html) -- [ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html) -- [Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md deleted file mode 100644 index 1803e8e4a..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md +++ /dev/null @@ -1,10 +0,0 @@ -# top - -The top program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. - -See `man top` further information. - -Visit the following resources to learn more: - -- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) -- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md deleted file mode 100644 index b95cf5da7..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md +++ /dev/null @@ -1,8 +0,0 @@ -# htop - -htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once. - -Visit the following resources to learn more: - -- [htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html) -- [htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md deleted file mode 100644 index e4df181b3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md +++ /dev/null @@ -1,8 +0,0 @@ -# atop - -The program atop is an interactive monitor to view the load on a Linux system. It shows the occupation of the most critical hardware resources (from a performance point of view) on system level, i.e. cpu, memory, disk and network. - -Visit the following resources to learn more: - -- [atop Documentation](https://linux.die.net/man/1/atop) -- [atop Command Guide](https://www.digitalocean.com/community/tutorials/atop-command-in-linux) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md deleted file mode 100644 index 184045e5c..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md +++ /dev/null @@ -1,19 +0,0 @@ -# Bash scripting - -Bash is a command-line interface shell program used extensively in Linux and macOS. The name Bash is an acronym for "Bourne Again Shell," developed in 1989 as a successor to the Bourne Shell. - -"What's a shell?" you ask? A shell is a computer program that allows you to directly control a computer's operating system (OS) with a graphical user interface (GUI) or command-line interface (CLI). - -You actually use GUI shells all the time. For example, Windows 10 is based on the Windows shell that allows you to control your OS with a desktop, taskbar, and menus. - -With a CLI shell like Bash, you type commands into the program to directly control your computer's OS. Opening up the terminal on your Mac or command line in Linux will look similar to consoles and integrated development environments (IDEs) for other programming languages such as R, Ruby, or Python. You can type commands directly in the command line or run Bash scripts to perform longer and more complex tasks. - -Visit the following resources to learn more: - -- [The Shell Scripting Tutorial](https://www.shellscript.sh/) -- [Writing Shell Scripts](https://linuxcommand.org/lc3_writing_shell_scripts.php) -- [Shell Scripting for Beginners](https://www.freecodecamp.org/news/shell-scripting-crash-course-how-to-write-bash-scripts-in-linux/) -- [A guide to Bash](https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html) -- [The Bash Hackers Wiki](https://wiki.bash-hackers.org/) -- [Bash Shell Scripting Guide](https://rudrakshi.hashnode.dev/bash-shell-scripting-guide) -- [Codecademy - Learn Bash Scripting](https://www.codecademy.com/learn/bash-scripting) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md deleted file mode 100644 index 31c241986..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md +++ /dev/null @@ -1,10 +0,0 @@ -# lsof - -Lsof lists on its standard output file information about files opened by processes. - -See `man lsof` or `lsof --help` for further information. - -Visit the following resources to learn more: - -- [lsof Cheat Sheet](https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/) -- [lsof Documentation](https://man7.org/linux/man-pages/man8/lsof.8.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md deleted file mode 100644 index 19fb27044..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md +++ /dev/null @@ -1,21 +0,0 @@ -# Compiling Apps - -# gcc - -The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages also known as GCC. GCC is a key component of the GNU tool chain and the standard compiler for most Unix-like operating systems. Compiler Collection is a set of compilers and development tools available for Linux and an array of other operating systems. It includes support primarily for C and C++. It provides all of the infrastructure for building software in those languages from source code to assembly. - -"What is GCC used for?" GCC is a toolchain that compiles code, links it with any library dependencies, converts that code to assembly, and then prepares executable files.It is responsible for the conversion of the “high level” source code in the respective language and ensuring that it is semantically valid, performing well formed optimizations, and converting it to assembly code (which is then handed off to the assembler). - -Visit the following resources to learn more: - -- [Intro to GCC](https://courses.cs.washington.edu/courses/cse451/99wi/Section/gccintro.html) -- [GCC Linux](https://www.javatpoint.com/gcc-linux) -- [GCC Commands](https://www.geeksforgeeks.org/gcc-command-in-linux-with-examples/) -- [Makefile Tutorial](https://makefiletutorial.com) -- [Documentation for make](https://www.gnu.org/software/make/manual/) -- [Using Make and writing Makefiles](https://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html) -- [Sbt Documentation](https://www.scala-sbt.org/1.x/docs/) -- [Sbt By Example](https://www.scala-sbt.org/1.x/docs/sbt-by-example.html) -- [Gradle Tutorial](https://www.tutorialspoint.com/gradle/index.htm) -- [Gradle for absolute beginners](https://tomgregory.com/gradle-tutorial-for-complete-beginners/) -- [Gradle Guides](https://gradle.org/guides/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md deleted file mode 100644 index 9dada81b0..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md +++ /dev/null @@ -1,8 +0,0 @@ -# Nmon - -Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition. - -Visit the following resources to learn more: - -- [nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command) -- [nmon Command Guide](https://www.geeksforgeeks.org/linux-nmon/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md deleted file mode 100644 index 40b79a43b..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md +++ /dev/null @@ -1,8 +0,0 @@ -# Iostat - -The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks. - -Visit the following resources to learn more: - -- [iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html) -- [iostat Command Guide](https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md deleted file mode 100644 index 1c110938f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md +++ /dev/null @@ -1,10 +0,0 @@ -# Sar - -Short for **S**ystem **A**ctivity **R**eport, it is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system. - -Visit the following resources to learn more: - -- [SAR command in Linux to monitor system performance](https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/) -- [SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html) -- [SAR Man Page 2](https://linux.die.net/man/1/sar) -- [Sar tutorial for beginners](https://linuxhint.com/sar_linux_tutorial/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md deleted file mode 100644 index e8f6fd18e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md +++ /dev/null @@ -1,10 +0,0 @@ -# Vmstat - -Short for **V**irtual **m**emory **stat**istic reporter, it is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage. - -Visit the following resources to learn more: - -- [vmstat command in Linux with Examples](https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/) -- [Linux commands: exploring virtual memory with vmstat](https://www.redhat.com/sysadmin/linux-commands-vmstat) -- [VMstat Man Page](https://man7.org/linux/man-pages/man8/vmstat.8.html) -- [vmstat tutorial](https://phoenixnap.com/kb/vmstat-command) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md deleted file mode 100644 index fcc8540d3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md +++ /dev/null @@ -1,10 +0,0 @@ -# Traceroute - -`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet. - -It has the following syntax: `$ traceroute [OPTIONS] DESTINATION` e.g. `$ traceroute roadmap.sh` - -Visit the following resources to learn more: - -- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/) -- [Traceroute command in Linux with examples](https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md deleted file mode 100644 index 553644ae1..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md +++ /dev/null @@ -1,11 +0,0 @@ -# mtr - -`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool. - -As `mtr` starts, it investigates the network connection between the host `mtr` runs on and `HOSTNAME` by sending packets with purposely low TTLs. It continues sending packets with low TTL, noting the response time of the intervening routers. This allows `mtr` to print the internet route's response percentage and response times to HOSTNAME. A sudden packet loss or response time increase often indicates a bad (or simply overloaded) link. - -Visit the following resources to learn more: - -- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr) -- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm) -- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md deleted file mode 100644 index a7d76f177..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md +++ /dev/null @@ -1,10 +0,0 @@ -# ping - -`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or the URL and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency. - -It has the following syntax: `$ ping [OPTIONS] DESTINATION` e.g. `$ ping roadmap.sh` - -Visit the following resources to learn more: - -- [What is ping command?](https://linuxize.com/post/linux-ping-command/) -- [ping command with examples](https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md deleted file mode 100644 index 8a66ae147..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md +++ /dev/null @@ -1,8 +0,0 @@ -# NMAP - -NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports. - -Visit the following resources to learn more: - -- [NMAP Official Manual Book](https://nmap.org/book/man.html) -- [What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md deleted file mode 100644 index 07833f673..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md +++ /dev/null @@ -1,10 +0,0 @@ -# netstat - -Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections. - -Visit the following resources to learn more: - -- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm) -- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html) -- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU) -- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md deleted file mode 100644 index 7c2c0e023..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md +++ /dev/null @@ -1,10 +0,0 @@ -# Tcpdump - -`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well. - -Visit the following resources to learn more: - -- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html) -- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump) -- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/) -- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md deleted file mode 100644 index 342502ded..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md +++ /dev/null @@ -1,8 +0,0 @@ -# Iptables - -IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets. - -Visit the following resources to learn more: - -- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial) -- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md deleted file mode 100644 index 77f786b68..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md +++ /dev/null @@ -1,13 +0,0 @@ -# dig - -`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`. - -It has the following syntax: `$ dig [server] [name] [type]` e.g. `$ dig roadmap.sh` - -Visit the following resources to learn more: - -- [What is dig command?](https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/) -- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/) -- [What is host command?](https://www.geeksforgeeks.org/host-command-in-linux-with-examples/) -- [What is nslookup command?](https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/) -- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md deleted file mode 100644 index fec57172e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md +++ /dev/null @@ -1,13 +0,0 @@ -# awk - -`awk` is a general-purpose scripting language used for manipulating data or text and generating reports in the Linux world. It is mostly used for pattern scanning and processing. It searches one or more files to see if they contain lines that match the specified patterns and then performs the associated actions. - -It has the below syntax: - -`awk options 'selection_criteria {action}' input-file > output-file` e.g. `$ awk '{print}' file.txt` - -Visit the following resources to learn more: - -- [What is AWK? How to use it?](https://www.geeksforgeeks.org/awk-command-unixlinux-examples/) -- [How AWK works?](https://linuxize.com/post/awk-command/) -- [Linux Crash Course - awk](https://www.youtube.com/watch?v=oPEnvuj9QrI) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md deleted file mode 100644 index bde7edf33..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md +++ /dev/null @@ -1,13 +0,0 @@ -# sed - -`sed`(**S**tream **Ed**itor) command in UNIX can perform lots of functions on file like searching, finding and replacing, insertion or deletion. By using SED you can edit files even without opening them in editors like [VI Editor](https://www.redhat.com/sysadmin/introduction-vi-editor). - -It has the following syntax: - -`$ sed [options].. [script] [input-file]` e.g. `$ sed 's/search-regex/replacement-txt/g' file.txt` - -Visit the following resources to learn more: - -- [What is SED? with examples](https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/) -- [Detailed Manual](https://www.gnu.org/software/sed/manual/sed.html) -- [Linux Crash Course - The sed Command](https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md deleted file mode 100644 index 20d3291cc..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md +++ /dev/null @@ -1,13 +0,0 @@ -# grep - -The `grep` command (**g**lobal search for **r**egular **e**xpression and **p**rint out) searches file(s) for a particular pattern of characters, and displays all lines that contain that pattern. It can be used with other commands like `ps` making it more useful. - -It has the following syntax: - -`$ grep [options] pattern [files]` e.g. `$ grep "search-regex" file-1.txt` - -Visit the following resources to learn more: - -- [What is Grep? with examples](https://www.geeksforgeeks.org/grep-command-in-unixlinux/) -- [Detailed Manual](https://www.gnu.org/software/grep/manual/grep.html) -- [Linux Crash Course - The grep Command](https://www.youtube.com/watch?v=Tc_jntovCM0) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md deleted file mode 100644 index cec49507f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md +++ /dev/null @@ -1,13 +0,0 @@ -# sort - -`sort` command is used to sort the contents of a file in a particular order. By default, it sorts a file assuming the contents are in ASCII. But it also can also be used to sort numerically by using appropriate options. - -It has the following syntax - -`$ sort [options].. input-file` e.g. `$ sort file.txt` - -Visit the following resources to learn more: - -- [Sort command with examples](https://www.geeksforgeeks.org/sort-command-linuxunix-examples/) -- [Options]() -- [Linux Tutorials|sort command GeeksforGeeks](https://www.youtube.com/watch?v=fEx5rnbDKO4) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md deleted file mode 100644 index b3fe36dd9..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md +++ /dev/null @@ -1,10 +0,0 @@ -# cut - -The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output. - -See `man cut` for further information. - -Visit the following resources to learn more: - -- [cut Documentation](https://man7.org/linux/man-pages/man1/cut.1.html) -- [cut Cheat Sheet](https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md deleted file mode 100644 index a912c0ec3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md +++ /dev/null @@ -1,10 +0,0 @@ -# uniq - -The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file. - -See `man uniq` for further information. - -Visit the following resources to learn more: - -- [uniq Documentation](https://man7.org/linux/man-pages/man1/uniq.1.html) -- [uniq Cheat Sheet](https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md deleted file mode 100644 index 36d928d77..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md +++ /dev/null @@ -1,17 +0,0 @@ -# cat - -`cat` (concatenate) command is very frequently used in Linux. It reads data from the file and gives its content as output. It helps us to create, view, and concatenate files. - -It has the following syntax: - -- View : `$ cat [option] [input-file]` -- Create : `$ cat [content] > [new-file]` -- Append : `$ cat [append_content] >> [existing-file]` - -e.g. `$ cat file.txt` - -Visit the following resources to learn more: - -- [Cat Command with examples](https://www.tecmint.com/13-basic-cat-command-examples-in-linux/) -- [Options]() -- [Linux Tutorials|cat command|GeeksforGeeks](https://www.youtube.com/watch?v=exj5WMUJ11g) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md deleted file mode 100644 index f2ab2ec2f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md +++ /dev/null @@ -1,10 +0,0 @@ -# echo - -`echo` is a built-in command in Linux used to display lines of text/string that are passed as an argument. It is mostly used in shell scripts and batch files to output status text or `ENV` variables to the screen or a file. - -It has the following syntax: `$ echo [options] [string]` e.g. `$ echo "Hello World!"` - -Visit the following resources to learn more: - -- [Echo command with Examples](https://www.tecmint.com/echo-command-in-linux/) -- [Linux Crash Course - The echo Command](https://www.youtube.com/watch?v=S_ySzMHxMjw) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md deleted file mode 100644 index a4e06d323..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md +++ /dev/null @@ -1,9 +0,0 @@ -# fmt - -`fmt` command is for formatting and optimizing contents in text files. It will be really useful when it comes to beautify large text files by setting uniform column width and spaces. - -It has the following syntax: `$ fmt [-width] [option] [file]` e.g. `$ fmt file.txt` - -Visit the following resources to learn more: - -- [Fmt command with Examples](https://www.devopsroles.com/fmt-command-in-linux-with-example/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md deleted file mode 100644 index 5757e45a7..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md +++ /dev/null @@ -1,10 +0,0 @@ -# tr - -The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. - -See `man tr` for further information. - -Visit the following resources to learn more: - -- [tr Documentation](https://linuxcommand.org/lc3_man_pages/tr1.html) -- [tr Cheat Sheet](https://linuxopsys.com/topics/tr-command-in-linux) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md deleted file mode 100644 index 4caa6bd12..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md +++ /dev/null @@ -1,10 +0,0 @@ -# nl - -The nl utility reads lines from the named file or the standard input if the file argument is omitted, applies a configurable line numbering filter operation and writes the result to the standard output. - -See `man nl` for further information. - -Visit the following resources to learn more: - -- [nl Documentation](https://man7.org/linux/man-pages/man1/nl.1.html) -- [nl Cheat Sheet](https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md deleted file mode 100644 index aba86f683..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md +++ /dev/null @@ -1,10 +0,0 @@ -# wc - -The wc utility displays the number of lines, words, and bytes contained in each input file, or standard input (if no file is specified) to the standard output. - -See `man wc` for further information. - -Visit the following resources to learn more: - -- [wc Documentation](https://linux.die.net/man/1/wc) -- [wc Cheat Sheet](https://onecompiler.com/cheatsheets/wc) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md deleted file mode 100644 index 3a37fd47d..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md +++ /dev/null @@ -1,8 +0,0 @@ -# strace - -`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a process uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned. - -Visit the following resources to learn more: - -- [Strace Official Website](https://strace.io/) -- [Strace — Linux manual page](https://man7.org/linux/man-pages/man1/strace.1.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md deleted file mode 100644 index 40c42444a..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md +++ /dev/null @@ -1,8 +0,0 @@ -# DTrace - -DTrace is a comprehensive dynamic tracing framework ported from Solaris. DTrace provides a powerful infrastructure that permits administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. - -Visit the following resources to learn more: - -- [df manual](https://man7.org/linux/man-pages/man1/dtrace.1.html) -- [Wikipedia - DTrace](https://en.wikipedia.org/wiki/DTrace) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md deleted file mode 100644 index 301808f08..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md +++ /dev/null @@ -1 +0,0 @@ -# Systemtap diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md deleted file mode 100644 index fab10ecec..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md +++ /dev/null @@ -1,9 +0,0 @@ -# Uname - -Uname is a short form of Unix name and it helps to print the system information for both hardware and software in the current running system. - -Visit the following resources to learn more: - -- [Uname Command Tutorial](https://www.tutorialspoint.com/unix_commands/uname.htm) -- [Uname Tutorial For Beginners](https://www.howtoforge.com/linux-uname-command/) -- [Uname Command In Linux](https://linuxize.com/post/uname-command-in-linux/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md deleted file mode 100644 index b1c096c50..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md +++ /dev/null @@ -1,9 +0,0 @@ -# df - -`df` is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls. - -Visit the following resources to learn more: - -- [df manual](https://man7.org/linux/man-pages/man1/df.1.html) -- [Redhat - Check your disk space use with the Linux df command](https://www.redhat.com/sysadmin/Linux-df-command) -- [df command with examples](https://www.geeksforgeeks.org/df-command-linux-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md deleted file mode 100644 index 9a5eb2f97..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md +++ /dev/null @@ -1,9 +0,0 @@ -# history - -`history` command is used to view the **previously executed command**. Every command executed is treated as the event and is associated with an event number using which they can be recalled and changed if required. These commands are saved in a history file. - -It has the below syntax: `$ history` - -Visit the following resources to learn more: - -- [What is history command? How to recall previous commands?](https://www.geeksforgeeks.org/history-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md deleted file mode 100644 index 9c5c83eae..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md +++ /dev/null @@ -1,9 +0,0 @@ -# Du - -The `du` utility, short for disk usage, displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each directory argument. If no file is specified, the block usage of the hierarchy rooted in the current directory is displayed. - -Visit the following resources to learn more: - -- [du manual](https://man7.org/linux/man-pages/man1/du.1.html) -- [Redhat - du and the options you should be using](https://www.redhat.com/sysadmin/du-command-options) -- [Du command with examples](https://linuxhint.com/linux-du-command-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md deleted file mode 100644 index e7d6b1d4e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md +++ /dev/null @@ -1,9 +0,0 @@ -# SCP - -`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. - -Visit the following resources to learn more: - -- [SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/) -- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) -- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md deleted file mode 100644 index 096b8d91e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md +++ /dev/null @@ -1,9 +0,0 @@ -# UFW - -UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool. - -Visit the following resources to learn more: - -- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html) -- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/) -- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/index.md b/src/data/roadmaps/devops/content/102-managing-servers/index.md deleted file mode 100644 index 66d9e483c..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Managing Servers - -Server management includes all of the monitoring and maintenance required for servers to operate reliably and at optimal performance levels. Server management also involves the management of hardware, software, security, and backups all in service of keeping the IT environment operational and efficient. The primary goals of an effective server management strategy are to: - -- Minimize server slowdowns and downtime while maximizing reliability. -- Build secure server environments. -- Scale servers and related operations to meet the needs of the organization over time. diff --git a/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md b/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md deleted file mode 100644 index 411430f27..000000000 --- a/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md +++ /dev/null @@ -1,8 +0,0 @@ -# Port Forwarding - -Port forwarding, sometimes called **port mapping**, allows computers or services in private networks to connect over the internet with other public or private computers or services. Since firewalls exist to keep unwanted visitors out, the visitors you want to get in are going to need a way to do so. Knowing the IP address isn’t enough, Requests need to be directed to the correct port as well. - -Visit the following resources to learn more: - -- [What is Port Forwarding?](https://learn.g2.com/port-forwarding) -- [Types of Port Forwarding](https://cybernews.com/what-is-vpn/port-forwarding/) diff --git a/src/data/roadmaps/devops/content/103-networking-protocols/index.md b/src/data/roadmaps/devops/content/103-networking-protocols/index.md index 6c08dc469..061ad0beb 100644 --- a/src/data/roadmaps/devops/content/103-networking-protocols/index.md +++ b/src/data/roadmaps/devops/content/103-networking-protocols/index.md @@ -1,7 +1,37 @@ # Networking Protocols -A network protocol is an established set of rules that determine how data is transmitted between different devices in the same network. Essentially, it allows connected devices to communicate with each other, regardless of any differences in their internal processes, structure or design. Network protocols are the reason you can easily communicate with people all over the world, and thus play a critical role in modern digital communications. +As a DevOps engineer you will need to understand the basics of networking protocols, how they work, and how they are used in the real world. To get you started, you should learn about, [TCP/IP](https://en.wikipedia.org/wiki/Internet_protocol_suite), [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol), [HTTPS](https://en.wikipedia.org/wiki/HTTPS), [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol), [SSH](https://en.wikipedia.org/wiki/Secure_Shell), [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol), [DNS](https://en.wikipedia.org/wiki/Domain_Name_System), [DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol), [NTP](https://en.wikipedia.org/wiki/Network_Time_Protocol). + +Here are some of the resources to learn about SSH: + +- [SSH Intro](https://www.baeldung.com/cs/ssh-intro) +- [What is SSH?](https://www.ssh.com/academy/ssh/protocol) +- [SFTP using SSH](https://www.goanywhere.com/blog/how-sftp-works) + +Visit the following to learn about SSL/TLS: + +- [Cloudflare - What is SSL?](https://www.cloudflare.com/learning/ssl/what-is-ssl/) +- [Cloudflare - What is TLS?](https://www.cloudflare.com/en-gb/learning/ssl/transport-layer-security-tls/) +- [Wikipedia - SSL/TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) +- [SSH vs SSL vs TLS](https://www.youtube.com/watch?v=k3rFFLmQCuY) + +Learn about HTTP and HTTPS: + +- [Everything you need to know about HTTP](https://cs.fyi/guide/http-in-depth) +- [What is HTTP?](https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/) +- [An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview) +- [HTTP/3 From A To Z: Core Concepts](https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/) +- [HTTP Crash Course & Exploration](https://www.youtube.com/watch?v=iYM2zFP3Zn0) +- [What is HTTPS?](https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/) +- [Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https) +- [Enabling HTTPS on Your Servers](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https) +- [How HTTPS works (comic)](https://howhttps.works/) + +Here are some resources to learn about DNS: + +- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) +- [HOw DNS works (comic)](https://howdns.works/) +- [DNS and How does it Work?](https://www.youtube.com/watch?v=Wj0od2ag5sk) +- [DNS Records](https://www.youtube.com/watch?v=7lxgpKh_fRY) -Visit the following resources to learn more: -- [What Is a Network Protocol, and How Does It Work?](https://www.comptia.org/content/guides/what-is-a-network-protocol) diff --git a/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md b/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md new file mode 100644 index 000000000..eb35be86b --- /dev/null +++ b/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md @@ -0,0 +1,9 @@ +# Git + +[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. + +Visit the following resources to learn more: + +- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) +- [Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git) +- [Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet) diff --git a/src/data/roadmaps/devops/content/103-version-control-systems/index.md b/src/data/roadmaps/devops/content/103-version-control-systems/index.md new file mode 100644 index 000000000..aacbc4656 --- /dev/null +++ b/src/data/roadmaps/devops/content/103-version-control-systems/index.md @@ -0,0 +1,8 @@ +# Version Control Systems + +Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made. + +Visit the following resources to learn more: + +- [Git](https://git-scm.com/) +- [What is Version Control?](https://www.atlassian.com/git/tutorials/what-is-version-control) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md b/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md new file mode 100644 index 000000000..25068b826 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md @@ -0,0 +1,13 @@ +# GitHub + +GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. + +Visit the following resources to learn more: + +- [GitHub Website](https://github.com) +- [GitHub Documentation](https://docs.github.com/en/get-started/quickstart) +- [How to Use Git in a Professional Dev Team](https://ooloo.io/project/github-flow) +- [What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) +- [Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU) +- [Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk) +- [Git and GitHub - CS50 Beyond 2019](https://www.youtube.com/watch?v=eulnSXkhE7I) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md b/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md new file mode 100644 index 000000000..2421d64b6 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md @@ -0,0 +1,8 @@ +# GitLab + +GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. + +Visit the following resources to learn more: + +- [GitLab Website](https://gitlab.com/) +- [GitLab Documentation](https://docs.gitlab.com/) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md b/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md new file mode 100644 index 000000000..61d7a2118 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md @@ -0,0 +1,14 @@ +# Bitbucket + +Bitbucket is a Git based hosting and source code repository service that is Atlassian's alternative to other products like GitHub, GitLab etc + +Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment) + +Visit the following resources to learn more: + +- [Bitbucket Website](https://bitbucket.org/product) +- [A brief overview of Bitbucket](https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket) +- [Getting started with Bitbucket](https://bitbucket.org/product/guides/basics/bitbucket-interface) +- [Using Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud) +- [Bitbucket tutorial | How to use Bitbucket Cloud](https://www.youtube.com/watch?v=M44nEyd_5To) +- [Bitbucket Tutorial | Bitbucket for Beginners](https://www.youtube.com/watch?v=i5T-DB8tb4A) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/index.md b/src/data/roadmaps/devops/content/104-vcs-hosting/index.md new file mode 100644 index 000000000..1878fee65 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/index.md @@ -0,0 +1,10 @@ +# Repo Hosting Services + +When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit. + +Visit the following resources to learn more: + +- [GitHub](https://github.com/features/) +- [GitLab](https://about.gitlab.com/) +- [BitBucket](https://bitbucket.org/product/guides/getting-started/overview) +- [How to choose the best source code repository](https://bitbucket.org/product/code-repository) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md deleted file mode 100644 index b6327bc2f..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md +++ /dev/null @@ -1,11 +0,0 @@ -# Docker - -Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime. Using Docker, you can quickly deploy and scale applications into any environment and know your code will run. - -Visit the following resources to learn more: - -- [Docker Website](https://www.docker.com/) -- [Docker Documentation](https://docs.docker.com/) -- [Learn Docker | Boot.dev](https://boot.dev/learn/learn-docker) -- [Docker Tutorial for Beginners](https://www.youtube.com/watch?v=pTFZFxd4hOI) -- [Docker Full Course for Beginners](https://www.youtube.com/watch?v=3c-iBn73dDE) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md deleted file mode 100644 index cb428968d..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md +++ /dev/null @@ -1,10 +0,0 @@ -# Salt - -Salt is an open-source event-driven IT automation, remote task execution, and configuration management software service. Built on python, Salt uses simple and human-readable YAML combined with event-driven automation to deploy and configure complex IT systems. - -Visit the following resources to learn more: - -- [Salt Project Website](https://docs.saltproject.io/en/latest/topics/about_salt_project.html) -- [Official Documentation](https://docs.saltproject.io/en/latest/) -- [Introduction to Salt](https://docs.saltproject.io/en/latest/topics/index.html) -- [Salt Installation](https://docs.saltproject.io/en/latest/topics/installation/index.html#installation) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md deleted file mode 100644 index d13d0efb3..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md +++ /dev/null @@ -1,13 +0,0 @@ -# Kubernetes - -Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources. (similar to the Autopilot and Aquaman systems of Microsoft Azure) - -The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues. - -Visit the following resources to learn more: - -- [Kubernetes Website](https://kubernetes.io/) -- [Kubernetes Documentation](https://kubernetes.io/docs/home/) -- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4) -- [Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care](https://thenewstack.io/primer-how-kubernetes-came-to-be-what-it-is-and-why-you-should-care/) -- [Kubernetes: An Overview](https://thenewstack.io/kubernetes-an-overview/) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md deleted file mode 100644 index bcd58885c..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md +++ /dev/null @@ -1,9 +0,0 @@ -# Nomad - -[Nomad](https://github.com/hashicorp/nomad) is a simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale. Nomad runs as a single binary with a small resource footprint and supports a wide range of workloads beyond containers, including Windows, Java, VM, Docker, and more. - -Visit the following resources to learn more: - -- [Nomad Website](https://www.nomadproject.io/) -- [Nomad Documentation](https://www.nomadproject.io/docs) -- [Nomad Tutorials](https://learn.hashicorp.com/nomad) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md deleted file mode 100644 index 138409cfa..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md +++ /dev/null @@ -1,12 +0,0 @@ -# Infrastructure as Code - -Sometimes referred to as IaC, this section refers to the techniques and tools used to define infrastructure, typically in a markup language like YAML or JSON. Infrastructure as code allows DevOps Engineers to use the same workflows used by software developers to version, roll back, and otherwise manage changes. - -The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations. - -Visit the following resources to learn more: - -- [What is Infrastructure as Code?](https://www.youtube.com/watch?v=zWw2wuiKd5o) -- [What is Infrastructure as Code? Difference of Infrastructure as Code Tools](https://www.youtube.com/watch?v=POPP2WTJ8es) -- [GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code](https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/) -- [Understanding Infrastructure as Code (IaC) in less than 10 minutes](https://www.novatec-gmbh.de/en/blog/understanding-infrastructure-as-code-iac-in-less-than-10-minutes/) diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md b/src/data/roadmaps/devops/content/105-setting-up-x/100-reverse-proxy.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md rename to src/data/roadmaps/devops/content/105-setting-up-x/100-reverse-proxy.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/101-caching-server.md b/src/data/roadmaps/devops/content/105-setting-up-x/101-caching-server.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/101-caching-server.md rename to src/data/roadmaps/devops/content/105-setting-up-x/101-caching-server.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md b/src/data/roadmaps/devops/content/105-setting-up-x/102-forward-proxy.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md rename to src/data/roadmaps/devops/content/105-setting-up-x/102-forward-proxy.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md b/src/data/roadmaps/devops/content/105-setting-up-x/103-load-balancer.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md rename to src/data/roadmaps/devops/content/105-setting-up-x/103-load-balancer.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/104-firewall.md b/src/data/roadmaps/devops/content/105-setting-up-x/104-firewall.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/104-firewall.md rename to src/data/roadmaps/devops/content/105-setting-up-x/104-firewall.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/105-nginx.md b/src/data/roadmaps/devops/content/105-setting-up-x/105-nginx.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/105-nginx.md rename to src/data/roadmaps/devops/content/105-setting-up-x/105-nginx.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/106-apache.md b/src/data/roadmaps/devops/content/105-setting-up-x/106-apache.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/106-apache.md rename to src/data/roadmaps/devops/content/105-setting-up-x/106-apache.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/107-tomcat.md b/src/data/roadmaps/devops/content/105-setting-up-x/107-tomcat.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/107-tomcat.md rename to src/data/roadmaps/devops/content/105-setting-up-x/107-tomcat.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/108-iis.md b/src/data/roadmaps/devops/content/105-setting-up-x/108-iis.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/108-iis.md rename to src/data/roadmaps/devops/content/105-setting-up-x/108-iis.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/index.md b/src/data/roadmaps/devops/content/105-setting-up-x/index.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/index.md rename to src/data/roadmaps/devops/content/105-setting-up-x/index.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/100-aws.md b/src/data/roadmaps/devops/content/107-cloud-providers/100-aws.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/100-aws.md rename to src/data/roadmaps/devops/content/107-cloud-providers/100-aws.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md b/src/data/roadmaps/devops/content/107-cloud-providers/101-google-cloud.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md rename to src/data/roadmaps/devops/content/107-cloud-providers/101-google-cloud.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/102-azure.md b/src/data/roadmaps/devops/content/107-cloud-providers/102-azure.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/102-azure.md rename to src/data/roadmaps/devops/content/107-cloud-providers/102-azure.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/103-heroku.md b/src/data/roadmaps/devops/content/107-cloud-providers/103-heroku.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/103-heroku.md rename to src/data/roadmaps/devops/content/107-cloud-providers/103-heroku.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md b/src/data/roadmaps/devops/content/107-cloud-providers/104-albaba-cloud.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md rename to src/data/roadmaps/devops/content/107-cloud-providers/104-albaba-cloud.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md b/src/data/roadmaps/devops/content/107-cloud-providers/104-digital-ocean.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md rename to src/data/roadmaps/devops/content/107-cloud-providers/104-digital-ocean.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/105-linode.md b/src/data/roadmaps/devops/content/107-cloud-providers/105-linode.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/105-linode.md rename to src/data/roadmaps/devops/content/107-cloud-providers/105-linode.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/106-vultr.md b/src/data/roadmaps/devops/content/107-cloud-providers/106-vultr.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/106-vultr.md rename to src/data/roadmaps/devops/content/107-cloud-providers/106-vultr.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/index.md b/src/data/roadmaps/devops/content/107-cloud-providers/index.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/index.md rename to src/data/roadmaps/devops/content/107-cloud-providers/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md b/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md deleted file mode 100644 index 1577a13d3..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md +++ /dev/null @@ -1,9 +0,0 @@ -# Nagios - -Nagios is a powerful tool that provides you with instant awareness of your organization’s mission-critical IT infrastructure. Nagios allows you to detect and repair problems and mitigate future issues before they affect end-users and customers. - -Visit the following resources to learn more: - -- [Nagios Website](https://www.nagios.org/) -- [Official Documentation](https://www.nagios.org/documentation/) -- [Nagios Support Knowledge Base](https://support.nagios.com/kb/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md b/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md deleted file mode 100644 index 261b92ba6..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md +++ /dev/null @@ -1,13 +0,0 @@ -# Monit - -Monit is a small Open Source utility for managing and monitoring Unix systems. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. - -Monit has the ability to start a process if it is not running, restart a process if not responding, and stop a process if uses high resources. Additionally, you can also use Monit to monitor files, directories, and filesystems for changes, checksum changes, file size changes, or timestamp changes. - -With Monit, you can able to monitor remote hosts’ TCP/IP port, server protocols, and ping. Monit keeps its own log file and alerts about any critical error conditions and recovery status. - -Visit the following resources to learn more: - -- [Monit Website](https://mmonit.com/monit/) -- [Monit Official Documentation](https://mmonit.com/monit/documentation/monit.html) -- [Monit Tutorial](https://www.tecmint.com/monit-linux-services-monitoring/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md b/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md deleted file mode 100644 index 4b69cd12b..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md +++ /dev/null @@ -1,8 +0,0 @@ -# Instana - -Instana is particularly used in monitoring and managing the performance of software used in microservice architectures, and permits 3D visualisation of performance through graphs generated using machine learning algorithms, with notifications regarding performance also generated automatically. Instana's Application Performance Monitoring (APM) tool of the same name is especially purposed for monitoring software used in so-called "container orchestration" (a modular method of providing a software service). - -Visit the following resources to learn more: - -- [Instana Website](https://www.instana.com/) -- [Official Resources(White Papers and Ebooks) ](https://www.instana.com/resources/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/index.md b/src/data/roadmaps/devops/content/107-monitoring/index.md deleted file mode 100644 index c5d93d63a..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# Monitoring - -DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring. - -Visit the following resources to learn more: - -- [DevOps Monitoring](https://www.atlassian.com/devops/devops-tools/devops-monitoring) -- [The Hows, Whys and Whats of Monitoring Microservices](https://thenewstack.io/the-hows-whys-and-whats-of-monitoring-microservices/) diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md b/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md deleted file mode 100644 index fe660bee2..000000000 --- a/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md +++ /dev/null @@ -1,14 +0,0 @@ -# IBM Cloud - -IBM cloud computing is a set of cloud computing services that offers both platform as a service (PaaS) and infrastructure as a service (IaaS). IBM Cloud supports various languages and frameworks such as Go, Java™, Node.js, Python and Swift. - -Visit the following resources to learn more: - -- [IBM cloud](https://www.ibm.com/cloud) -- [IBM Cloud Documentation](https://cloud.ibm.com/docs) -- [IBM Cloud Essentials](https://www.coursera.org/learn/ibm-cloud-essentials) -- [IBM Cloud Training](https://www.ibm.com/training/cloud) -- [Introduction to IBM Cloud](https://www.youtube.com/watch?v=HzugDzl2cfg) -- [Developing in IBM Cloud](https://www.youtube.com/watch?v=Bsy6mhRc7ZA) -- [IBM Cloud Foundation Skills Series](https://youtube.com/playlist?list=PLmesOgYt3nKCfsXqx-A5k1bP7t146U4rz) -- [The Beginners Guide to IBM Cloud](https://developer.ibm.com/components/cloud-ibm/tutorials/) diff --git a/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md b/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md new file mode 100644 index 000000000..cdae8257f --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md @@ -0,0 +1,2 @@ +# Cloudflare + diff --git a/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md b/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md new file mode 100644 index 000000000..9d4da0f59 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md @@ -0,0 +1 @@ +# Aws lambda \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md b/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md new file mode 100644 index 000000000..fc367f594 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md @@ -0,0 +1 @@ +# Azure functions \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md b/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md new file mode 100644 index 000000000..52dd3b730 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md @@ -0,0 +1 @@ +# Gcp functions \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/104-vercel.md b/src/data/roadmaps/devops/content/109-serverless/104-vercel.md new file mode 100644 index 000000000..784f05454 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/104-vercel.md @@ -0,0 +1 @@ +# Vercel \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/105-netlify.md b/src/data/roadmaps/devops/content/109-serverless/105-netlify.md new file mode 100644 index 000000000..a8449ffd4 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/105-netlify.md @@ -0,0 +1 @@ +# Netlify \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/index.md b/src/data/roadmaps/devops/content/109-serverless/index.md new file mode 100644 index 000000000..0ef70d396 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/index.md @@ -0,0 +1 @@ +# Serverless \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/100-aws-cdk.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/100-aws-cdk.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/102-cloudformation.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/102-cloudformation.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-pulumi.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-pulumi.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-terraform.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-terraform.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md b/src/data/roadmaps/devops/content/111-configuration-management/100-ansible.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md rename to src/data/roadmaps/devops/content/111-configuration-management/100-ansible.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md b/src/data/roadmaps/devops/content/111-configuration-management/101-chef.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md rename to src/data/roadmaps/devops/content/111-configuration-management/101-chef.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md b/src/data/roadmaps/devops/content/111-configuration-management/102-puppet.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md rename to src/data/roadmaps/devops/content/111-configuration-management/102-puppet.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md b/src/data/roadmaps/devops/content/111-configuration-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md rename to src/data/roadmaps/devops/content/111-configuration-management/index.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/100-gitlab-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/100-gitlab-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/101-jenkins.md b/src/data/roadmaps/devops/content/112-ci-cd/101-jenkins.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/101-jenkins.md rename to src/data/roadmaps/devops/content/112-ci-cd/101-jenkins.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/102-github-actions.md b/src/data/roadmaps/devops/content/112-ci-cd/102-github-actions.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/102-github-actions.md rename to src/data/roadmaps/devops/content/112-ci-cd/102-github-actions.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/103-travis-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/103-travis-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/103-travis-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/103-travis-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/105-teamcity.md b/src/data/roadmaps/devops/content/112-ci-cd/105-teamcity.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/105-teamcity.md rename to src/data/roadmaps/devops/content/112-ci-cd/105-teamcity.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md b/src/data/roadmaps/devops/content/112-ci-cd/106-azure-devops-services.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md rename to src/data/roadmaps/devops/content/112-ci-cd/106-azure-devops-services.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/107-circle-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/107-circle-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/107-circle-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/107-circle-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/108-drone.md b/src/data/roadmaps/devops/content/112-ci-cd/108-drone.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/108-drone.md rename to src/data/roadmaps/devops/content/112-ci-cd/108-drone.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/index.md b/src/data/roadmaps/devops/content/112-ci-cd/index.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/index.md rename to src/data/roadmaps/devops/content/112-ci-cd/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md b/src/data/roadmaps/devops/content/113-secret-management/100-vault.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md rename to src/data/roadmaps/devops/content/113-secret-management/100-vault.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md b/src/data/roadmaps/devops/content/113-secret-management/101-sops.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md rename to src/data/roadmaps/devops/content/113-secret-management/101-sops.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md b/src/data/roadmaps/devops/content/113-secret-management/102-sealed-secrets.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md rename to src/data/roadmaps/devops/content/113-secret-management/102-sealed-secrets.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md b/src/data/roadmaps/devops/content/113-secret-management/103-cloud-specific-tools.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md rename to src/data/roadmaps/devops/content/113-secret-management/103-cloud-specific-tools.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md b/src/data/roadmaps/devops/content/113-secret-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md rename to src/data/roadmaps/devops/content/113-secret-management/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/100-prometheus.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/100-prometheus.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-datadog.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-datadog.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-grafana.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-grafana.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-zabbix.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-zabbix.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md b/src/data/roadmaps/devops/content/115-application-monitoring/100-jaeger.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md rename to src/data/roadmaps/devops/content/115-application-monitoring/100-jaeger.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md b/src/data/roadmaps/devops/content/115-application-monitoring/101-new-relic.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md rename to src/data/roadmaps/devops/content/115-application-monitoring/101-new-relic.md diff --git a/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md b/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md new file mode 100644 index 000000000..0ab8b6275 --- /dev/null +++ b/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md @@ -0,0 +1,8 @@ +# Datadog + +Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing. + +Visit the following resources to learn more: + +- [Datadog Website](https://www.datadoghq.com/) +- [Official Documentation](https://docs.datadoghq.com/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md b/src/data/roadmaps/devops/content/115-application-monitoring/104-open-telemetry.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md rename to src/data/roadmaps/devops/content/115-application-monitoring/104-open-telemetry.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md b/src/data/roadmaps/devops/content/115-application-monitoring/105-app-dynamics.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md rename to src/data/roadmaps/devops/content/115-application-monitoring/105-app-dynamics.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md b/src/data/roadmaps/devops/content/115-application-monitoring/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md rename to src/data/roadmaps/devops/content/115-application-monitoring/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md b/src/data/roadmaps/devops/content/116-logs-management/100-elastic-stack.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md rename to src/data/roadmaps/devops/content/116-logs-management/100-elastic-stack.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md b/src/data/roadmaps/devops/content/116-logs-management/101-graylog.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md rename to src/data/roadmaps/devops/content/116-logs-management/101-graylog.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md b/src/data/roadmaps/devops/content/116-logs-management/102-papertrail.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md rename to src/data/roadmaps/devops/content/116-logs-management/102-papertrail.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md b/src/data/roadmaps/devops/content/116-logs-management/102-splunk.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md rename to src/data/roadmaps/devops/content/116-logs-management/102-splunk.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md b/src/data/roadmaps/devops/content/116-logs-management/103-loki.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md rename to src/data/roadmaps/devops/content/116-logs-management/103-loki.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/index.md b/src/data/roadmaps/devops/content/116-logs-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/index.md rename to src/data/roadmaps/devops/content/116-logs-management/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md b/src/data/roadmaps/devops/content/117-containers/100-docker-swarm.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md rename to src/data/roadmaps/devops/content/117-containers/100-docker-swarm.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md b/src/data/roadmaps/devops/content/117-containers/100-lxc.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md rename to src/data/roadmaps/devops/content/117-containers/100-lxc.md diff --git a/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md b/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md new file mode 100644 index 000000000..15da52503 --- /dev/null +++ b/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md @@ -0,0 +1,14 @@ +# GKE / EKS / AKS + +## GKE - Google Kubernetes Engine + +GKE is a managed Kubernetes service that lets you deploy, manage, and scale containerized applications on Google Cloud. + +## EKS - Amazon Elastic Kubernetes Service + +Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed Kubernetes service from AWS. + +## AKS - Azure Kubernetes Service + +Azure Kubernetes Service (AKS) manages your hosted Kubernetes environment, making it quick and easy to deploy and manage containerized applications without container orchestration expertise. + diff --git a/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md b/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md new file mode 100644 index 000000000..2b6e162b3 --- /dev/null +++ b/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md @@ -0,0 +1,5 @@ +# ECS / Fargate + +ECS is a container orchestration service that allows you to run Docker containers on a cluster of EC2 instances. ECS is a good choice if you want to run Docker containers on EC2 instances and have full control over the underlying infrastructure. + +Fargate is a serverless container orchestration service that allows you to run Docker containers without having to manage servers, clusters, or any other infrastructure. Fargate is a good choice if you want to run Docker containers without having to manage servers or clusters. diff --git a/src/data/roadmaps/devops/content/117-containers/103-docker.md b/src/data/roadmaps/devops/content/117-containers/103-docker.md new file mode 100644 index 000000000..42b0608cb --- /dev/null +++ b/src/data/roadmaps/devops/content/117-containers/103-docker.md @@ -0,0 +1,9 @@ +# Docker + +Docker is a platform for working with containerized applications. Among its features are a daemon and client for managing and interacting with containers, registries for storing images, and a desktop application to package all these features together. + +Visit the following resources to learn more: + +- [Docker Documentation](https://docs.docker.com/) +- [Docker Tutorial](https://www.youtube.com/watch?v=RqTEHSBrYFw) +- [Docker simplified in 55 seconds](https://youtu.be/vP_4DlOH1G4) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md b/src/data/roadmaps/devops/content/117-containers/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md rename to src/data/roadmaps/devops/content/117-containers/index.md diff --git a/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md b/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md new file mode 100644 index 000000000..5b3ad5209 --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md @@ -0,0 +1 @@ +# Artifactory \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md b/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md new file mode 100644 index 000000000..ed326aa90 --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md @@ -0,0 +1,6 @@ +# Nexus + +- [Repository Management Basics](https://learn.sonatype.com/courses/nxrm-admin-100/) +- [Nexus Installation and Configuration](https://learn.sonatype.com/courses/nxrm-config-100/) +- [Nexus Repository Security Essentials](https://learn.sonatype.com/courses/nxrm-sec-100/) +- [Nexus Best Practices](https://help.sonatype.com/repomanager3/nexus-repository-best-practices) \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md b/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md new file mode 100644 index 000000000..e408dddcd --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md @@ -0,0 +1 @@ +# Cloud smith \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/index.md b/src/data/roadmaps/devops/content/118-artifcats/index.md new file mode 100644 index 000000000..cf7b86d9d --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/index.md @@ -0,0 +1 @@ +# Artifcats \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md b/src/data/roadmaps/devops/content/119-gitops/100-argo-cd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md rename to src/data/roadmaps/devops/content/119-gitops/100-argo-cd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md b/src/data/roadmaps/devops/content/119-gitops/101-flux-cd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md rename to src/data/roadmaps/devops/content/119-gitops/101-flux-cd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md b/src/data/roadmaps/devops/content/119-gitops/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md rename to src/data/roadmaps/devops/content/119-gitops/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md b/src/data/roadmaps/devops/content/120-service-mesh/100-istio.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md rename to src/data/roadmaps/devops/content/120-service-mesh/100-istio.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md b/src/data/roadmaps/devops/content/120-service-mesh/101-consul.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md rename to src/data/roadmaps/devops/content/120-service-mesh/101-consul.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md b/src/data/roadmaps/devops/content/120-service-mesh/102-linkerd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md rename to src/data/roadmaps/devops/content/120-service-mesh/102-linkerd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md b/src/data/roadmaps/devops/content/120-service-mesh/103-envoy.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md rename to src/data/roadmaps/devops/content/120-service-mesh/103-envoy.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md b/src/data/roadmaps/devops/content/120-service-mesh/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md rename to src/data/roadmaps/devops/content/120-service-mesh/index.md diff --git a/src/data/roadmaps/devops/content/index.md b/src/data/roadmaps/devops/content/index.md new file mode 100644 index 000000000..4e768b56d --- /dev/null +++ b/src/data/roadmaps/devops/content/index.md @@ -0,0 +1 @@ +# \ No newline at end of file diff --git a/src/data/roadmaps/devops/devops-beginner.json b/src/data/roadmaps/devops/devops-beginner.json new file mode 100644 index 000000000..cdd71636a --- /dev/null +++ b/src/data/roadmaps/devops/devops-beginner.json @@ -0,0 +1,2448 @@ +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "4658", + "typeID": "Arrow", + "zOrder": "8", + "w": "1", + "h": "274", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "237", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0, + "y": 273.8013976527985 + } + } + }, + { + "ID": "4659", + "typeID": "Label", + "zOrder": "9", + "measuredW": "116", + "measuredH": "40", + "x": "782", + "y": "179", + "properties": { + "size": "32", + "text": "DevOps" + } + }, + { + "ID": "4668", + "typeID": "Canvas", + "zOrder": "10", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "1050", + "y": "51" + }, + { + "ID": "4669", + "typeID": "Label", + "zOrder": "11", + "measuredW": "314", + "measuredH": "25", + "x": "1064", + "y": "68", + "properties": { + "size": "17", + "text": "Find the detailed version of this roadmap" + } + }, + { + "ID": "4670", + "typeID": "Label", + "zOrder": "12", + "measuredW": "319", + "measuredH": "25", + "x": "1064", + "y": "96", + "properties": { + "size": "17", + "text": "along with resources and other roadmaps" + } + }, + { + "ID": "4671", + "typeID": "__group__", + "zOrder": "13", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "1065", + "y": "132", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "181", + "measuredH": "29", + "w": "181", + "h": "29", + "x": "65", + "y": "8", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "105", + "measuredH": "28", + "x": "76", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "roadmap.sh" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "28", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "https" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "5", + "measuredH": "28", + "x": "48", + "y": "0", + "properties": { + "bold": "true", + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "10", + "measuredH": "28", + "x": "55", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "63", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "4675", + "typeID": "__group__", + "zOrder": "14", + "measuredW": "332", + "measuredH": "50", + "w": "332", + "h": "50", + "x": "676", + "y": "323", + "properties": { + "controlName": "100-language" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "332", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "249", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "size": "17", + "text": "Learn a Programming Language" + } + } + ] + } + } + }, + { + "ID": "4677", + "typeID": "__group__", + "zOrder": "15", + "measuredW": "163", + "measuredH": "49", + "w": "163", + "h": "49", + "x": "1107", + "y": "296", + "properties": { + "controlName": "100-language:python" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "153", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "53", + "measuredH": "25", + "x": "50", + "y": "12", + "properties": { + "text": "Python", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "139", + "y": "13", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "4679", + "typeID": "__group__", + "zOrder": "16", + "measuredW": "164", + "measuredH": "47", + "w": "164", + "h": "47", + "x": "1107", + "y": "350", + "properties": { + "controlName": "103-language:go" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457", + "textColor": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "23", + "measuredH": "25", + "x": "64", + "y": "11", + "properties": { + "size": "17", + "text": "Go" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "140", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "4681", + "typeID": "Arrow", + "zOrder": "17", + "w": "1", + "h": "115", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "44", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 114.9603156901461 + } + } + }, + { + "ID": "4850", + "typeID": "Arrow", + "zOrder": "6", + "h": "26", + "measuredW": "150", + "measuredH": "100", + "x": "972", + "y": "354", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 150.42424242424227, + "y": 25.545454545454504 + }, + "p1": { + "x": 0.32960554306205536, + "y": -0.04777244271561415 + }, + "p2": { + "x": 0.42424242424237946, + "y": -0.21212121212124657 + }, + "stroke": "dotted" + } + }, + { + "ID": "4871", + "typeID": "Canvas", + "zOrder": "18", + "w": "420", + "h": "151", + "measuredW": "100", + "measuredH": "70", + "x": "194", + "y": "51" + }, + { + "ID": "4872", + "typeID": "__group__", + "zOrder": "19", + "measuredW": "374", + "measuredH": "47", + "w": "374", + "h": "47", + "x": "214", + "y": "140", + "properties": { + "controlName": "json:devops.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "374", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "3355443", + "color": "3355443" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "203", + "measuredH": "26", + "x": "85", + "y": "11", + "properties": { + "color": "16777215", + "size": "18", + "text": "Visit the Detailed Version" + } + } + ] + } + } + }, + { + "ID": "4873", + "typeID": "Label", + "zOrder": "20", + "measuredW": "370", + "measuredH": "26", + "x": "214", + "y": "74", + "properties": { + "color": "4985136", + "size": "18", + "text": "If you already have some DevOps experience," + } + }, + { + "ID": "4874", + "typeID": "Label", + "zOrder": "21", + "measuredW": "338", + "measuredH": "26", + "x": "214", + "y": "104", + "properties": { + "color": "4985136", + "size": "18", + "text": "visit the detailed version with more topics." + } + }, + { + "ID": "4875", + "typeID": "Arrow", + "zOrder": "7", + "w": "142", + "h": "25", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "319", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 142.33333333333326, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.4364276286845581, + "y": 0.06401231852177729 + }, + "p2": { + "x": -0.09090909090912191, + "y": 24.181818181818187 + }, + "stroke": "dotted" + } + }, + { + "ID": "4877", + "typeID": "Label", + "zOrder": "22", + "measuredW": "438", + "measuredH": "26", + "x": "898", + "y": "493", + "properties": { + "color": "4985136", + "size": "18", + "text": "You can pick any programming language. The purpose" + } + }, + { + "ID": "4878", + "typeID": "Label", + "zOrder": "23", + "measuredW": "431", + "measuredH": "26", + "x": "898", + "y": "525", + "properties": { + "color": "4985136", + "size": "18", + "text": "behind the language is to be able to write automation" + } + }, + { + "ID": "4879", + "typeID": "Label", + "zOrder": "24", + "measuredW": "288", + "measuredH": "26", + "x": "898", + "y": "557", + "properties": { + "color": "4985136", + "size": "18", + "text": "scripts to automate repetitive tasks." + } + }, + { + "ID": "4880", + "typeID": "Label", + "zOrder": "25", + "measuredW": "356", + "measuredH": "32", + "x": "898", + "y": "445", + "properties": { + "color": "4985136", + "size": "24", + "text": "Pick any Programming Language" + } + }, + { + "ID": "4881", + "typeID": "Arrow", + "zOrder": "26", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "529", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 79.12121212121212 + } + } + }, + { + "ID": "4882", + "typeID": "Arrow", + "zOrder": "27", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "766", + "y": "567", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + } + } + }, + { + "ID": "4883", + "typeID": "Label", + "zOrder": "28", + "measuredW": "451", + "measuredH": "26", + "x": "173", + "y": "307", + "properties": { + "color": "4985136", + "size": "18", + "text": "DevOps is all about bringing developers and operations" + } + }, + { + "ID": "4884", + "typeID": "Label", + "zOrder": "29", + "measuredW": "473", + "measuredH": "26", + "x": "151", + "y": "338", + "properties": { + "color": "4985136", + "size": "18", + "text": "teams together to improve software delivery. The key focus" + } + }, + { + "ID": "4885", + "typeID": "Label", + "zOrder": "30", + "measuredW": "422", + "measuredH": "26", + "x": "202", + "y": "369", + "properties": { + "color": "4985136", + "size": "18", + "text": "areas are automation, infrastructure and monitoring." + } + }, + { + "ID": "4886", + "typeID": "Label", + "zOrder": "31", + "measuredW": "185", + "measuredH": "32", + "x": "439", + "y": "259", + "properties": { + "color": "4985136", + "size": "24", + "text": "What is DevOps?" + } + }, + { + "ID": "4888", + "typeID": "Label", + "zOrder": "32", + "measuredW": "400", + "measuredH": "26", + "x": "224", + "y": "418", + "properties": { + "size": "18", + "color": "3700253", + "text": "For further details, have a look at the FAQs below." + } + }, + { + "ID": "4889", + "typeID": "__group__", + "zOrder": "33", + "measuredW": "102", + "measuredH": "49", + "w": "102", + "h": "49", + "x": "676", + "y": "543", + "properties": { + "controlName": "100-operating-systems:linux:ubuntu" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "102", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "41", + "measuredH": "25", + "x": "30", + "y": "12", + "properties": { + "size": "17", + "text": "Linux" + } + } + ] + } + } + }, + { + "ID": "4890", + "typeID": "Label", + "zOrder": "34", + "measuredW": "473", + "measuredH": "26", + "x": "151", + "y": "496", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn about the file system, package managers, managing" + } + }, + { + "ID": "4891", + "typeID": "Label", + "zOrder": "35", + "measuredW": "469", + "measuredH": "26", + "x": "155", + "y": "526", + "properties": { + "color": "4985136", + "size": "18", + "text": "services, checking logs, bash scripting, permissions, pipes" + } + }, + { + "ID": "4892", + "typeID": "Label", + "zOrder": "36", + "measuredW": "437", + "measuredH": "26", + "x": "187", + "y": "556", + "properties": { + "color": "4985136", + "size": "18", + "text": "output redirection, common tools for text manipulation" + } + }, + { + "ID": "4894", + "typeID": "Label", + "zOrder": "37", + "measuredW": "429", + "measuredH": "26", + "x": "197", + "y": "586", + "properties": { + "color": "4985136", + "size": "18", + "text": "process monitoring, networking tools, CLI editors etc." + } + }, + { + "ID": "4895", + "typeID": "Label", + "zOrder": "38", + "measuredW": "388", + "measuredH": "26", + "x": "236", + "y": "633", + "properties": { + "size": "18", + "color": "10027263", + "text": "Pick Ubuntu if you have a little to no experience." + } + }, + { + "ID": "4896", + "typeID": "Arrow", + "zOrder": "39", + "w": "1", + "h": "97", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "624", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 97.35494995908607 + } + } + }, + { + "ID": "4897", + "typeID": "Arrow", + "zOrder": "40", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "840", + "y": "656", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + }, + "color": "3700253" + } + }, + { + "ID": "4898", + "typeID": "__group__", + "zOrder": "41", + "measuredW": "238", + "measuredH": "49", + "w": "238", + "h": "49", + "x": "898", + "y": "632", + "properties": { + "controlName": "108-networking-protocols" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "__group__", + "zOrder": "0", + "measuredW": "238", + "measuredH": "49", + "w": "238", + "h": "49", + "x": "0", + "y": "0", + "properties": { + "controlName": "103-networking-protocols" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "238", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + } + ] + } + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "197", + "measuredH": "25", + "x": "20", + "y": "12", + "properties": { + "size": "17", + "text": "Networking and Protocols" + } + } + ] + } + } + }, + { + "ID": "4899", + "typeID": "Label", + "zOrder": "42", + "measuredW": "467", + "measuredH": "26", + "x": "898", + "y": "742", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn about DNS, TCP/IP Protocols, SSH, ports, gateways," + } + }, + { + "ID": "4900", + "typeID": "Label", + "zOrder": "43", + "measuredW": "338", + "measuredH": "26", + "x": "898", + "y": "771", + "properties": { + "color": "4985136", + "size": "18", + "text": "routing, ip addressing, and subnetting etc." + } + }, + { + "ID": "4901", + "typeID": "Label", + "zOrder": "44", + "measuredW": "474", + "measuredH": "26", + "x": "898", + "y": "818", + "properties": { + "size": "18", + "color": "3700253", + "text": "This will come in handy with deployments / troubleshooting" + } + }, + { + "ID": "4902", + "typeID": "Arrow", + "zOrder": "45", + "w": "1", + "h": "117", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "738", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0, + "y": 117.34935324061723 + } + } + }, + { + "ID": "4903", + "typeID": "Arrow", + "zOrder": "46", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "766", + "y": "788", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + } + } + }, + { + "ID": "4904", + "typeID": "__group__", + "zOrder": "47", + "measuredW": "102", + "measuredH": "49", + "w": "102", + "h": "49", + "x": "676", + "y": "764", + "properties": { + "controlName": "103-containers:docker" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "102", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "23", + "y": "12", + "properties": { + "size": "17", + "text": "Docker" + } + } + ] + } + } + }, + { + "ID": "4905", + "typeID": "Label", + "zOrder": "48", + "measuredW": "425", + "measuredH": "26", + "x": "199", + "y": "725", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn about containerization. Be comfortable writing" + } + }, + { + "ID": "4906", + "typeID": "Label", + "zOrder": "49", + "measuredW": "472", + "measuredH": "26", + "x": "152", + "y": "755", + "properties": { + "color": "4985136", + "size": "18", + "text": "Docker files. Learn about troubleshooting. Get familiar with" + } + }, + { + "ID": "4907", + "typeID": "Label", + "zOrder": "50", + "measuredW": "442", + "measuredH": "26", + "x": "182", + "y": "785", + "properties": { + "color": "4985136", + "size": "18", + "text": "Alpine Linux. Learn about networking, storage, security." + } + }, + { + "ID": "4908", + "typeID": "Label", + "zOrder": "51", + "measuredW": "457", + "measuredH": "26", + "x": "167", + "y": "831", + "properties": { + "size": "18", + "color": "10027263", + "text": "Learn docker networking, storage, security, performance." + } + }, + { + "ID": "4909", + "typeID": "Arrow", + "zOrder": "52", + "w": "1", + "h": "107", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "870", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0, + "y": 106.92694925075432 + } + } + }, + { + "ID": "4910", + "typeID": "__group__", + "zOrder": "53", + "measuredW": "102", + "measuredH": "49", + "w": "102", + "h": "49", + "x": "676", + "y": "909", + "properties": { + "controlName": "100-version-control-systems:git" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "102", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "22", + "measuredH": "25", + "x": "40", + "y": "12", + "properties": { + "size": "17", + "text": "Git" + } + } + ] + } + } + }, + { + "ID": "4911", + "typeID": "Arrow", + "zOrder": "5", + "w": "79", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "759", + "y": "933", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": -0.35538425356764947, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 79, + "y": -0.36363636363637397 + } + } + }, + { + "ID": "4912", + "typeID": "Label", + "zOrder": "54", + "measuredW": "424", + "measuredH": "26", + "x": "200", + "y": "903", + "properties": { + "color": "4985136", + "size": "18", + "text": "DevOps teams usually practice \"git ops,\" i.e., making " + } + }, + { + "ID": "4914", + "typeID": "Label", + "zOrder": "55", + "measuredW": "454", + "measuredH": "26", + "x": "170", + "y": "933", + "properties": { + "color": "4985136", + "size": "18", + "text": "changes to your CI/CD pipeline, infrastructure, or server" + } + }, + { + "ID": "4915", + "typeID": "Label", + "zOrder": "56", + "measuredW": "432", + "measuredH": "26", + "x": "192", + "y": "964", + "properties": { + "color": "4985136", + "size": "18", + "text": "provisioning will involve making a pull request against" + } + }, + { + "ID": "4916", + "typeID": "Label", + "zOrder": "57", + "measuredW": "239", + "measuredH": "26", + "x": "385", + "y": "994", + "properties": { + "color": "4985136", + "size": "18", + "text": "the appropriate git repository." + } + }, + { + "ID": "4917", + "typeID": "Label", + "zOrder": "58", + "measuredW": "342", + "measuredH": "26", + "x": "282", + "y": "1044", + "properties": { + "size": "18", + "color": "3700253", + "text": "Learn about git, create your GitHub profile." + } + }, + { + "ID": "4919", + "typeID": "__group__", + "zOrder": "59", + "measuredW": "105", + "measuredH": "49", + "w": "105", + "h": "49", + "x": "898", + "y": "990", + "properties": { + "controlName": "100-cloud-providers:aws" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "105", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "36", + "measuredH": "25", + "x": "35", + "y": "12", + "properties": { + "text": "AWS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4920", + "typeID": "Arrow", + "zOrder": "60", + "w": "1", + "h": "133", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "988", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 133.20096811109102 + } + } + }, + { + "ID": "4921", + "typeID": "Arrow", + "zOrder": "4", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "840", + "y": "1015", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + }, + "color": "10027263" + } + }, + { + "ID": "4924", + "typeID": "Label", + "zOrder": "61", + "measuredW": "415", + "measuredH": "26", + "x": "898", + "y": "1067", + "properties": { + "color": "4985136", + "size": "18", + "text": "Pick one of the cloud providers AWS, GCP or Azure." + } + }, + { + "ID": "4925", + "typeID": "Label", + "zOrder": "62", + "measuredW": "436", + "measuredH": "26", + "x": "898", + "y": "1096", + "properties": { + "color": "4985136", + "size": "18", + "text": "Start with core services e.g. in AWS VPC, EC2, S3, IAM" + } + }, + { + "ID": "4926", + "typeID": "Label", + "zOrder": "63", + "measuredW": "414", + "measuredH": "26", + "x": "898", + "y": "1124", + "properties": { + "color": "4985136", + "size": "18", + "text": "and later RDS, Route53, Cloudwatch, ECS, EKS etc." + } + }, + { + "ID": "4927", + "typeID": "Label", + "zOrder": "64", + "measuredW": "420", + "measuredH": "26", + "x": "898", + "y": "1165", + "properties": { + "size": "18", + "color": "10027263", + "text": "Create and deploy some dummy application to AWS." + } + }, + { + "ID": "4928", + "typeID": "__group__", + "zOrder": "65", + "measuredW": "123", + "measuredH": "49", + "w": "123", + "h": "49", + "x": "664", + "y": "1157", + "properties": { + "controlName": "103-infrastructure-provisioning:terraform" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "123", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "75", + "measuredW": "75", + "measuredH": "25", + "x": "24", + "y": "12", + "properties": { + "text": "Terraform", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4930", + "typeID": "Arrow", + "zOrder": "66", + "w": "1", + "h": "110", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "1134", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": 0, + "y": 110.23786879464456 + } + } + }, + { + "ID": "4931", + "typeID": "Arrow", + "zOrder": "3", + "w": "79", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "758", + "y": "1181", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": -0.35538425356764947, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 79, + "y": -0.36363636363637397 + } + } + }, + { + "ID": "4933", + "typeID": "Label", + "zOrder": "67", + "measuredW": "460", + "measuredH": "26", + "x": "164", + "y": "1141", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn what “Infrastructure as Code” means. Learn about" + } + }, + { + "ID": "4934", + "typeID": "Label", + "zOrder": "68", + "measuredW": "439", + "measuredH": "26", + "x": "185", + "y": "1171", + "properties": { + "color": "4985136", + "size": "18", + "text": "terraform and how to automate infrastructure creation." + } + }, + { + "ID": "4936", + "typeID": "Label", + "zOrder": "69", + "measuredW": "437", + "measuredH": "26", + "x": "187", + "y": "1223", + "properties": { + "size": "18", + "color": "3700253", + "text": "If you deployed an application to AWS in previous step" + } + }, + { + "ID": "4937", + "typeID": "Label", + "zOrder": "70", + "measuredW": "444", + "measuredH": "26", + "x": "180", + "y": "1253", + "properties": { + "size": "18", + "color": "3700253", + "text": "destroy the infrastructure and create it using terraform." + } + }, + { + "ID": "4938", + "typeID": "Arrow", + "zOrder": "71", + "w": "1", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "1254", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0, + "y": 75.17754491730079 + } + } + }, + { + "ID": "4940", + "typeID": "__group__", + "zOrder": "72", + "measuredW": "108", + "measuredH": "49", + "w": "108", + "h": "49", + "x": "898", + "y": "1259", + "properties": { + "controlName": "100-configuration-management:ansible" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "108", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "26", + "y": "11", + "properties": { + "text": "Ansible", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4941", + "typeID": "Arrow", + "zOrder": "2", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "1284", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + }, + "color": "10027263" + } + }, + { + "ID": "4942", + "typeID": "Label", + "zOrder": "73", + "measuredW": "436", + "measuredH": "26", + "x": "898", + "y": "1343", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn what is configuration management. Understand" + } + }, + { + "ID": "4943", + "typeID": "Label", + "zOrder": "74", + "measuredW": "458", + "measuredH": "26", + "x": "898", + "y": "1373", + "properties": { + "color": "4985136", + "size": "18", + "text": "roles, playbooks, inventory management and automation." + } + }, + { + "ID": "4944", + "typeID": "Label", + "zOrder": "75", + "measuredW": "382", + "measuredH": "26", + "x": "898", + "y": "1418", + "properties": { + "size": "18", + "color": "10027263", + "text": "Write some automation scripts e.g. db backups." + } + }, + { + "ID": "4945", + "typeID": "Arrow", + "zOrder": "76", + "w": "1", + "h": "110", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "1341", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": 0, + "y": 110.23786879464456 + } + } + }, + { + "ID": "4946", + "typeID": "__group__", + "zOrder": "77", + "measuredW": "152", + "measuredH": "49", + "w": "152", + "h": "49", + "x": "655", + "y": "1361", + "properties": { + "controlName": "102-ci-cd:github-actions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "114", + "measuredH": "25", + "x": "19", + "y": "12", + "properties": { + "text": "GitHub Actions", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4947", + "typeID": "Arrow", + "zOrder": "1", + "w": "79", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "758", + "y": "1385", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "3700253", + "p0": { + "x": -0.35538425356764947, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 79, + "y": -0.36363636363637397 + } + } + }, + { + "ID": "4949", + "typeID": "Label", + "zOrder": "78", + "measuredW": "470", + "measuredH": "26", + "x": "154", + "y": "1336", + "properties": { + "color": "4985136", + "size": "18", + "text": "Learn about the concepts of CI/CD and how to implement" + } + }, + { + "ID": "4950", + "typeID": "Label", + "zOrder": "79", + "measuredW": "465", + "measuredH": "26", + "x": "159", + "y": "1367", + "properties": { + "color": "4985136", + "size": "18", + "text": "in your projects using some CI/CD tool. There are several" + } + }, + { + "ID": "4951", + "typeID": "Label", + "zOrder": "80", + "measuredW": "423", + "measuredH": "26", + "x": "201", + "y": "1398", + "properties": { + "color": "4985136", + "size": "18", + "text": "options available in this space, you can pick any one." + } + }, + { + "ID": "4952", + "typeID": "Label", + "zOrder": "81", + "measuredW": "428", + "measuredH": "26", + "x": "198", + "y": "1448", + "properties": { + "size": "18", + "color": "3700253", + "text": "Integrate CI/CD into your apps using GitHub Actions." + } + }, + { + "ID": "4953", + "typeID": "__group__", + "zOrder": "82", + "measuredW": "107", + "measuredH": "49", + "w": "107", + "h": "49", + "x": "898", + "y": "1501", + "properties": { + "controlName": "105-setting-up-x:nginx" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "107", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "25", + "x": "31", + "y": "12", + "properties": { + "text": "Nginx", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4954", + "typeID": "Arrow", + "zOrder": "83", + "w": "1", + "h": "390", + "measuredW": "150", + "measuredH": "100", + "x": "839", + "y": "1463", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 390.42124399183035 + } + } + }, + { + "ID": "4955", + "typeID": "Arrow", + "zOrder": "0", + "w": "72", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "842", + "y": "1525", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.27272727272725206, + "y": -0.36363636363637397 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 72, + "y": -0.36363636363637397 + }, + "color": "10027263" + } + }, + { + "ID": "4956", + "typeID": "Label", + "zOrder": "84", + "measuredW": "467", + "measuredH": "26", + "x": "898", + "y": "1586", + "properties": { + "color": "4985136", + "size": "18", + "text": "nginx is commonly used for web serving, reverse proxying," + } + }, + { + "ID": "4957", + "typeID": "Label", + "zOrder": "85", + "measuredW": "424", + "measuredH": "26", + "x": "898", + "y": "1616", + "properties": { + "color": "4985136", + "size": "18", + "text": "caching, load balancing, media streaming, and more." + } + }, + { + "ID": "4958", + "typeID": "Label", + "zOrder": "86", + "measuredW": "369", + "measuredH": "26", + "x": "898", + "y": "1664", + "properties": { + "size": "18", + "color": "10027263", + "text": "Learn the basic config options, TLS setup etc." + } + }, + { + "ID": "4959", + "typeID": "Arrow", + "zOrder": "87", + "w": "1", + "h": "71", + "measuredW": "150", + "measuredH": "100", + "x": "835", + "y": "1978", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 0, + "y": -0.05210330899694782 + }, + "p1": { + "x": 0.5000000000000007, + "y": 0 + }, + "p2": { + "x": 0, + "y": 71 + } + } + }, + { + "ID": "4960", + "typeID": "Arrow", + "zOrder": "88", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "834", + "y": "2131", + "properties": { + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 1, + "y": 88 + }, + "p1": { + "x": 0.4072427393330943, + "y": 0.00953746862674794 + }, + "p2": { + "x": 1, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted", + "color": "40463" + } + }, + { + "ID": "4961", + "typeID": "TextArea", + "zOrder": "89", + "w": "499", + "h": "118", + "measuredW": "200", + "measuredH": "140", + "x": "585", + "y": "2044" + }, + { + "ID": "4962", + "typeID": "Label", + "zOrder": "90", + "measuredW": "431", + "measuredH": "25", + "x": "619", + "y": "2063", + "properties": { + "size": "17", + "text": "Look at the detailed version for what else you don’t know" + } + }, + { + "ID": "4963", + "typeID": "__group__", + "zOrder": "91", + "measuredW": "430", + "measuredH": "44", + "w": "430", + "h": "44", + "x": "620", + "y": "2098", + "properties": { + "controlName": "json:devops.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "430", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "141", + "measuredH": "25", + "x": "144", + "y": "9", + "properties": { + "size": "17", + "text": "DevOps Roadmap" + } + } + ] + } + } + }, + { + "ID": "4964", + "typeID": "TextArea", + "zOrder": "92", + "w": "613", + "h": "246", + "measuredW": "200", + "measuredH": "140", + "x": "532", + "y": "1731" + }, + { + "ID": "4965", + "typeID": "Label", + "zOrder": "93", + "measuredW": "532", + "measuredH": "26", + "x": "564", + "y": "1797", + "properties": { + "color": "4985136", + "size": "18", + "text": "At this point, you should have enough knowledge to find a junior to" + } + }, + { + "ID": "4966", + "typeID": "Label", + "zOrder": "94", + "measuredW": "516", + "measuredH": "26", + "x": "564", + "y": "1827", + "properties": { + "color": "4985136", + "size": "18", + "text": "mid-level (maybe even senior) DevOps position at any company" + } + }, + { + "ID": "4967", + "typeID": "Label", + "zOrder": "95", + "measuredW": "350", + "measuredH": "26", + "x": "564", + "y": "1857", + "properties": { + "color": "4985136", + "size": "18", + "text": "depending on the depth of your knowledge." + } + }, + { + "ID": "4968", + "typeID": "Label", + "zOrder": "96", + "measuredW": "116", + "measuredH": "32", + "x": "564", + "y": "1753", + "properties": { + "color": "4985136", + "size": "24", + "text": "Job Ready" + } + }, + { + "ID": "4969", + "typeID": "Label", + "zOrder": "97", + "measuredW": "536", + "measuredH": "26", + "x": "564", + "y": "1899", + "properties": { + "size": "18", + "color": "10027263", + "text": "Deepen your pool of knowledge and keep building projects till you" + } + }, + { + "ID": "4970", + "typeID": "Label", + "zOrder": "98", + "measuredW": "360", + "measuredH": "26", + "x": "564", + "y": "1928", + "properties": { + "size": "18", + "color": "10027263", + "text": "find a job. Your job will teach you a lot as well." + } + } + ] + }, + "attributes": { + "name": "New Wireframe 9 copy 3", + "order": 1000127.6123092113, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "A1A5999B-9C79-4DA0-ACC2-6623475C4F5B", + "mockupH": "2176", + "mockupW": "1249", + "measuredW": "1400", + "measuredH": "2220", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" +} diff --git a/src/data/roadmaps/devops/devops.json b/src/data/roadmaps/devops/devops.json index e36bb2ac4..2e64bf867 100644 --- a/src/data/roadmaps/devops/devops.json +++ b/src/data/roadmaps/devops/devops.json @@ -1 +1,14435 @@ -{"mockup":{"controls":{"control":[{"ID":"3494","typeID":"Arrow","zOrder":"1","w":"288","h":"263","measuredW":"150","measuredH":"100","x":"712","y":"1710","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.2314366161547241,"y":-0.28873291892250563},"p1":{"x":0.427902855085708,"y":-0.14405582786408574},"p2":{"x":288.4449904841407,"y":263.01747678763263}}},{"ID":"3495","typeID":"Arrow","zOrder":"2","w":"1","h":"98","measuredW":"150","measuredH":"100","x":"646","y":"1605","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0.4651302239562938},"p1":{"x":0.6451475897218093,"y":-0.002973030367381328},"p2":{"x":0,"y":98.31541085814911}}},{"ID":"3496","typeID":"Arrow","zOrder":"3","w":"173","h":"47","measuredW":"150","measuredH":"100","x":"835","y":"292","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.23725851265112397,"y":47.01848407544725},"p1":{"x":0.5110795793605537,"y":-0.06338765929796168},"p2":{"x":173.67335557827573,"y":-0.10377625936393997}}},{"ID":"3497","typeID":"Arrow","zOrder":"4","w":"175","h":"40","measuredW":"150","measuredH":"100","x":"829","y":"361","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.30749986718376476,"y":-0.3838132710976083},"p1":{"x":0.6909921238996622,"y":0.07891984909656495},"p2":{"x":175.09202471239132,"y":39.53921284589518}}},{"ID":"3498","typeID":"Arrow","zOrder":"5","w":"70","h":"94","measuredW":"150","measuredH":"100","x":"268","y":"2330","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":70,"y":94},"p1":{"x":0.49680207433016427,"y":-0.09127052722558338},"p2":{"x":0,"y":0}}},{"ID":"3499","typeID":"Arrow","zOrder":"6","h":"114","measuredW":"150","measuredH":"100","x":"422","y":"2629","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":149.5,"y":113.5},"p1":{"x":0.5697543385170161,"y":-0.1564119900833896},"p2":{"x":0,"y":0}}},{"ID":"3500","typeID":"Arrow","zOrder":"7","w":"3","h":"66","measuredW":"150","measuredH":"100","x":"374","y":"2628","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":0},"p1":{"x":0.56842735383826,"y":-0.01687523160685271},"p2":{"x":2,"y":65},"rightArrow":"false","stroke":"dotted"}},{"ID":"3501","typeID":"Arrow","zOrder":"8","w":"3","h":"66","measuredW":"150","measuredH":"100","x":"214","y":"2628","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":0},"p1":{"x":0.56842735383826,"y":-0.01687523160685271},"p2":{"x":2,"y":65},"rightArrow":"false","stroke":"dotted"}},{"ID":"3502","typeID":"Arrow","zOrder":"9","w":"192","h":"247","measuredW":"150","measuredH":"100","x":"434","y":"2369","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":192.35091394754102,"y":0.47218084835731133},"p1":{"x":0.5554094414478669,"y":0.21886655076598477},"p2":{"x":0,"y":247}}},{"ID":"3503","typeID":"Arrow","zOrder":"10","w":"90","h":"60","measuredW":"150","measuredH":"100","x":"507","y":"2373","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":55.5},"p1":{"x":0.3976647206005023,"y":-0.21384487072560043},"p2":{"x":90.03236052872,"y":0.4701654054692881}}},{"ID":"3504","typeID":"Arrow","zOrder":"11","w":"3","h":"66","measuredW":"150","measuredH":"100","x":"895","y":"2450","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":0},"p1":{"x":0.56842735383826,"y":-0.01687523160685271},"p2":{"x":2,"y":65},"rightArrow":"false","stroke":"dotted"}},{"ID":"3505","typeID":"Arrow","zOrder":"12","w":"3","h":"66","measuredW":"150","measuredH":"100","x":"765","y":"2450","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":0},"p1":{"x":0.56842735383826,"y":-0.01687523160685271},"p2":{"x":2,"y":65},"rightArrow":"false","stroke":"dotted"}},{"ID":"3506","typeID":"Arrow","zOrder":"13","w":"3","h":"79","measuredW":"150","measuredH":"100","x":"836","y":"2352","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":2.5,"y":-0.5},"p1":{"x":0.5684273538382602,"y":-0.016875231606852704},"p2":{"x":0.5,"y":78.5}}},{"ID":"3507","typeID":"Arrow","zOrder":"14","w":"3","h":"66","measuredW":"150","measuredH":"100","x":"838","y":"2300","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":0},"p1":{"x":0.56842735383826,"y":-0.01687523160685271},"p2":{"x":2,"y":65},"rightArrow":"false","stroke":"dotted"}},{"ID":"3508","typeID":"Arrow","zOrder":"15","w":"92","h":"184","measuredW":"150","measuredH":"100","x":"966","y":"2301","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":-0.5},"p1":{"x":0.6466957628227236,"y":-0.02001450843748885},"p2":{"x":91,"y":183}}},{"ID":"3509","typeID":"Arrow","zOrder":"16","w":"94","h":"132","measuredW":"150","measuredH":"100","x":"968","y":"2300","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":-0.5},"p1":{"x":0.6816916015287408,"y":-0.06264764063070156},"p2":{"x":93,"y":131}}},{"ID":"3510","typeID":"Arrow","zOrder":"17","w":"94","h":"82","measuredW":"150","measuredH":"100","x":"974","y":"2302","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":-0.5},"p1":{"x":0.6469984607491023,"y":-0.08209338122113903},"p2":{"x":93,"y":81}}},{"ID":"3511","typeID":"Arrow","zOrder":"18","w":"97","h":"31","measuredW":"150","measuredH":"100","x":"968","y":"2302","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":-0.5},"p1":{"x":0.5697996021155806,"y":-0.04716386044931828},"p2":{"x":96,"y":30}}},{"ID":"3512","typeID":"Arrow","zOrder":"19","w":"97","h":"20","measuredW":"150","measuredH":"100","x":"966","y":"2272","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":19.5},"p1":{"x":0.5540000000000003,"y":-0.07800000000000004},"p2":{"x":96,"y":0}}},{"ID":"3513","typeID":"Arrow","zOrder":"20","w":"95","h":"69","measuredW":"150","measuredH":"100","x":"964","y":"2222","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":68.5},"p1":{"x":0.554,"y":-0.07800000000000008},"p2":{"x":94,"y":0}}},{"ID":"3514","typeID":"Arrow","zOrder":"21","w":"286","h":"362","measuredW":"150","measuredH":"100","x":"418","y":"1995","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":285.64528205170564,"y":362.4782271770214},"p1":{"x":0.4365971463723128,"y":0.20879511032103928},"p2":{"x":0,"y":0}}},{"ID":"3515","typeID":"Arrow","zOrder":"22","w":"302","h":"265","measuredW":"150","measuredH":"100","x":"254","y":"1709","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":302.26401960528983,"y":-0.4747969266095424},"p1":{"x":0.5253269208128037,"y":0.1629774877603306},"p2":{"x":0,"y":264.5}}},{"ID":"3516","typeID":"Arrow","zOrder":"23","w":"82","h":"223","measuredW":"150","measuredH":"100","x":"607","y":"1689","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":82.10318846625466,"y":-0.044853053448150604},"p1":{"x":0.4520111009254957,"y":-0.1095023419938969},"p2":{"x":0,"y":223}}},{"ID":"3517","typeID":"Arrow","zOrder":"24","w":"195","h":"285","measuredW":"150","measuredH":"100","x":"697","y":"1716","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.9986685239084636,"y":-0.35841288048663955},"p1":{"x":0.4553405970648267,"y":-0.16048434330533035},"p2":{"x":194.9201337807633,"y":284.2969489644379}}},{"ID":"3518","typeID":"Arrow","zOrder":"25","w":"59","h":"31","measuredW":"150","measuredH":"100","x":"673","y":"1573","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":31},"p1":{"x":0.6609756097560976,"y":-0.08211382113821152},"p2":{"x":59,"y":0}}},{"ID":"3519","typeID":"Arrow","zOrder":"26","w":"50","h":"23","measuredW":"150","measuredH":"100","x":"681","y":"1610","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.6188208934322924,"y":0.07043831396163001},"p2":{"x":50,"y":23}}},{"ID":"3520","typeID":"Arrow","zOrder":"27","w":"272","h":"173","measuredW":"150","measuredH":"100","x":"722","y":"1703","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.280051322347731,"y":-0.4051169650456359},"p1":{"x":0.46693873123906865,"y":-0.14334910584758043},"p2":{"x":271.3286064380177,"y":172.76022815728356}}},{"ID":"3521","typeID":"Arrow","zOrder":"28","w":"332","h":"1","measuredW":"150","measuredH":"100","x":"709","y":"1700","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.26627659693679107,"y":0.35025083893128794},"p1":{"x":0.6451475897218095,"y":-0.0029730303673813283},"p2":{"x":332.3641987493486,"y":0.35025083893128794}}},{"ID":"3522","typeID":"Arrow","zOrder":"29","w":"163","h":"220","measuredW":"150","measuredH":"100","x":"392","y":"1484","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":163.07795559760268,"y":219.78094704264163},"p1":{"x":0.5476470211266105,"y":-0.16651357528891536},"p2":{"x":0,"y":0}}},{"ID":"3523","typeID":"TextArea","zOrder":"30","w":"162","h":"164","measuredW":"200","measuredH":"140","x":"256","y":"1642"},{"ID":"3524","typeID":"Label","zOrder":"31","measuredW":"90","measuredH":"25","x":"292","y":"1655","properties":{"text":"Web Server","size":"17"}},{"ID":"3525","typeID":"__group__","zOrder":"32","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"404","y":"1652","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3526","typeID":"__group__","zOrder":"33","measuredW":"113","measuredH":"46","w":"113","h":"46","x":"342","y":"1696","properties":{"controlName":"106-setting-up-x:apache"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"102","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"25","x":"22","y":"10","properties":{"text":"Apache","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"89","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3527","typeID":"__group__","zOrder":"34","measuredW":"115","measuredH":"47","w":"115","h":"47","x":"221","y":"1695","properties":{"controlName":"105-setting-up-x:nginx"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"103","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"45","measuredH":"25","x":"41","y":"10","properties":{"text":"Nginx","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3528","typeID":"__group__","zOrder":"35","measuredW":"115","measuredH":"46","w":"115","h":"46","x":"221","y":"1746","properties":{"controlName":"107-setting-up-x:tomcat"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"104","h":"46","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"57","measuredH":"25","x":"36","y":"10","properties":{"text":"Tomcat","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3529","typeID":"__group__","zOrder":"36","measuredW":"111","measuredH":"46","w":"111","h":"46","x":"342","y":"1746","properties":{"controlName":"108-setting-up-x:iis"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"104","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"21","measuredH":"25","x":"42","y":"10","properties":{"text":"IIS","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"87","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3530","typeID":"Arrow","zOrder":"37","w":"139","h":"480","measuredW":"150","measuredH":"100","x":"349","y":"1003","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":117,"y":0},"p1":{"x":0.49741931596810796,"y":0.1414255015765269},"p2":{"x":0,"y":480}}},{"ID":"3531","typeID":"Arrow","zOrder":"38","w":"48","h":"232","measuredW":"150","measuredH":"100","x":"437","y":"767","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":29,"y":231},"p1":{"x":0.5363141434032203,"y":0.16738097996061624},"p2":{"x":48.5,"y":-0.5}}},{"ID":"3532","typeID":"Arrow","zOrder":"39","w":"113","h":"546","measuredW":"150","measuredH":"100","x":"622","y":"861","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":113,"y":-0.5},"p1":{"x":0.7098591549295775,"y":-0.1464788732394366},"p2":{"x":68.28925247394181,"y":545.0788811131581}}},{"ID":"3533","typeID":"Arrow","zOrder":"40","w":"55","h":"506","measuredW":"150","measuredH":"100","x":"841","y":"867","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":0},"p1":{"x":0.6869181773640373,"y":-0.04489777738185382},"p2":{"x":54.5,"y":506}}},{"ID":"3534","typeID":"Arrow","zOrder":"41","w":"138","h":"179","measuredW":"150","measuredH":"100","x":"867","y":"867","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.6360848858314251,"y":-0.2072096577168263},"p2":{"x":138,"y":177}}},{"ID":"3535","typeID":"Arrow","zOrder":"42","w":"88","h":"261","measuredW":"150","measuredH":"100","x":"853","y":"863","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.6466552428656166,"y":-0.08776115468265999},"p2":{"x":88,"y":260.5}}},{"ID":"3536","typeID":"Arrow","zOrder":"43","w":"62","h":"376","measuredW":"150","measuredH":"100","x":"848","y":"868","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.672219801492509,"y":-0.052769994127099214},"p2":{"x":61.5,"y":376}}},{"ID":"3537","typeID":"Arrow","zOrder":"44","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"827","y":"724","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.3856209150326797,"y":0.0065359477124183},"p2":{"x":0,"y":76.5}}},{"ID":"3538","typeID":"Arrow","zOrder":"45","w":"119","h":"65","measuredW":"150","measuredH":"100","x":"881","y":"806","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":0},"p1":{"x":0.6294505494505496,"y":0.12131868131868125},"p2":{"x":118,"y":64.5}}},{"ID":"3539","typeID":"TextArea","zOrder":"46","w":"264","h":"155","measuredW":"200","measuredH":"140","x":"933","y":"851"},{"ID":"3540","typeID":"__group__","zOrder":"47","measuredW":"122","measuredH":"47","w":"122","h":"47","x":"1066","y":"889","properties":{"controlName":"108-managing-servers:operating-system:open-bsd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"113","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"77","measuredW":"77","measuredH":"25","x":"18","y":"11","properties":{"text":"OpenBSD","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"98","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3541","typeID":"__group__","zOrder":"48","measuredW":"122","measuredH":"47","w":"122","h":"47","x":"939","y":"889","properties":{"controlName":"107-managing-servers:operating-system:free-bsd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"113","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"71","measuredW":"71","measuredH":"25","x":"30","y":"11","properties":{"text":"FreeBSD","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3542","typeID":"Label","zOrder":"49","measuredW":"34","measuredH":"25","x":"1043","y":"859","properties":{"text":"Unix","size":"17"}},{"ID":"3543","typeID":"__group__","zOrder":"50","measuredW":"241","measuredH":"47","w":"241","h":"47","x":"948","y":"942","properties":{"controlName":"109-managing-servers:operating-system:net-bsd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"232","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"63","measuredW":"63","measuredH":"25","x":"81","y":"11","properties":{"text":"NetBSD","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"217","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3544","typeID":"__group__","zOrder":"51","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1182","y":"842","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3545","typeID":"Arrow","zOrder":"52","w":"137","h":"12","measuredW":"150","measuredH":"100","x":"871","y":"796","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":0},"p1":{"x":0.6326041194809348,"y":0.013003277465426736},"p2":{"x":136,"y":11.5}}},{"ID":"3546","typeID":"Arrow","zOrder":"53","w":"169","h":"3","measuredW":"150","measuredH":"100","x":"514","y":"795","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.3811746122917864,"y":-0.010697874784606603},"p2":{"x":168.5,"y":2.5}}},{"ID":"3547","typeID":"Arrow","zOrder":"54","w":"177","h":"54","measuredW":"150","measuredH":"100","x":"490","y":"810","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.6008584576652427,"y":0.09670030334922308},"p2":{"x":176.5,"y":53.5}}},{"ID":"3548","typeID":"TextArea","zOrder":"55","w":"208","h":"191","measuredW":"200","measuredH":"140","x":"985","y":"641"},{"ID":"3549","typeID":"Label","zOrder":"56","measuredW":"41","measuredH":"25","x":"1040","y":"794","properties":{"text":"Linux","size":"17"}},{"ID":"3550","typeID":"__group__","zOrder":"57","measuredW":"243","measuredH":"40","w":"243","h":"40","x":"935","y":"744","properties":{"controlName":"104-managing-servers:operating-system:rhel"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"234","h":"40","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"25","x":"52","y":"7","properties":{"size":"17","text":"RHEL / Derivatives"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"8","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3551","typeID":"__group__","zOrder":"58","measuredW":"245","measuredH":"40","w":"245","h":"40","x":"933","y":"653","properties":{"controlName":"102-managing-servers:operating-system:ubuntu"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"234","h":"40","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"25","x":"64","y":"8","properties":{"size":"17","text":"Ubuntu / Debian"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3552","typeID":"__group__","zOrder":"59","measuredW":"246","measuredH":"40","w":"246","h":"40","x":"932","y":"699","properties":{"controlName":"103-managing-servers:operating-system:suse-linux"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"234","h":"40","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"25","x":"84","y":"7","properties":{"text":"SUSE Linux","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"0","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3553","typeID":"__group__","zOrder":"60","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1181","y":"812","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3554","typeID":"Arrow","zOrder":"61","w":"74","h":"41","measuredW":"150","measuredH":"100","x":"856","y":"555","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.3811746122917864,"y":-0.010697874784606631},"p2":{"x":73.5,"y":40.5}}},{"ID":"3555","typeID":"Arrow","zOrder":"62","w":"79","h":"43","measuredW":"150","measuredH":"100","x":"846","y":"502","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":42.5},"p1":{"x":0.38117461229178634,"y":-0.010697874784606655},"p2":{"x":79,"y":-0.5}}},{"ID":"3556","typeID":"Arrow","zOrder":"63","w":"96","h":"3","measuredW":"150","measuredH":"100","x":"842","y":"547","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.38117461229178634,"y":-0.010697874784606601},"p2":{"x":96,"y":2}}},{"ID":"3557","typeID":"Arrow","zOrder":"64","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"819","y":"555","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.3856209150326797,"y":0.0065359477124183},"p2":{"x":0,"y":76.5}}},{"ID":"3558","typeID":"Arrow","zOrder":"65","w":"224","h":"188","measuredW":"150","measuredH":"100","x":"506","y":"543","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":224,"y":-0.5},"p1":{"x":0.5071028305356263,"y":0.24829052104046045},"p2":{"x":0,"y":185.5}}},{"ID":"3559","typeID":"Arrow","zOrder":"66","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"819","y":"465","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.3856209150326797,"y":0.0065359477124183},"p2":{"x":0,"y":76.5}}},{"ID":"3560","typeID":"Arrow","zOrder":"67","w":"108","h":"54","measuredW":"150","measuredH":"100","x":"427","y":"567","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":53.5},"p1":{"x":0.42592592592592593,"y":-0.05555555555555556},"p2":{"x":107.5,"y":-0.5}}},{"ID":"3561","typeID":"Arrow","zOrder":"68","w":"115","h":"12","measuredW":"150","measuredH":"100","x":"419","y":"562","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":11.5},"p1":{"x":0.3983843219388136,"y":-0.015483581419702295},"p2":{"x":114.5,"y":-0.5}}},{"ID":"3562","typeID":"Arrow","zOrder":"69","w":"119","h":"28","measuredW":"150","measuredH":"100","x":"418","y":"529","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":0.5},"p1":{"x":0.4252927400468384,"y":0.049648711943793916},"p2":{"x":118.5,"y":28.5}}},{"ID":"3563","typeID":"Arrow","zOrder":"70","w":"109","h":"66","measuredW":"150","measuredH":"100","x":"426","y":"486","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":1.5},"p1":{"x":0.32020599818236906,"y":0.08966979703120266},"p2":{"x":108.5,"y":66.5}}},{"ID":"3564","typeID":"Arrow","zOrder":"71","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"602","y":"560","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.3856209150326797,"y":0.0065359477124183},"p2":{"x":0,"y":76.5}}},{"ID":"3565","typeID":"Arrow","zOrder":"72","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"602","y":"470","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.3856209150326797,"y":0.0065359477124183},"p2":{"x":0,"y":76.5}}},{"ID":"3566","typeID":"Arrow","zOrder":"73","w":"44","h":"180","measuredW":"150","measuredH":"100","x":"693","y":"360","properties":{"curvature":"-1","leftArrow":"false","rightArrow":"false","p0":{"x":-0.5,"y":0},"p1":{"x":0.4520505316193087,"y":0.11905308783758752},"p2":{"x":38.5,"y":179.5},"color":"2848996"}},{"ID":"3567","typeID":"__group__","zOrder":"74","measuredW":"341","measuredH":"53","w":"341","h":"53","x":"522","y":"524","properties":{"controlName":"101-os-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"341","h":"53","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"265","measuredH":"25","x":"38","y":"14","properties":{"size":"17","text":"Understand different OS Concepts"}}]}}},{"ID":"3571","typeID":"__group__","zOrder":"75","measuredW":"116","measuredH":"40","w":"116","h":"40","x":"623","y":"149","properties":{"controlName":"ext_link:roadmap.sh/devops"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"116","measuredH":"40","x":"0","y":"0","properties":{"size":"32","text":"DevOps"}}]}}},{"ID":"3572","typeID":"Arrow","zOrder":"76","w":"14","h":"71","measuredW":"150","measuredH":"100","x":"700","y":"64","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":10,"y":0},"p1":{"x":0.46601941747572834,"y":0.1067961165048544},"p2":{"x":0,"y":71},"rightArrow":"false","stroke":"dotted"}},{"ID":"3573","typeID":"Arrow","zOrder":"77","w":"40","h":"140","measuredW":"150","measuredH":"100","x":"620","y":"200","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","p0":{"x":40,"y":0},"p1":{"x":0.543,"y":-0.201},"p2":{"x":20,"y":140}}},{"ID":"3574","typeID":"__group__","zOrder":"78","measuredW":"302","measuredH":"50","w":"302","h":"50","x":"540","y":"326","properties":{"controlName":"100-language"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"302","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"249","measuredH":"25","x":"26","y":"11","properties":{"size":"17","text":"Learn a Programming Language"}}]}}},{"ID":"3575","typeID":"__group__","zOrder":"79","measuredW":"108","measuredH":"47","w":"108","h":"47","x":"1099","y":"271","properties":{"controlName":"101-language:ruby"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"98","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"45","measuredW":"39","measuredH":"25","x":"26","y":"11","properties":{"size":"17","text":"Ruby"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"84","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3576","typeID":"__group__","zOrder":"80","measuredW":"109","measuredH":"47","w":"109","h":"47","x":"985","y":"271","properties":{"controlName":"100-language:python"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"97","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"25","x":"35","y":"11","properties":{"text":"Python","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}}]}}},{"ID":"3577","typeID":"__group__","zOrder":"81","measuredW":"216","measuredH":"47","w":"216","h":"47","x":"995","y":"372","properties":{"controlName":"102-language:javascript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"207","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","textColor":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"155","measuredH":"25","x":"25","y":"11","properties":{"size":"17","text":"JavaScript / Node.js"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"192","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3578","typeID":"__group__","zOrder":"82","measuredW":"107","measuredH":"47","w":"107","h":"47","x":"987","y":"321","properties":{"controlName":"103-language:go"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"97","h":"47","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457","textColor":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"23","measuredH":"25","x":"47","y":"11","properties":{"size":"17","text":"Go"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3579","typeID":"__group__","zOrder":"83","measuredW":"110","measuredH":"47","w":"110","h":"47","x":"1099","y":"322","properties":{"controlName":"104-language:rust"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"100","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","textColor":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"25","x":"32","y":"11","properties":{"size":"17","text":"Rust"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"86","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3580","typeID":"Canvas","zOrder":"84","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"873","y":"61"},{"ID":"3581","typeID":"Label","zOrder":"85","measuredW":"314","measuredH":"25","x":"887","y":"78","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"3582","typeID":"Label","zOrder":"86","measuredW":"319","measuredH":"25","x":"887","y":"106","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"3583","typeID":"__group__","zOrder":"87","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"888","y":"142","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"1","typeID":"__group__","zOrder":"1","measuredW":"181","measuredH":"29","w":"181","h":"29","x":"65","y":"8","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"105","measuredH":"28","x":"76","y":"0","properties":{"color":"16777215","size":"20","text":"roadmap.sh"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"45","measuredH":"28","x":"0","y":"0","properties":{"color":"16777215","size":"20","text":"https"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"5","measuredH":"28","x":"48","y":"0","properties":{"bold":"true","color":"16777215","size":"20","text":":"}},{"ID":"3","typeID":"Label","zOrder":"3","measuredW":"10","measuredH":"28","x":"55","y":"1","properties":{"color":"16777215","size":"20","text":"/"}},{"ID":"4","typeID":"Label","zOrder":"4","measuredW":"10","measuredH":"28","x":"63","y":"1","properties":{"color":"16777215","size":"20","text":"/"}}]}}}]}}},{"ID":"3584","typeID":"__group__","zOrder":"88","measuredW":"420","measuredH":"130","w":"420","h":"130","x":"59","y":"51","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"420","h":"130","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"__group__","zOrder":"1","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"23","y":"21","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"269","measuredH":"24","x":"59","y":"21","properties":{"size":"16","text":"Personal Recommendation / Opinion"}},{"ID":"5","typeID":"Label","zOrder":"3","w":"324","measuredW":"315","measuredH":"24","x":"60","y":"86","properties":{"size":"16","text":"Order in roadmap not strict (Learn anytime)"}},{"ID":"6","typeID":"__group__","zOrder":"4","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"23","y":"86","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"7","typeID":"Label","zOrder":"5","measuredW":"272","measuredH":"24","x":"59","y":"54","properties":{"size":"16","text":"Alternative Option - Pick this or purple"}},{"ID":"8","typeID":"__group__","zOrder":"6","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"23","y":"53","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3585","typeID":"__group__","zOrder":"89","measuredW":"208","measuredH":"47","w":"208","h":"47","x":"230","y":"552","properties":{"controlName":"103-os-concepts:memory-storage"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","h":"47","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"25","x":"50","y":"11","properties":{"text":"Memory/Storage","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3586","typeID":"__group__","zOrder":"90","measuredW":"208","measuredH":"47","w":"208","h":"47","x":"230","y":"452","properties":{"controlName":"101-os-concepts:io-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","h":"47","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"133","measuredH":"25","x":"46","y":"11","properties":{"text":"I/O Management","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3587","typeID":"__group__","zOrder":"91","measuredW":"208","measuredH":"47","w":"208","h":"47","x":"230","y":"502","properties":{"controlName":"102-os-concepts:virtualization"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","h":"47","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"99","measuredH":"25","x":"64","y":"11","properties":{"text":"Virtualization","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3588","typeID":"__group__","zOrder":"92","measuredW":"208","measuredH":"47","w":"208","h":"47","x":"230","y":"603","properties":{"controlName":"104-os-concepts:file-system"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","h":"47","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"25","x":"65","y":"11","properties":{"text":"File Systems","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3589","typeID":"__group__","zOrder":"93","measuredW":"284","measuredH":"47","w":"284","h":"47","x":"917","y":"478","properties":{"controlName":"108-os-concepts:startup-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"274","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"212","measuredH":"25","x":"25","y":"11","properties":{"text":"Startup Management (initd)","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"260","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3590","typeID":"__group__","zOrder":"94","measuredW":"285","measuredH":"47","w":"285","h":"47","x":"917","y":"531","properties":{"controlName":"109-os-concepts:service-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"274","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"191","measuredH":"25","x":"41","y":"11","properties":{"size":"17","text":"Service Mgmt. (systemd)"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"261","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3591","typeID":"__group__","zOrder":"95","measuredW":"285","measuredH":"47","w":"285","h":"47","x":"918","y":"585","properties":{"controlName":"110-os-concepts:threads-concurrency"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"274","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"200","measuredH":"25","x":"37","y":"11","properties":{"text":"Threads and Concurrency","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"261","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3592","typeID":"__group__","zOrder":"96","measuredW":"165","measuredH":"47","w":"165","h":"47","x":"512","y":"438","properties":{"controlName":"100-os-concepts:networking"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"156","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"87","measuredH":"25","x":"43","y":"11","properties":{"text":"Networking","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3593","typeID":"__group__","zOrder":"97","measuredW":"165","measuredH":"47","w":"165","h":"47","x":"512","y":"621","properties":{"controlName":"105-os-concepts:sockets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"156","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"25","x":"56","y":"11","properties":{"text":"Sockets","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3594","typeID":"__group__","zOrder":"98","measuredW":"127","measuredH":"47","w":"127","h":"47","x":"765","y":"436","properties":{"controlName":"106-os-concepts:posix"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"117","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"25","x":"34","y":"11","properties":{"text":"POSIX","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"103","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3595","typeID":"__group__","zOrder":"99","measuredW":"415","measuredH":"132","w":"415","h":"132","x":"122","y":"698","properties":{"controlName":"102-managing-servers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"415","h":"132","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"26","x":"82","y":"14","properties":{"text":"Learn about Managing Servers","size":"18"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"375","measuredH":"24","x":"20","y":"47","properties":{"text":"Get some administration knowledge in some OS. Go","size":"16"}},{"ID":"3","typeID":"Label","zOrder":"3","measuredW":"367","measuredH":"24","x":"24","y":"71","properties":{"text":"with any Linux distro. Pick Ubuntu if you have a little","size":"16"}},{"ID":"4","typeID":"Label","zOrder":"4","measuredW":"201","measuredH":"24","x":"107","y":"96","properties":{"text":"to no experience with Linux.","size":"16"}}]}}},{"ID":"3596","typeID":"__group__","zOrder":"100","measuredW":"127","measuredH":"47","w":"127","h":"47","x":"765","y":"621","properties":{"controlName":"107-os-concepts:processes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"117","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"25","x":"18","y":"11","properties":{"text":"Processes","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"103","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3597","typeID":"__group__","zOrder":"101","measuredW":"238","measuredH":"49","w":"238","h":"49","x":"653","y":"777","properties":{"controlName":"100-managing-servers:operating-system"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"238","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"25","x":"50","y":"12","properties":{"text":"Operating System","size":"17"}}]}}},{"ID":"3598","typeID":"__group__","zOrder":"102","measuredW":"238","measuredH":"49","w":"238","h":"49","x":"653","y":"846","properties":{"controlName":"101-managing-servers:live-in-terminal"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"238","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"182","measuredH":"25","x":"28","y":"12","properties":{"text":"Learn to live in Terminal","size":"17"}}]}}},{"ID":"3599","typeID":"TextArea","zOrder":"103","w":"213","h":"89","measuredW":"200","measuredH":"140","x":"987","y":"1019"},{"ID":"3600","typeID":"Label","zOrder":"104","measuredW":"159","measuredH":"25","x":"1015","y":"1026","properties":{"text":"terminal multiplexers","size":"17"}},{"ID":"3601","typeID":"__group__","zOrder":"105","measuredW":"98","measuredH":"40","w":"98","h":"40","x":"995","y":"1058","properties":{"controlName":"100-managing-servers:live-in-terminal:screen-multiplexer"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"89","h":"40","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"30","y":"8","properties":{"text":"screen","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"8","properties":{"controlName":"100-managing-servers:live-in-terminal:terminal-multiplexers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3602","typeID":"__group__","zOrder":"106","measuredW":"91","measuredH":"40","w":"91","h":"40","x":"1103","y":"1058","properties":{"controlName":"101-managing-servers:live-in-terminal:tmux-multiplexer"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"80","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"23","y":"8","properties":{"text":"tmux","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"67","y":"8","properties":{"controlName":"100-managing-servers:live-in-terminal:terminal-multiplexers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3603","typeID":"__group__","zOrder":"107","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1181","y":"1013","properties":{"controlName":"100-managing-servers:live-in-terminal:terminal-multiplexers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3604","typeID":"__group__","zOrder":"108","measuredW":"161","measuredH":"42","w":"161","h":"42","x":"742","y":"707","properties":{"controlName":"100-managing-servers:operating-system:windows"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"42","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"68","measuredH":"25","x":"53","y":"8","properties":{"text":"Windows","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"8","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3605","typeID":"__group__","zOrder":"109","measuredW":"311","measuredH":"47","w":"311","h":"47","x":"513","y":"919","properties":{"controlName":"104-managing-servers:live-in-terminal:bash-scripting"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"300","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"80","y":"11","properties":{"text":"Learn Bash Scripting","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3606","typeID":"__group__","zOrder":"110","measuredW":"314","measuredH":"47","w":"314","h":"47","x":"511","y":"973","properties":{"controlName":"105-managing-servers:live-in-terminal:editors"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"302","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"231","measuredH":"25","x":"47","y":"11","properties":{"text":"Vim/Nano/PowerShell/Emacs","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3607","typeID":"__group__","zOrder":"111","measuredW":"312","measuredH":"76","w":"312","h":"76","x":"513","y":"1027","properties":{"controlName":"106-managing-servers:live-in-terminal:compiling-apps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"302","h":"76","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"51","y":"14","properties":{"text":"Compiling apps from source","size":"17"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"264","measuredH":"25","x":"29","y":"36","properties":{"text":"(gcc, make and other related stuff)","size":"17"}},{"ID":"3","typeID":"__group__","zOrder":"3","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"26","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3608","typeID":"TextArea","zOrder":"112","w":"294","h":"195","measuredW":"200","measuredH":"140","x":"532","y":"1121"},{"ID":"3609","typeID":"Label","zOrder":"113","measuredW":"180","measuredH":"25","x":"589","y":"1277","properties":{"size":"17","text":"Text Manipulation Tools"}},{"ID":"3610","typeID":"__group__","zOrder":"114","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"548","y":"1136","properties":{"controlName":"120-managing-servers:live-in-terminal:awk"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"16","y":"8","properties":{"text":"awk","size":"16"}}]}}},{"ID":"3611","typeID":"__group__","zOrder":"115","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"615","y":"1136","properties":{"controlName":"121-managing-servers:live-in-terminal:sed"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"27","measuredH":"24","x":"17","y":"8","properties":{"text":"sed","size":"16"}}]}}},{"ID":"3612","typeID":"__group__","zOrder":"116","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"683","y":"1136","properties":{"controlName":"122-managing-servers:live-in-terminal:grep"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"14","y":"8","properties":{"text":"grep","size":"16"}}]}}},{"ID":"3613","typeID":"__group__","zOrder":"117","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"751","y":"1137","properties":{"controlName":"123-managing-servers:live-in-terminal:sort"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"16","y":"8","properties":{"text":"sort","size":"16"}}]}}},{"ID":"3614","typeID":"__group__","zOrder":"118","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"615","y":"1182","properties":{"controlName":"125-managing-servers:live-in-terminal:uniq"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"15","y":"8","properties":{"text":"uniq","size":"16"}}]}}},{"ID":"3615","typeID":"__group__","zOrder":"119","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"683","y":"1182","properties":{"controlName":"126-managing-servers:live-in-terminal:cat"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"23","measuredH":"24","x":"19","y":"8","properties":{"text":"cat","size":"16"}}]}}},{"ID":"3616","typeID":"__group__","zOrder":"120","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"548","y":"1182","properties":{"controlName":"124-managing-servers:live-in-terminal:cut"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"23","measuredH":"24","x":"19","y":"8","properties":{"text":"cut","size":"16"}}]}}},{"ID":"3617","typeID":"__group__","zOrder":"121","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"751","y":"1182","properties":{"controlName":"127-managing-servers:live-in-terminal:echo"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"24","x":"13","y":"8","properties":{"text":"echo","size":"16"}}]}}},{"ID":"3618","typeID":"__group__","zOrder":"122","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"548","y":"1226","properties":{"controlName":"128-managing-servers:live-in-terminal:fmt"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"18","y":"8","properties":{"text":"fmt","size":"16"}}]}}},{"ID":"3619","typeID":"__group__","zOrder":"123","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"615","y":"1227","properties":{"controlName":"129-managing-servers:live-in-terminal:tr"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"11","measuredH":"24","x":"25","y":"8","properties":{"text":"tr","size":"16"}}]}}},{"ID":"3620","typeID":"__group__","zOrder":"124","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"683","y":"1227","properties":{"controlName":"130-managing-servers:live-in-terminal:nl"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"13","measuredH":"24","x":"24","y":"8","properties":{"text":"nl","size":"16"}}]}}},{"ID":"3621","typeID":"__group__","zOrder":"125","measuredW":"59","measuredH":"40","w":"59","h":"40","x":"752","y":"1227","properties":{"controlName":"131-managing-servers:live-in-terminal:wc"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"59","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"20","measuredH":"24","x":"20","y":"8","properties":{"text":"wc","size":"16"}}]}}},{"ID":"3622","typeID":"__group__","zOrder":"126","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"810","y":"1278","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3623","typeID":"TextArea","zOrder":"127","w":"294","h":"96","measuredW":"200","measuredH":"140","x":"909","y":"1118"},{"ID":"3624","typeID":"Label","zOrder":"128","measuredW":"149","measuredH":"25","x":"980","y":"1130","properties":{"text":"Process Monitoring","size":"17"}},{"ID":"3625","typeID":"__group__","zOrder":"129","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1187","y":"1110","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3626","typeID":"__group__","zOrder":"130","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"922","y":"1162","properties":{"controlName":"102-managing-servers:live-in-terminal:ps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"18","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"ps"}}]}}},{"ID":"3627","typeID":"__group__","zOrder":"131","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"976","y":"1162","properties":{"controlName":"102-managing-servers:live-in-terminal:top"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"top"}}]}}},{"ID":"3628","typeID":"__group__","zOrder":"132","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"1030","y":"1163","properties":{"controlName":"103-managing-servers:live-in-terminal:htop"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"8","y":"8","properties":{"size":"16","text":"htop"}}]}}},{"ID":"3629","typeID":"__group__","zOrder":"133","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"1085","y":"1163","properties":{"controlName":"104-managing-servers:live-in-terminal:atop"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"8","y":"8","properties":{"size":"16","text":"atop"}}]}}},{"ID":"3630","typeID":"__group__","zOrder":"134","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"1142","y":"1163","properties":{"controlName":"105-managing-servers:live-in-terminal:lsof"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"26","measuredH":"24","x":"10","y":"8","properties":{"size":"16","text":"lsof"}}]}}},{"ID":"3631","typeID":"TextArea","zOrder":"135","w":"298","h":"98","measuredW":"200","measuredH":"140","x":"904","y":"1235"},{"ID":"3632","typeID":"Label","zOrder":"136","measuredW":"160","measuredH":"25","x":"974","y":"1246","properties":{"text":"System Performance","size":"17"}},{"ID":"3633","typeID":"__group__","zOrder":"137","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1188","y":"1226","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3634","typeID":"__group__","zOrder":"138","measuredW":"69","measuredH":"40","w":"69","h":"40","x":"917","y":"1279","properties":{"controlName":"106-managing-servers:live-in-terminal:nmon"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"69","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"41","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"nmon"}}]}}},{"ID":"3635","typeID":"__group__","zOrder":"139","measuredW":"59","measuredH":"40","w":"59","h":"40","x":"994","y":"1280","properties":{"controlName":"107-managing-servers:live-in-terminal:iostat"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"59","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"9","y":"8","properties":{"size":"16","text":"iostat"}}]}}},{"ID":"3636","typeID":"__group__","zOrder":"140","measuredW":"48","measuredH":"40","w":"48","h":"40","x":"1061","y":"1280","properties":{"controlName":"108-managing-servers:live-in-terminal:sar"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"48","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"23","measuredH":"24","x":"12","y":"8","properties":{"size":"16","text":"sar"}}]}}},{"ID":"3637","typeID":"__group__","zOrder":"141","measuredW":"72","measuredH":"40","w":"72","h":"40","x":"1118","y":"1280","properties":{"controlName":"109-managing-servers:live-in-terminal:vmstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"72","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"11","y":"8","properties":{"size":"16","text":"vmstat"}}]}}},{"ID":"3638","typeID":"TextArea","zOrder":"142","w":"333","h":"189","measuredW":"200","measuredH":"140","x":"870","y":"1350"},{"ID":"3639","typeID":"Label","zOrder":"143","measuredW":"108","measuredH":"25","x":"983","y":"1502","properties":{"size":"17","text":"Network Tools"}},{"ID":"3640","typeID":"__group__","zOrder":"144","measuredW":"106","measuredH":"40","w":"106","h":"40","x":"886","y":"1363","properties":{"controlName":"110-managing-servers:live-in-terminal:traceroute"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"106","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"24","x":"14","y":"8","properties":{"size":"16","text":"traceroute"}}]}}},{"ID":"3641","typeID":"__group__","zOrder":"145","measuredW":"49","measuredH":"40","w":"49","h":"40","x":"998","y":"1363","properties":{"controlName":"111-managing-servers:live-in-terminal:mtr"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"49","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"8","properties":{"size":"16","text":"mtr"}}]}}},{"ID":"3642","typeID":"__group__","zOrder":"146","measuredW":"61","measuredH":"40","w":"61","h":"40","x":"1052","y":"1363","properties":{"controlName":"112-managing-servers:live-in-terminal:ping"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"61","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"ping"}}]}}},{"ID":"3643","typeID":"__group__","zOrder":"147","measuredW":"92","measuredH":"40","w":"92","h":"40","x":"1097","y":"1408","properties":{"controlName":"116-managing-servers:live-in-terminal:tcpdump"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"92","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"13","y":"8","properties":{"size":"16","text":"tcpdump"}}]}}},{"ID":"3644","typeID":"__group__","zOrder":"148","measuredW":"79","measuredH":"40","w":"79","h":"40","x":"886","y":"1408","properties":{"controlName":"114-managing-servers:live-in-terminal:netstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"79","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"14","y":"8","properties":{"size":"16","text":"netstat"}}]}}},{"ID":"3645","typeID":"__group__","zOrder":"149","measuredW":"53","measuredH":"40","w":"53","h":"40","x":"1074","y":"1452","properties":{"controlName":"119-managing-servers:live-in-terminal:dig"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"53","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"23","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"dig"}}]}}},{"ID":"3646","typeID":"__group__","zOrder":"150","measuredW":"54","measuredH":"40","w":"54","h":"40","x":"1134","y":"1452","properties":{"controlName":"141-managing-servers:live-in-terminal:scp"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"54","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"26","measuredH":"24","x":"14","y":"8","properties":{"size":"16","text":"scp"}}]}}},{"ID":"3647","typeID":"__group__","zOrder":"151","measuredW":"182","measuredH":"40","w":"182","h":"40","x":"886","y":"1452","properties":{"controlName":"118-managing-servers:live-in-terminal:iptables"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"182","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"24","x":"25","y":"8","properties":{"size":"16","text":"iptables / nftables"}}]}}},{"ID":"3648","typeID":"__group__","zOrder":"152","measuredW":"122","measuredH":"40","w":"122","h":"40","x":"971","y":"1408","properties":{"controlName":"142-managing-servers:live-in-terminal:ufw"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"122","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"100","measuredH":"24","x":"11","y":"8","properties":{"size":"16","text":"ufw / firewalld"}}]}}},{"ID":"3649","typeID":"__group__","zOrder":"153","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1187","y":"1522","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3650","typeID":"__group__","zOrder":"154","measuredW":"70","measuredH":"40","w":"70","h":"40","x":"1119","y":"1363","properties":{"controlName":"113-managing-servers:live-in-terminal:nmap"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"70","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"41","measuredH":"24","x":"14","y":"8","properties":{"size":"16","text":"nmap"}}]}}},{"ID":"3651","typeID":"TextArea","zOrder":"155","w":"301","h":"143","measuredW":"200","measuredH":"140","x":"530","y":"1327","properties":{"bold":"true"}},{"ID":"3652","typeID":"Label","zOrder":"156","measuredW":"53","measuredH":"25","x":"660","y":"1433","properties":{"size":"17","text":"Others"}},{"ID":"3653","typeID":"__group__","zOrder":"157","measuredW":"77","measuredH":"40","w":"77","h":"40","x":"542","y":"1339","properties":{"controlName":"134-managing-servers:live-in-terminal:strace"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"77","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"strace"}}]}}},{"ID":"3654","typeID":"__group__","zOrder":"158","measuredW":"77","measuredH":"40","w":"77","h":"40","x":"628","y":"1339","properties":{"controlName":"135-managing-servers:live-in-terminal:dtrace"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"77","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"dtrace"}}]}}},{"ID":"3655","typeID":"__group__","zOrder":"159","measuredW":"105","measuredH":"40","w":"105","h":"40","x":"713","y":"1339","properties":{"controlName":"136-managing-servers:live-in-terminal:systemtap"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"105","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"74","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"systemtap"}}]}}},{"ID":"3656","typeID":"__group__","zOrder":"160","measuredW":"75","measuredH":"40","w":"75","h":"40","x":"542","y":"1384","properties":{"controlName":"137-managing-servers:live-in-terminal:uname"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"75","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"13","y":"8","properties":{"size":"16","text":"uname"}}]}}},{"ID":"3657","typeID":"__group__","zOrder":"161","measuredW":"47","measuredH":"40","w":"47","h":"40","x":"629","y":"1384","properties":{"controlName":"138-managing-servers:live-in-terminal:df"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"47","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"15","measuredH":"24","x":"16","y":"8","properties":{"size":"16","text":"df"}}]}}},{"ID":"3658","typeID":"__group__","zOrder":"162","measuredW":"79","measuredH":"40","w":"79","h":"40","x":"682","y":"1384","properties":{"controlName":"139-managing-servers:live-in-terminal:history"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"79","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"15","y":"8","properties":{"size":"16","text":"history"}}]}}},{"ID":"3659","typeID":"__group__","zOrder":"163","measuredW":"51","measuredH":"40","w":"51","h":"40","x":"767","y":"1384","properties":{"controlName":"140-managing-servers:live-in-terminal:du"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"51","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","bold":"true"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"19","measuredH":"24","x":"16","y":"8","properties":{"size":"16","text":"du"}}]}}},{"ID":"3660","typeID":"__group__","zOrder":"164","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"817","y":"1432","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3661","typeID":"Arrow","zOrder":"165","w":"23","h":"130","measuredW":"150","measuredH":"100","x":"115","y":"940","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":23,"y":-0.5},"p1":{"x":0.5076923076923077,"y":-0.17692307692307693},"p2":{"x":23,"y":129.5}}},{"ID":"3662","typeID":"Arrow","zOrder":"166","w":"1","h":"216","measuredW":"150","measuredH":"100","x":"252","y":"1087","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.5331695331695332,"y":0},"p2":{"x":0,"y":215.5}}},{"ID":"3663","typeID":"Arrow","zOrder":"167","w":"2","h":"49","measuredW":"150","measuredH":"100","x":"180","y":"1079","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.5409978308026031,"y":0.0321041214750543},"p2":{"x":0.5,"y":48.5}}},{"ID":"3664","typeID":"Arrow","zOrder":"168","w":"33","h":"51","measuredW":"150","measuredH":"100","x":"205","y":"1012","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":33,"y":-0.5},"p1":{"x":0.5409978308026031,"y":0.032104121475054294},"p2":{"x":0,"y":50.5},"rightArrow":"false","stroke":"dotted"}},{"ID":"3665","typeID":"Arrow","zOrder":"169","w":"1","h":"51","measuredW":"150","measuredH":"100","x":"341","y":"938","properties":{"color":"2848996","leftArrow":"false","p0":{"x":0,"y":50.5},"p1":{"x":0.4034892942109438,"y":-0.01554321966693101},"p2":{"x":0,"y":-0.5},"rightArrow":"false","stroke":"dotted"}},{"ID":"3666","typeID":"__group__","zOrder":"170","measuredW":"125","measuredH":"47","w":"125","h":"47","x":"286","y":"863","properties":{"controlName":"101-networking-protocols:dns"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"125","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"25","x":"45","y":"11","properties":{"text":"DNS","size":"17"}}]}}},{"ID":"3667","typeID":"__group__","zOrder":"171","measuredW":"125","measuredH":"47","w":"125","h":"47","x":"286","y":"914","properties":{"controlName":"100-networking-protocols:osi-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"125","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"25","x":"22","y":"11","properties":{"text":"OSI Model","size":"17"}}]}}},{"ID":"3668","typeID":"Arrow","zOrder":"172","w":"1","h":"63","measuredW":"150","measuredH":"100","x":"340","y":"1017","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":1,"y":63},"p1":{"x":0.521922991319831,"y":0.015579790785666594},"p2":{"x":1,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"3669","typeID":"__group__","zOrder":"173","measuredW":"156","measuredH":"48","w":"156","h":"48","x":"273","y":"1047","properties":{"controlName":"102-networking-protocols:http"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"150","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"8","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"44","measuredH":"25","x":"52","y":"17","properties":{"text":"HTTP","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"132","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3670","typeID":"__group__","zOrder":"174","measuredW":"156","measuredH":"44","w":"156","h":"44","x":"273","y":"1095","properties":{"controlName":"103-networking-protocols:https"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"150","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"4","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"49","y":"13","properties":{"text":"HTTPS","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"132","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3671","typeID":"__group__","zOrder":"175","measuredW":"157","measuredH":"45","w":"157","h":"45","x":"272","y":"1138","properties":{"controlName":"104-networking-protocols:ftp"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"25","x":"31","y":"13","properties":{"size":"17","text":"FTP / SFTP"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"133","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3672","typeID":"__group__","zOrder":"176","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"272","y":"1186","properties":{"controlName":"105-networking-protocols:ssl-tls"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"1","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"77","measuredH":"25","x":"39","y":"10","properties":{"text":"SSL / TLS","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"133","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3673","typeID":"__group__","zOrder":"177","measuredW":"157","measuredH":"44","w":"157","h":"44","x":"272","y":"1227","properties":{"controlName":"106-networking-protocols:ssh"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"4","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"25","x":"59","y":"13","properties":{"text":"SSH","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"133","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3674","typeID":"__group__","zOrder":"178","measuredW":"158","measuredH":"43","w":"158","h":"43","x":"272","y":"1272","properties":{"controlName":"107-networking-protocols:port-forwarding"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"152","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"3","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"25","x":"19","y":"12","properties":{"text":"Port Forwarding","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"134","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3675","typeID":"__group__","zOrder":"179","measuredW":"368","measuredH":"56","w":"368","h":"56","x":"128","y":"971","properties":{"controlName":"103-networking-protocols"},"children":{"controls":{"control":[{"ID":"0","typeID":"__group__","zOrder":"0","measuredW":"364","measuredH":"49","w":"364","h":"49","x":"4","y":"7","properties":{"controlName":"103-networking-protocols"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"364","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}}]}}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"265","measuredH":"25","x":"53","y":"19","properties":{"size":"17","text":"Networking, Security and Protocols"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3676","typeID":"__group__","zOrder":"180","measuredW":"166","measuredH":"47","w":"166","h":"47","x":"99","y":"1055","properties":{"controlName":"103-networking-protocols:emails"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"155","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"65","y":"11","properties":{"text":"Emails","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3677","typeID":"__group__","zOrder":"181","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"111","y":"1121","properties":{"controlName":"101-networking-protocols:emails:smtp"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"25","x":"43","y":"11","properties":{"text":"SMTP","size":"17"}}]}}},{"ID":"3678","typeID":"__group__","zOrder":"182","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"111","y":"1171","properties":{"controlName":"102-networking-protocols:emails:imaps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"40","y":"11","properties":{"text":"IMAPS","size":"17"}}]}}},{"ID":"3679","typeID":"__group__","zOrder":"183","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"111","y":"1222","properties":{"controlName":"103-networking-protocols:emails:pop3s"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"39","y":"11","properties":{"text":"POP3S","size":"17"}}]}}},{"ID":"3680","typeID":"__group__","zOrder":"184","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"136","y":"1289","properties":{"controlName":"104-networking-protocols:emails:dmarc"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"62","measuredH":"25","x":"37","y":"11","properties":{"text":"DMARC","size":"17"}}]}}},{"ID":"3681","typeID":"__group__","zOrder":"185","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"136","y":"1339","properties":{"controlName":"105-networking-protocols:emails:spf"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"25","x":"50","y":"11","properties":{"text":"SPF","size":"17"}}]}}},{"ID":"3682","typeID":"__group__","zOrder":"186","measuredW":"129","measuredH":"47","w":"129","h":"47","x":"136","y":"1390","properties":{"controlName":"106-networking-protocols:emails:domain-keys"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"101","measuredH":"25","x":"19","y":"11","properties":{"text":"Domain Keys","size":"17"}}]}}},{"ID":"3683","typeID":"__group__","zOrder":"187","measuredW":"164","measuredH":"47","w":"164","h":"47","x":"105","y":"915","properties":{"controlName":"100-networking-protocols:emails:white-grey-listing"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"164","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"142","measuredH":"25","x":"11","y":"11","properties":{"text":"White/Grey Listing","size":"17"}}]}}},{"ID":"3684","typeID":"Arrow","zOrder":"188","w":"30","h":"54","measuredW":"150","measuredH":"100","x":"305","y":"1497","properties":{"color":"2848996","leftArrow":"false","p0":{"x":30,"y":54},"p1":{"x":0.31900452488687786,"y":-0.0067873303167421736},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"3685","typeID":"Arrow","zOrder":"189","w":"45","h":"66","measuredW":"150","measuredH":"100","x":"199","y":"1486","properties":{"color":"2848996","leftArrow":"false","p0":{"x":0,"y":66},"p1":{"x":0.31900452488687786,"y":-0.006787330316742089},"p2":{"x":45,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"3686","typeID":"__group__","zOrder":"190","measuredW":"313","measuredH":"49","w":"313","h":"49","x":"105","y":"1459","properties":{"controlName":"104-setting-up-x"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"313","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"272","measuredH":"25","x":"21","y":"12","properties":{"size":"17","text":"What is and how to setup a _____?"}}]}}},{"ID":"3687","typeID":"__group__","zOrder":"191","measuredW":"153","measuredH":"47","w":"153","h":"47","x":"98","y":"1590","properties":{"controlName":"102-setting-up-x:forward-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"144","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"108","measuredH":"25","x":"30","y":"11","properties":{"text":"Forward Proxy","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3688","typeID":"__group__","zOrder":"192","measuredW":"170","measuredH":"46","w":"170","h":"46","x":"257","y":"1540","properties":{"controlName":"101-setting-up-x:caching-server"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"161","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"119","measuredH":"25","x":"21","y":"10","properties":{"text":"Caching Server","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"146","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3689","typeID":"__group__","zOrder":"193","measuredW":"153","measuredH":"46","w":"153","h":"46","x":"98","y":"1540","properties":{"controlName":"100-setting-up-x:reverse-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"143","h":"46","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"25","x":"28","y":"10","properties":{"text":"Reverse Proxy","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3690","typeID":"__group__","zOrder":"194","measuredW":"174","measuredH":"47","w":"174","h":"47","x":"256","y":"1590","properties":{"controlName":"103-setting-up-x:load-balancer"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"161","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"113","measuredH":"25","x":"26","y":"11","properties":{"text":"Load Balancer","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"150","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3691","typeID":"__group__","zOrder":"195","measuredW":"153","measuredH":"47","w":"153","h":"47","x":"98","y":"1641","properties":{"controlName":"104-setting-up-x:firewall"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"144","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"25","x":"54","y":"11","properties":{"text":"Firewall","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3692","typeID":"__group__","zOrder":"196","measuredW":"233","measuredH":"49","w":"233","h":"49","x":"505","y":"1679","properties":{"controlName":"105-infrastructure-as-code"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"233","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"174","measuredH":"25","x":"30","y":"12","properties":{"size":"17","text":"Infrastructure as Code"}}]}}},{"ID":"3693","typeID":"__group__","zOrder":"197","measuredW":"117","measuredH":"47","w":"117","h":"47","x":"575","y":"1579","properties":{"controlName":"101-infrastructure-as-code:containers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"117","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"85","measuredH":"25","x":"16","y":"11","properties":{"size":"17","text":"Containers"}}]}}},{"ID":"3694","typeID":"__group__","zOrder":"198","measuredW":"104","measuredH":"47","w":"104","h":"47","x":"727","y":"1550","properties":{"controlName":"100-infrastructure-as-code:docker"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"94","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"19","y":"11","properties":{"text":"Docker","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"80","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3695","typeID":"__group__","zOrder":"199","measuredW":"103","measuredH":"47","w":"103","h":"47","x":"728","y":"1605","properties":{"controlName":"101-infrastructure-as-code:lxc"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"93","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"25","x":"31","y":"11","properties":{"text":"LXC","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"79","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3696","typeID":"TextArea","zOrder":"200","w":"240","h":"205","measuredW":"200","measuredH":"140","x":"963","y":"1961"},{"ID":"3697","typeID":"Label","zOrder":"201","measuredW":"186","measuredH":"25","x":"981","y":"1974","properties":{"size":"17","text":"Container Orchestration"}},{"ID":"3698","typeID":"__group__","zOrder":"202","measuredW":"203","measuredH":"46","w":"203","h":"46","x":"981","y":"2007","properties":{"controlName":"104-infrastructure-as-code:kubernetes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"193","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"25","x":"56","y":"10","properties":{"text":"Kubernetes","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"179","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3699","typeID":"__group__","zOrder":"203","measuredW":"202","measuredH":"46","w":"202","h":"46","x":"981","y":"2056","properties":{"controlName":"104-infrastructure-as-code:docker-swarm"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"193","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"25","x":"45","y":"10","properties":{"text":"Docker Swarm","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"178","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3700","typeID":"__group__","zOrder":"204","measuredW":"200","measuredH":"46","w":"200","h":"46","x":"981","y":"2106","properties":{"controlName":"104-infrastructure-as-code:nomad"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"194","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"74","y":"10","properties":{"text":"Nomad","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"176","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3701","typeID":"Arrow","zOrder":"205","w":"2","h":"66","measuredW":"150","measuredH":"100","x":"606","y":"1929","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":2,"y":0},"p1":{"x":0.5684273538382603,"y":-0.0168752316068527},"p2":{"x":1.264771935838894,"y":66.13386083375576}}},{"ID":"3702","typeID":"__group__","zOrder":"206","measuredW":"253","measuredH":"49","w":"253","h":"49","x":"470","y":"1912","properties":{"controlName":"103-infrastructure-as-code:infrastructure-provisioning"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"253","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"203","measuredH":"25","x":"23","y":"12","properties":{"size":"17","text":"Infrastructure Provisioning"}}]}}},{"ID":"3703","typeID":"__group__","zOrder":"207","measuredW":"183","measuredH":"47","w":"183","h":"47","x":"512","y":"1982","properties":{"controlName":"100-infrastructure-as-code:infrastructure-provisioning:terraform"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"174","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"75","measuredW":"75","measuredH":"25","x":"49","y":"11","properties":{"text":"Terraform","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"159","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3704","typeID":"__group__","zOrder":"208","measuredW":"184","measuredH":"47","w":"184","h":"47","x":"512","y":"2034","properties":{"controlName":"101-infrastructure-as-code:infrastructure-provisioning:aws-cdk"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"174","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"25","x":"49","y":"11","properties":{"size":"17","text":"AWS CDK"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"160","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3705","typeID":"__group__","zOrder":"209","measuredW":"185","measuredH":"47","w":"185","h":"47","x":"512","y":"2137","properties":{"controlName":"103-infrastructure-as-code:infrastructure-provisioning:pulumi"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"174","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"61","y":"11","properties":{"text":"Pulumi","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"161","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3706","typeID":"__group__","zOrder":"210","measuredW":"185","measuredH":"47","w":"185","h":"47","x":"512","y":"2086","properties":{"controlName":"102-infrastructure-as-code:infrastructure-provisioning:cloudformation"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"174","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"123","measuredH":"25","x":"25","y":"11","properties":{"size":"17","text":"CloudFormation"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"161","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3707","typeID":"Arrow","zOrder":"211","w":"21","h":"46","measuredW":"150","measuredH":"100","x":"194","y":"1995","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":21,"y":0},"p1":{"x":0.56842735383826,"y":-0.016875231606852847},"p2":{"x":0,"y":46},"rightArrow":"false","stroke":"dotted"}},{"ID":"3708","typeID":"Arrow","zOrder":"212","w":"23","h":"46","measuredW":"150","measuredH":"100","x":"297","y":"1995","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.5684273538382602,"y":-0.01687523160685285},"p2":{"x":23,"y":46},"rightArrow":"false","stroke":"dotted"}},{"ID":"3709","typeID":"__group__","zOrder":"213","measuredW":"318","measuredH":"56","w":"318","h":"56","x":"119","y":"1951","properties":{"controlName":"106-ci-cd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"311","h":"49","measuredW":"200","measuredH":"140","x":"7","y":"7","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"182","measuredH":"25","x":"72","y":"19","properties":{"size":"17","text":"Learn some CI/CD Tool"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3710","typeID":"__group__","zOrder":"214","measuredW":"134","measuredH":"46","w":"134","h":"46","x":"274","y":"2033","properties":{"controlName":"101-ci-cd:jenkins"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"124","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"25","x":"32","y":"10","properties":{"text":"Jenkins","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"110","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3711","typeID":"__group__","zOrder":"215","measuredW":"147","measuredH":"46","w":"147","h":"46","x":"119","y":"2033","properties":{"controlName":"100-ci-cd:gitlab-ci"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"137","h":"46","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"25","x":"45","y":"10","properties":{"text":"Gitlab CI","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3712","typeID":"__group__","zOrder":"216","measuredW":"120","measuredH":"46","w":"120","h":"46","x":"289","y":"2084","properties":{"controlName":"103-ci-cd:travis-ci"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"109","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"68","measuredH":"25","x":"18","y":"10","properties":{"text":"Travis CI","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"96","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3713","typeID":"__group__","zOrder":"217","measuredW":"162","measuredH":"46","w":"162","h":"46","x":"119","y":"2084","properties":{"controlName":"102-ci-cd:github-actions"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"46","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"114","measuredH":"25","x":"30","y":"10","properties":{"text":"GitHub Actions","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3714","typeID":"__group__","zOrder":"218","measuredW":"276","measuredH":"47","w":"276","h":"47","x":"132","y":"2136","properties":{"controlName":"105-ci-cd:teamcity"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"267","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"72","measuredH":"25","x":"98","y":"11","properties":{"text":"TeamCity","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"252","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3715","typeID":"__group__","zOrder":"219","measuredW":"136","measuredH":"47","w":"136","h":"47","x":"120","y":"2241","properties":{"controlName":"107-ci-cd:circle-ci"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"125","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"25","x":"41","y":"11","properties":{"text":"Circle CI","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3716","typeID":"__group__","zOrder":"220","measuredW":"148","measuredH":"47","w":"148","h":"47","x":"263","y":"2241","properties":{"controlName":"108-ci-cd:drone"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"137","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"25","x":"42","y":"11","properties":{"size":"17","text":"Drone"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"124","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3717","typeID":"__group__","zOrder":"221","measuredW":"281","measuredH":"47","w":"281","h":"47","x":"119","y":"2188","properties":{"controlName":"106-ci-cd:azure-devops-services"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"269","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"181","measuredH":"25","x":"61","y":"11","properties":{"text":"Azure DevOps Services","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3718","typeID":"__group__","zOrder":"222","measuredW":"426","measuredH":"50","w":"426","h":"50","x":"550","y":"2343","properties":{"controlName":"107-monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"426","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"373","measuredH":"25","x":"26","y":"12","properties":{"size":"17","text":"Learn how to monitor software and infrastructure"}}]}}},{"ID":"3719","typeID":"__group__","zOrder":"223","measuredW":"238","measuredH":"47","w":"238","h":"47","x":"740","y":"2266","properties":{"controlName":"100-monitoring:infrastructure-monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"238","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"191","measuredH":"25","x":"23","y":"11","properties":{"text":"Infrastructure Monitoring","size":"17"}}]}}},{"ID":"3720","typeID":"__group__","zOrder":"224","measuredW":"140","measuredH":"47","w":"140","h":"47","x":"1053","y":"2254","properties":{"controlName":"101-monitoring:infrastructure-monitoring:nagios"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"130","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"55","measuredH":"25","x":"37","y":"11","properties":{"text":"Nagios","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"116","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3721","typeID":"__group__","zOrder":"225","measuredW":"140","measuredH":"47","w":"140","h":"47","x":"1053","y":"2306","properties":{"controlName":"102-monitoring:infrastructure-monitoring:grafana"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"130","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"62","measuredH":"25","x":"34","y":"11","properties":{"text":"Grafana","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"116","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3722","typeID":"__group__","zOrder":"226","measuredW":"139","measuredH":"47","w":"139","h":"47","x":"1053","y":"2462","properties":{"controlName":"102-monitoring:infrastructure-monitoring:datadog"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"130","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"25","x":"32","y":"11","properties":{"text":"Datadog","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"115","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}}]}}},{"ID":"3723","typeID":"__group__","zOrder":"227","measuredW":"139","measuredH":"47","w":"139","h":"47","x":"1053","y":"2358","properties":{"controlName":"102-monitoring:infrastructure-monitoring:zabbix"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"39","y":"11","properties":{"text":"Zabbix","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"115","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3724","typeID":"__group__","zOrder":"228","measuredW":"139","measuredH":"47","w":"139","h":"47","x":"1053","y":"2410","properties":{"controlName":"102-monitoring:infrastructure-monitoring:monit"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"129","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"44","measuredH":"25","x":"43","y":"11","properties":{"text":"Monit","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"115","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3725","typeID":"__group__","zOrder":"229","measuredW":"140","measuredH":"47","w":"140","h":"47","x":"1053","y":"2203","properties":{"controlName":"100-monitoring:infrastructure-monitoring:prometheus"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"130","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"18","y":"11","properties":{"text":"Prometheus","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"116","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3726","typeID":"__group__","zOrder":"230","measuredW":"289","measuredH":"49","w":"289","h":"49","x":"685","y":"2419","properties":{"controlName":"101-monitoring:application-monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"289","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"25","x":"59","y":"12","properties":{"text":"Application Monitoring","size":"17"}}]}}},{"ID":"3727","typeID":"__group__","zOrder":"231","measuredW":"153","measuredH":"47","w":"153","h":"47","x":"675","y":"2504","properties":{"controlName":"100-monitoring:application-monitoring:jaeger"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"143","h":"47","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"55","measuredH":"25","x":"58","y":"11","properties":{"text":"Jaeger","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"12","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"12","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"3728","typeID":"__group__","zOrder":"232","measuredW":"149","measuredH":"47","w":"149","h":"47","x":"835","y":"2504","properties":{"controlName":"101-monitoring:application-monitoring:new-relic"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"139","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"25","x":"23","y":"11","properties":{"size":"17","text":"New Relic"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"125","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3729","typeID":"__group__","zOrder":"233","measuredW":"154","measuredH":"47","w":"154","h":"47","x":"674","y":"2556","properties":{"controlName":"102-monitoring:application-monitoring:app-dynamics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"143","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"25","x":"30","y":"11","properties":{"text":"AppDynamics","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3730","typeID":"__group__","zOrder":"234","measuredW":"148","measuredH":"47","w":"148","h":"47","x":"835","y":"2556","properties":{"controlName":"103-monitoring:application-monitoring:instana"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"139","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"25","x":"35","y":"11","properties":{"text":"Instana","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"124","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3731","typeID":"__group__","zOrder":"235","measuredW":"298","measuredH":"47","w":"298","h":"47","x":"676","y":"2609","properties":{"controlName":"104-monitoring:application-monitoring:open-telemetry"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"289","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"119","measuredH":"25","x":"94","y":"11","properties":{"size":"17","text":"OpenTelemetry"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"8","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3732","typeID":"Arrow","zOrder":"236","w":"65","h":"113","measuredW":"150","measuredH":"100","x":"267","y":"2437","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":65,"y":0},"p1":{"x":0.5357516138948663,"y":0.13107900399631106},"p2":{"x":0,"y":113}}},{"ID":"3733","typeID":"Arrow","zOrder":"237","w":"84","h":"22","measuredW":"150","measuredH":"100","x":"254","y":"2421","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":84,"y":0},"p1":{"x":0.47002652519893895,"y":0.06737400530503979},"p2":{"x":0,"y":22}}},{"ID":"3734","typeID":"Arrow","zOrder":"238","w":"67","h":"36","measuredW":"150","measuredH":"100","x":"264","y":"2384","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":67,"y":36},"p1":{"x":0.4968020743301642,"y":-0.0912705272255834},"p2":{"x":0,"y":0}}},{"ID":"3735","typeID":"Arrow","zOrder":"239","w":"75","h":"76","measuredW":"150","measuredH":"100","x":"267","y":"2422","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":76},"p1":{"x":0.30409613191825274,"y":-0.08148408034382948},"p2":{"x":75,"y":0}}},{"ID":"3736","typeID":"__group__","zOrder":"240","measuredW":"210","measuredH":"49","w":"210","h":"49","x":"322","y":"2403","properties":{"controlName":"102-monitoring:logs-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"210","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"145","measuredH":"25","x":"32","y":"12","properties":{"text":"Logs Management","size":"17"}}]}}},{"ID":"3737","typeID":"__group__","zOrder":"241","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"118","y":"2309","properties":{"controlName":"100-monitoring:logs-management:elastic-stack"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"25","x":"39","y":"11","properties":{"text":"Elastic Stack","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3738","typeID":"__group__","zOrder":"242","measuredW":"161","measuredH":"47","w":"161","h":"47","x":"118","y":"2362","properties":{"controlName":"101-monitoring:logs-management:graylog"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"59","measuredW":"59","measuredH":"25","x":"53","y":"11","properties":{"text":"Graylog","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3739","typeID":"__group__","zOrder":"243","measuredW":"161","measuredH":"47","w":"161","h":"47","x":"118","y":"2416","properties":{"controlName":"102-monitoring:logs-management:splunk"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"53","measuredW":"52","measuredH":"25","x":"61","y":"11","properties":{"text":"Splunk","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3740","typeID":"__group__","zOrder":"244","measuredW":"161","measuredH":"47","w":"161","h":"47","x":"119","y":"2469","properties":{"controlName":"102-monitoring:logs-management:papertrail"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"12","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"79","measuredW":"75","measuredH":"25","x":"51","y":"11","properties":{"text":"Papertrail","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3741","typeID":"__group__","zOrder":"245","measuredW":"304","measuredH":"49","w":"304","h":"49","x":"144","y":"2595","properties":{"controlName":"108-cloud-providers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"304","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"25","x":"91","y":"12","properties":{"size":"17","text":"Cloud Providers"}}]}}},{"ID":"3742","typeID":"__group__","zOrder":"246","measuredW":"160","measuredH":"46","w":"160","h":"46","x":"133","y":"2680","properties":{"controlName":"100-cloud-providers:aws"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"46","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"25","x":"68","y":"10","properties":{"text":"AWS","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3743","typeID":"__group__","zOrder":"247","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"133","y":"2730","properties":{"controlName":"101-cloud-providers:google-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"25","x":"33","y":"11","properties":{"text":"Google Cloud","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}}]}}},{"ID":"3744","typeID":"__group__","zOrder":"248","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"133","y":"2782","properties":{"controlName":"102-cloud-providers:azure"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"44","measuredH":"25","x":"64","y":"11","properties":{"text":"Azure","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3745","typeID":"__group__","zOrder":"249","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"299","y":"2730","properties":{"controlName":"104-cloud-providers:digital-ocean"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"25","x":"22","y":"11","properties":{"text":"Digital Ocean","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"136","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3746","typeID":"__group__","zOrder":"250","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"133","y":"2834","properties":{"controlName":"103-cloud-providers:heroku"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"58","y":"11","properties":{"text":"Heroku","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3747","typeID":"__group__","zOrder":"251","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"299","y":"2782","properties":{"controlName":"105-cloud-providers:linode"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"25","x":"48","y":"11","properties":{"text":"Linode","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"136","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3748","typeID":"__group__","zOrder":"252","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"299","y":"2834","properties":{"controlName":"106-cloud-providers:vultr"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"25","x":"57","y":"11","properties":{"text":"Vultr","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"136","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3749","typeID":"__group__","zOrder":"253","measuredW":"161","measuredH":"46","w":"161","h":"46","x":"299","y":"2680","properties":{"controlName":"104-cloud-providers:albaba-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"46","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"106","measuredH":"25","x":"22","y":"10","properties":{"text":"Alibaba Cloud","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"137","y":"11","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3750","typeID":"Arrow","zOrder":"254","w":"1","h":"149","measuredW":"150","measuredH":"100","x":"668","y":"2745","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":148.5},"p1":{"x":0.46874741514792245,"y":-0.0047699137004053056},"p2":{"x":0,"y":-0.5},"rightArrow":"false"}},{"ID":"3751","typeID":"Arrow","zOrder":"255","w":"153","h":"101","measuredW":"150","measuredH":"100","x":"789","y":"2755","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.4988,"y":0.03159999999999985},"p2":{"x":152.5,"y":100}}},{"ID":"3752","typeID":"Arrow","zOrder":"256","w":"155","h":"62","measuredW":"150","measuredH":"100","x":"793","y":"2748","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.49879999999999997,"y":0.031599999999999934},"p2":{"x":154.5,"y":61}}},{"ID":"3753","typeID":"Arrow","zOrder":"257","w":"160","h":"29","measuredW":"150","measuredH":"100","x":"783","y":"2738","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.4988,"y":0.03159999999999997},"p2":{"x":159.5,"y":28}}},{"ID":"3754","typeID":"Arrow","zOrder":"258","w":"158","h":"7","measuredW":"150","measuredH":"100","x":"790","y":"2719","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.5,"y":7},"p1":{"x":0.49880000000000013,"y":0.03159999999999997},"p2":{"x":157.5,"y":4}}},{"ID":"3755","typeID":"Label","zOrder":"259","measuredW":"161","measuredH":"32","x":"588","y":"2902","properties":{"size":"24","text":"Keep Learning"}},{"ID":"3756","typeID":"__group__","zOrder":"260","measuredW":"289","measuredH":"95","w":"289","h":"95","x":"522","y":"2690","properties":{"controlName":"ext_link:bit.ly/cloud-arch-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"289","h":"83","measuredW":"200","measuredH":"140","x":"0","y":"12","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"25","x":"59","y":"30","properties":{"size":"17","text":"Cloud Design Patterns"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"213","measuredH":"23","x":"38","y":"56","properties":{"size":"15","text":"http://bit.ly/cloud-arch-patterns"}},{"ID":"3","typeID":"__group__","zOrder":"3","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"265","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"4","typeID":"__group__","zOrder":"4","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"240","y":"0","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3757","typeID":"__group__","zOrder":"261","measuredW":"255","measuredH":"47","w":"255","h":"47","x":"933","y":"2684","properties":{"controlName":"109-availability"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"255","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"80","measuredH":"25","x":"88","y":"11","properties":{"text":"Availability","size":"17"}}]}}},{"ID":"3758","typeID":"__group__","zOrder":"262","measuredW":"254","measuredH":"47","w":"254","h":"47","x":"934","y":"2738","properties":{"controlName":"110-data-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"254","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"25","x":"55","y":"11","properties":{"text":"Data Management","size":"17"}}]}}},{"ID":"3759","typeID":"__group__","zOrder":"263","measuredW":"255","measuredH":"47","w":"255","h":"47","x":"933","y":"2793","properties":{"controlName":"111-design-and-implementation"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"255","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"212","measuredH":"25","x":"22","y":"11","properties":{"text":"Design and Implementation","size":"17"}}]}}},{"ID":"3760","typeID":"__group__","zOrder":"264","measuredW":"255","measuredH":"47","w":"255","h":"47","x":"933","y":"2847","properties":{"controlName":"112-management-and-monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"255","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"223","measuredH":"25","x":"16","y":"11","properties":{"text":"Management and Monitoring","size":"17"}}]}}},{"ID":"3761","typeID":"Arrow","zOrder":"265","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"668","y":"2951","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":76},"p1":{"x":0.4687474151479224,"y":-0.0047699137004053056},"p2":{"x":0,"y":-0.5},"rightArrow":"false"}},{"ID":"3762","typeID":"__group__","zOrder":"266","measuredW":"160","measuredH":"47","w":"160","h":"47","x":"119","y":"2523","properties":{"controlName":"103-monitoring:logs-management:loki"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"47","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"25","x":"70","y":"11","properties":{"text":"Loki","size":"17"}},{"ID":"3","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3763","typeID":"__group__","zOrder":"267","measuredW":"89","measuredH":"160","w":"89","h":"160","x":"853","y":"1564","properties":{"controlName":"104-infrastructure-as-code:gitops"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"89","h":"160","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"18","y":"123","properties":{"size":"17","text":"GitOps"}}]}}},{"ID":"3764","typeID":"__group__","zOrder":"268","measuredW":"108","measuredH":"47","w":"108","h":"47","x":"867","y":"1575","properties":{"controlName":"100-infrastructure-as-code:gitops:argo-cd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"25","x":"15","y":"11","properties":{"size":"17","text":"ArgoCD"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"84","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3765","typeID":"__group__","zOrder":"269","measuredW":"108","measuredH":"47","w":"108","h":"47","x":"868","y":"1628","properties":{"controlName":"101-infrastructure-as-code:gitops:flux-cd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"16","y":"11","properties":{"size":"17","text":"FluxCD"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"84","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}}]}}},{"ID":"3766","typeID":"__group__","zOrder":"270","measuredW":"140","measuredH":"162","w":"140","h":"162","x":"1027","y":"1563","properties":{"controlName":"100-infrastructure-as-code:service-mesh"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"140","h":"162","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"25","x":"17","y":"122","properties":{"text":"Service Mesh","size":"17"}}]}}},{"ID":"3767","typeID":"__group__","zOrder":"271","measuredW":"110","measuredH":"47","w":"110","h":"47","x":"1101","y":"1575","properties":{"controlName":"100-infrastructure-as-code:service-mesh:consul"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"25","y":"11","properties":{"text":"Consul","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"86","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3768","typeID":"__group__","zOrder":"272","measuredW":"107","measuredH":"47","w":"107","h":"47","x":"989","y":"1575","properties":{"controlName":"101-infrastructure-as-code:service-mesh:istio"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"25","x":"40","y":"9","properties":{"text":"Istio","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"10","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3769","typeID":"__group__","zOrder":"273","measuredW":"109","measuredH":"47","w":"109","h":"47","x":"1101","y":"1627","properties":{"controlName":"102-infrastructure-as-code:service-mesh:envoy"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"25","x":"29","y":"11","properties":{"text":"Envoy","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"85","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3770","typeID":"__group__","zOrder":"274","measuredW":"108","measuredH":"47","w":"108","h":"47","x":"988","y":"1626","properties":{"controlName":"103-infrastructure-as-code:service-mesh:linkerd"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"25","x":"32","y":"11","properties":{"text":"Linkerd","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3771","typeID":"__group__","zOrder":"275","measuredW":"237","measuredH":"202","w":"237","h":"202","x":"964","y":"1740","properties":{"controlName":"105-infrastructure-as-code:secret-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"237","h":"202","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"158","measuredH":"25","x":"39","y":"10","properties":{"size":"17","text":"Secret Management"}}]}}},{"ID":"3772","typeID":"__group__","zOrder":"276","measuredW":"108","measuredH":"47","w":"108","h":"47","x":"971","y":"1783","properties":{"controlName":"100-infrastructure-as-code:secret-management:vault"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"47","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"25","x":"40","y":"11","properties":{"size":"17","text":"Vault"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3773","typeID":"__group__","zOrder":"277","measuredW":"216","measuredH":"47","w":"216","h":"47","x":"979","y":"1834","properties":{"controlName":"102-infrastructure-as-code:secret-management:sealed-secrets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"205","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"25","x":"44","y":"11","properties":{"size":"17","text":"Sealed Secrets"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"192","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}}]}}},{"ID":"3774","typeID":"__group__","zOrder":"278","measuredW":"194","measuredH":"206","w":"194","h":"206","x":"747","y":"1962","properties":{"controlName":"102-infrastructure-as-code:configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"194","h":"206","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"155","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"Configuration Mgmt."}}]}}},{"ID":"3775","typeID":"__group__","zOrder":"279","measuredW":"163","measuredH":"47","w":"163","h":"47","x":"764","y":"2008","properties":{"controlName":"100-infrastructure-as-code:configuration-management:ansible"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"154","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"46","y":"11","properties":{"text":"Ansible","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"139","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3776","typeID":"__group__","zOrder":"280","measuredW":"162","measuredH":"47","w":"162","h":"47","x":"764","y":"2058","properties":{"controlName":"101-infrastructure-as-code:configuration-management:chef"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"154","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"37","measuredH":"25","x":"56","y":"11","properties":{"text":"Chef","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"138","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3777","typeID":"__group__","zOrder":"281","measuredW":"163","measuredH":"47","w":"163","h":"47","x":"764","y":"2108","properties":{"controlName":"103-infrastructure-as-code:configuration-management:puppet"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"154","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"25","x":"47","y":"11","properties":{"text":"Puppet","size":"17"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"139","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"3778","typeID":"__group__","zOrder":"282","measuredW":"113","measuredH":"47","w":"113","h":"47","x":"1083","y":"1783","properties":{"controlName":"101-infrastructure-as-code:secret-management:sops"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"101","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"45","measuredH":"25","x":"29","y":"11","properties":{"size":"17","text":"SOPS"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"89","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}}]}}},{"ID":"3779","typeID":"__group__","zOrder":"283","measuredW":"216","measuredH":"47","w":"216","h":"47","x":"979","y":"1885","properties":{"controlName":"103-infrastructure-as-code:secret-management:cloud-specific-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"205","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"154","measuredH":"25","x":"25","y":"11","properties":{"size":"17","text":"Cloud Specific Tools"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"192","y":"12","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}}]}}},{"ID":"3780","typeID":"Arrow","zOrder":"0","w":"183","h":"5","measuredW":"150","measuredH":"100","x":"829","y":"347","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.30749986718376476,"y":4.453524997133513},"p1":{"x":0.6950719555100975,"y":-0.0004300840236431132},"p2":{"x":182.29125893020966,"y":-0.1278058687508974}}},{"ID":"3782","typeID":"Canvas","zOrder":"284","w":"420","h":"180","measuredW":"100","measuredH":"70","x":"59","y":"207"},{"ID":"3789","typeID":"Label","zOrder":"285","measuredW":"263","measuredH":"28","x":"78","y":"227","properties":{"size":"20","text":"Featured DevOps Resources"}},{"ID":"3798","typeID":"Label","zOrder":"289","measuredW":"337","measuredH":"25","x":"78","y":"334","properties":{"size":"17","text":"These are affiliate links. Revenue generated"}},{"ID":"3799","typeID":"Label","zOrder":"288","measuredW":"372","measuredH":"25","x":"78","y":"362","properties":{"size":"17","text":"from these help offset roadmap.sh running costs."}},{"ID":"3801","typeID":"Canvas","zOrder":"287","w":"420","h":"89","measuredW":"100","measuredH":"70","x":"59","y":"316"},{"ID":"3802","typeID":"__group__","zOrder":"286","measuredW":"287","measuredH":"27","w":"287","h":"27","x":"75","y":"268","properties":{"controlName":"ext_link:www.digistore24.com/redir/350808/Roadmap/CAMPAIGNKEY"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"212","measuredH":"25","x":"34","y":"0","properties":{"size":"17","text":"DevOps Bootcamp by Nana"}},{"ID":"1","typeID":"__group__","zOrder":"1","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"3","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"34","measuredH":"25","x":"253","y":"0","properties":{"color":"10027263","size":"17","text":"Paid"}}]}}},{"ID":"3803","typeID":"Arrow","zOrder":"290","w":"96","h":"3","measuredW":"150","measuredH":"100","x":"40","y":"436","properties":{"curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":-0.5},"p1":{"x":0.38117461229178634,"y":-0.010697874784606601},"p2":{"x":96,"y":2},"color":"16777215"}}]},"attributes":{"name":"New Wireframe 9 copy 3","order":1000127.6123092113,"parentID":null,"notes":null},"branchID":"Master","resourceID":"A1A5999B-9C79-4DA0-ACC2-6623475C4F5B","mockupH":"2977","mockupW":"1183","measuredW":"1223","measuredH":"3028","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "3011", + "typeID": "Arrow", + "zOrder": "15", + "w": "1", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "1177", + "y": "2699", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3939393939394904 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": 0, + "y": 62.00523136030006 + } + } + }, + { + "ID": "3012", + "typeID": "__group__", + "zOrder": "16", + "measuredW": "151", + "measuredH": "47", + "w": "151", + "h": "47", + "x": "1109", + "y": "2611", + "properties": { + "controlName": "100-gitops:argo-cd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "25", + "x": "40", + "y": "11", + "properties": { + "size": "17", + "text": "ArgoCD" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "127", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3013", + "typeID": "__group__", + "zOrder": "17", + "measuredW": "151", + "measuredH": "47", + "w": "151", + "h": "47", + "x": "1108", + "y": "2661", + "properties": { + "controlName": "101-gitops:flux-cd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "43", + "y": "11", + "properties": { + "size": "17", + "text": "FluxCD" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "127", + "y": "10", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3014", + "typeID": "Arrow", + "zOrder": "18", + "w": "1", + "h": "64", + "measuredW": "150", + "measuredH": "100", + "x": "1187", + "y": "2472", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.49009958262422515 + }, + "p1": { + "x": 0.49956677529873245, + "y": 0 + }, + "p2": { + "x": 0, + "y": 63.357582711558734 + } + } + }, + { + "ID": "3015", + "typeID": "Arrow", + "zOrder": "19", + "w": "1", + "h": "174", + "measuredW": "150", + "measuredH": "100", + "x": "610", + "y": "2458", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.25411487053997917 + }, + "p1": { + "x": 0.5010051755986721, + "y": 0 + }, + "p2": { + "x": 0, + "y": 174 + } + } + }, + { + "ID": "3016", + "typeID": "Arrow", + "zOrder": "20", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "560", + "y": "2285", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5010057587596869, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3017", + "typeID": "Arrow", + "zOrder": "21", + "w": "97", + "h": "22", + "measuredW": "150", + "measuredH": "100", + "x": "1053", + "y": "2263", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 96.64772784448883, + "y": -0.021310438334239734 + }, + "p1": { + "x": 0.5628712871287136, + "y": -0.0787128712871304 + }, + "p2": { + "x": -0.28952215735057507, + "y": 21.86774601369416 + } + } + }, + { + "ID": "3018", + "typeID": "Arrow", + "zOrder": "22", + "w": "89", + "h": "15", + "measuredW": "150", + "measuredH": "100", + "x": "1054", + "y": "2233", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.2739818749371352, + "y": 0.27211294819881005 + }, + "p1": { + "x": 0.4960215211876767, + "y": -0.07358960597598453 + }, + "p2": { + "x": 89.39371171533776, + "y": 14.343649238788657 + }, + "stroke": "dotted" + } + }, + { + "ID": "3019", + "typeID": "Arrow", + "zOrder": "23", + "w": "1", + "h": "345", + "measuredW": "150", + "measuredH": "100", + "x": "1293", + "y": "2022", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 345.0823548854628 + } + } + }, + { + "ID": "3020", + "typeID": "Arrow", + "zOrder": "24", + "w": "1", + "h": "251", + "measuredW": "150", + "measuredH": "100", + "x": "344", + "y": "1771", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 251.42830958144737 + } + } + }, + { + "ID": "3021", + "typeID": "Arrow", + "zOrder": "25", + "w": "1", + "h": "90", + "measuredW": "150", + "measuredH": "100", + "x": "345", + "y": "1667", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3636363636362603 + }, + "p1": { + "x": 0.4988928776156575, + "y": 0 + }, + "p2": { + "x": 0, + "y": 90.24242424242425 + } + } + }, + { + "ID": "3022", + "typeID": "Arrow", + "zOrder": "26", + "w": "1", + "h": "90", + "measuredW": "150", + "measuredH": "100", + "x": "633", + "y": "1684", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3636363636362603 + }, + "p1": { + "x": 0.4988928776156575, + "y": 0 + }, + "p2": { + "x": 0, + "y": 90.24242424242425 + } + } + }, + { + "ID": "3023", + "typeID": "Arrow", + "zOrder": "27", + "w": "1", + "h": "76", + "measuredW": "150", + "measuredH": "100", + "x": "742", + "y": "1689", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4988928776156574, + "y": 0 + }, + "p2": { + "x": 0, + "y": 76.24242424242425 + } + } + }, + { + "ID": "3026", + "typeID": "Arrow", + "zOrder": "28", + "w": "1", + "h": "66", + "measuredW": "150", + "measuredH": "100", + "x": "1158", + "y": "1368", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.49889287761565754, + "y": 0 + }, + "p2": { + "x": 0, + "y": 66.09090909090901 + } + } + }, + { + "ID": "3027", + "typeID": "__group__", + "zOrder": "29", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "1063", + "y": "1414", + "properties": { + "controlName": "100-networking-protocols:osi-model" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "25", + "x": "36", + "y": "12", + "properties": { + "text": "OSI Model", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3028", + "typeID": "__group__", + "zOrder": "30", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1054", + "y": "1426", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3029", + "typeID": "Arrow", + "zOrder": "31", + "w": "1", + "h": "78", + "measuredW": "150", + "measuredH": "100", + "x": "1158", + "y": "1290", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3033", + "typeID": "Arrow", + "zOrder": "32", + "w": "1", + "h": "71", + "measuredW": "150", + "measuredH": "100", + "x": "546", + "y": "2770", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3939393939394904 + }, + "p1": { + "x": 0.49956677529873245, + "y": 0 + }, + "p2": { + "x": 0, + "y": 71.12121212121247 + } + } + }, + { + "ID": "3034", + "typeID": "Arrow", + "zOrder": "33", + "w": "1", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "919", + "y": "2761", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3939393939394904 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": 0, + "y": 62.00523136030006 + } + } + }, + { + "ID": "3035", + "typeID": "Arrow", + "zOrder": "34", + "w": "1", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "814", + "y": "2761", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.3939393939394904 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": 0, + "y": 62.00523136030006 + } + } + }, + { + "ID": "3036", + "typeID": "Arrow", + "zOrder": "35", + "w": "1", + "h": "217", + "measuredW": "150", + "measuredH": "100", + "x": "1352", + "y": "2545", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.3056128276207346 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 216.99049199060255 + } + } + }, + { + "ID": "3037", + "typeID": "Arrow", + "zOrder": "36", + "w": "1", + "h": "191", + "measuredW": "150", + "measuredH": "100", + "x": "869", + "y": "2455", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.49009958262422515 + }, + "p1": { + "x": 0.4995667752987324, + "y": 0 + }, + "p2": { + "x": 0, + "y": 190.36636900398753 + } + } + }, + { + "ID": "3038", + "typeID": "Arrow", + "zOrder": "37", + "w": "1", + "h": "170", + "measuredW": "150", + "measuredH": "100", + "x": "500", + "y": "2471", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.501001905617902, + "y": 0 + }, + "p2": { + "x": 0, + "y": 170 + } + } + }, + { + "ID": "3039", + "typeID": "Arrow", + "zOrder": "38", + "w": "1", + "h": "175", + "measuredW": "150", + "measuredH": "100", + "x": "343", + "y": "2370", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.2654294557892172 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 175.738606905285 + } + } + }, + { + "ID": "3040", + "typeID": "Arrow", + "zOrder": "39", + "w": "1", + "h": "180", + "measuredW": "150", + "measuredH": "100", + "x": "925", + "y": "1271", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 180 + } + } + }, + { + "ID": "3041", + "typeID": "Arrow", + "zOrder": "40", + "w": "1", + "h": "180", + "measuredW": "150", + "measuredH": "100", + "x": "766", + "y": "1271", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 180 + } + } + }, + { + "ID": "3042", + "typeID": "Arrow", + "zOrder": "41", + "w": "1", + "h": "237", + "measuredW": "150", + "measuredH": "100", + "x": "327", + "y": "1125", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.42424242424237946 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 237.121212121212 + } + } + }, + { + "ID": "3043", + "typeID": "Arrow", + "zOrder": "42", + "w": "1", + "h": "86", + "measuredW": "150", + "measuredH": "100", + "x": "621", + "y": "1052", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.030303030303002743 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0, + "y": 86.060606060606 + }, + "stroke": "dotted" + } + }, + { + "ID": "3044", + "typeID": "Arrow", + "zOrder": "43", + "w": "76", + "h": "19", + "measuredW": "150", + "measuredH": "100", + "x": "400", + "y": "1227", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 76, + "y": 0 + }, + "p1": { + "x": 0.4776674685401831, + "y": 0.08562699251407613 + }, + "p2": { + "x": 0, + "y": 19 + } + } + }, + { + "ID": "3047", + "typeID": "Arrow", + "zOrder": "44", + "w": "979", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "329", + "y": "1361", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 979.3333333333333, + "y": 0 + } + } + }, + { + "ID": "3048", + "typeID": "Arrow", + "zOrder": "45", + "w": "1", + "h": "81", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "1041", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": -0.030303030303002743, + "y": -0.0909090909092356 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": -0.030303030303002743, + "y": 80.81818181818176 + } + } + }, + { + "ID": "3052", + "typeID": "Arrow", + "zOrder": "46", + "w": "1", + "h": "269", + "measuredW": "150", + "measuredH": "100", + "x": "809", + "y": "237", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 268.8181818181818 + } + } + }, + { + "ID": "3053", + "typeID": "Arrow", + "zOrder": "10", + "w": "1", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "1140", + "y": "522", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5020600744284955, + "y": -0.0018326094960089672 + }, + "p2": { + "x": 0, + "y": 47 + } + } + }, + { + "ID": "3054", + "typeID": "Label", + "zOrder": "47", + "measuredW": "116", + "measuredH": "40", + "x": "752", + "y": "179", + "properties": { + "size": "32", + "text": "DevOps" + } + }, + { + "ID": "3055", + "typeID": "__group__", + "zOrder": "48", + "measuredW": "420", + "measuredH": "130", + "w": "420", + "h": "130", + "x": "162", + "y": "71", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "420", + "h": "130", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "23", + "y": "21", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "269", + "measuredH": "24", + "x": "59", + "y": "21", + "properties": { + "size": "16", + "text": "Personal Recommendation / Opinion" + } + }, + { + "ID": "5", + "typeID": "Label", + "zOrder": "3", + "w": "324", + "measuredW": "315", + "measuredH": "24", + "x": "60", + "y": "86", + "properties": { + "size": "16", + "text": "Order in roadmap not strict (Learn anytime)" + } + }, + { + "ID": "6", + "typeID": "__group__", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "23", + "y": "86", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "7", + "typeID": "Label", + "zOrder": "5", + "measuredW": "272", + "measuredH": "24", + "x": "59", + "y": "54", + "properties": { + "size": "16", + "text": "Alternative Option - Pick this or purple" + } + }, + { + "ID": "8", + "typeID": "__group__", + "zOrder": "6", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "23", + "y": "53", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3056", + "typeID": "Canvas", + "zOrder": "49", + "w": "420", + "h": "180", + "measuredW": "100", + "measuredH": "70", + "x": "162", + "y": "217" + }, + { + "ID": "3057", + "typeID": "Label", + "zOrder": "50", + "measuredW": "263", + "measuredH": "28", + "x": "181", + "y": "237", + "properties": { + "size": "20", + "text": "Featured DevOps Resources" + } + }, + { + "ID": "3058", + "typeID": "__group__", + "zOrder": "51", + "measuredW": "287", + "measuredH": "27", + "w": "287", + "h": "27", + "x": "178", + "y": "274", + "properties": { + "controlName": "ext_link:www.digistore24.com/redir/350808/Roadmap/CAMPAIGNKEY" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "212", + "measuredH": "25", + "x": "34", + "y": "0", + "properties": { + "size": "17", + "text": "DevOps Bootcamp by Nana" + } + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "3", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "34", + "measuredH": "25", + "x": "253", + "y": "0", + "properties": { + "color": "10027263", + "size": "17", + "text": "Paid" + } + } + ] + } + } + }, + { + "ID": "3059", + "typeID": "Canvas", + "zOrder": "52", + "w": "420", + "h": "89", + "measuredW": "100", + "measuredH": "70", + "x": "162", + "y": "346" + }, + { + "ID": "3060", + "typeID": "Label", + "zOrder": "53", + "measuredW": "372", + "measuredH": "25", + "x": "181", + "y": "392", + "properties": { + "size": "17", + "text": "from these help offset roadmap.sh running costs." + } + }, + { + "ID": "3061", + "typeID": "Label", + "zOrder": "54", + "measuredW": "337", + "measuredH": "25", + "x": "181", + "y": "364", + "properties": { + "size": "17", + "text": "These are affiliate links. Revenue generated" + } + }, + { + "ID": "3062", + "typeID": "__group__", + "zOrder": "55", + "measuredW": "298", + "measuredH": "27", + "w": "298", + "h": "27", + "x": "179", + "y": "304", + "properties": { + "controlName": "ext_link:kodekloud.com?aff=kamranahmed.se" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "220", + "measuredH": "25", + "x": "34", + "y": "0", + "properties": { + "size": "17", + "text": "KodeCloud DevOps Courses" + } + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "3", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "34", + "measuredH": "25", + "x": "264", + "y": "0", + "properties": { + "color": "10027263", + "size": "17", + "text": "Paid" + } + } + ] + } + } + }, + { + "ID": "3063", + "typeID": "Canvas", + "zOrder": "56", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "1020", + "y": "51" + }, + { + "ID": "3064", + "typeID": "Label", + "zOrder": "57", + "measuredW": "314", + "measuredH": "25", + "x": "1034", + "y": "68", + "properties": { + "size": "17", + "text": "Find the detailed version of this roadmap" + } + }, + { + "ID": "3065", + "typeID": "Label", + "zOrder": "58", + "measuredW": "319", + "measuredH": "25", + "x": "1034", + "y": "96", + "properties": { + "size": "17", + "text": "along with resources and other roadmaps" + } + }, + { + "ID": "3066", + "typeID": "__group__", + "zOrder": "59", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "1035", + "y": "132", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "181", + "measuredH": "29", + "w": "181", + "h": "29", + "x": "65", + "y": "8", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "105", + "measuredH": "28", + "x": "76", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "roadmap.sh" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "28", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "https" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "5", + "measuredH": "28", + "x": "48", + "y": "0", + "properties": { + "bold": "true", + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "10", + "measuredH": "28", + "x": "55", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "63", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3067", + "typeID": "Arrow", + "zOrder": "60", + "w": "127", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "344", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 4 + }, + "p1": { + "x": 0.6967712512585971, + "y": -0.0004234795649128249 + }, + "p2": { + "x": 126, + "y": 0 + } + } + }, + { + "ID": "3068", + "typeID": "Arrow", + "zOrder": "61", + "w": "120", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "975", + "y": "289", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 47 + }, + "p1": { + "x": 0.4946393327644539, + "y": -0.08428379340236354 + }, + "p2": { + "x": 121, + "y": 0 + } + } + }, + { + "ID": "3069", + "typeID": "Arrow", + "zOrder": "62", + "w": "122", + "h": "40", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "358", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.6732262460018726, + "y": 0.10948951153457914 + }, + "p2": { + "x": 122, + "y": 40 + } + } + }, + { + "ID": "3070", + "typeID": "__group__", + "zOrder": "63", + "measuredW": "332", + "measuredH": "50", + "w": "332", + "h": "50", + "x": "646", + "y": "323", + "properties": { + "controlName": "100-language" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "332", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "249", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "size": "17", + "text": "Learn a Programming Language" + } + } + ] + } + } + }, + { + "ID": "3071", + "typeID": "__group__", + "zOrder": "64", + "measuredW": "113", + "measuredH": "47", + "w": "113", + "h": "47", + "x": "1194", + "y": "268", + "properties": { + "controlName": "101-language:ruby" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "104", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "45", + "measuredW": "39", + "measuredH": "25", + "x": "26", + "y": "11", + "properties": { + "size": "17", + "text": "Ruby" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "89", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3072", + "typeID": "__group__", + "zOrder": "65", + "measuredW": "109", + "measuredH": "47", + "w": "109", + "h": "47", + "x": "1080", + "y": "268", + "properties": { + "controlName": "100-language:python" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "97", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "12", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "53", + "measuredH": "25", + "x": "35", + "y": "11", + "properties": { + "text": "Python", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3073", + "typeID": "__group__", + "zOrder": "66", + "measuredW": "216", + "measuredH": "47", + "w": "216", + "h": "47", + "x": "1090", + "y": "369", + "properties": { + "controlName": "102-language:javascript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "207", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457", + "textColor": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "155", + "measuredH": "25", + "x": "25", + "y": "11", + "properties": { + "size": "17", + "text": "JavaScript / Node.js" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "192", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3074", + "typeID": "__group__", + "zOrder": "67", + "measuredW": "107", + "measuredH": "47", + "w": "107", + "h": "47", + "x": "1082", + "y": "318", + "properties": { + "controlName": "103-language:go" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "97", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457", + "textColor": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "23", + "measuredH": "25", + "x": "47", + "y": "11", + "properties": { + "size": "17", + "text": "Go" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3075", + "typeID": "__group__", + "zOrder": "68", + "measuredW": "112", + "measuredH": "47", + "w": "112", + "h": "47", + "x": "1194", + "y": "319", + "properties": { + "controlName": "104-language:rust" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "104", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457", + "textColor": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "36", + "measuredH": "25", + "x": "32", + "y": "11", + "properties": { + "size": "17", + "text": "Rust" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "88", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3076", + "typeID": "Arrow", + "zOrder": "69", + "w": "1", + "h": "115", + "measuredW": "150", + "measuredH": "100", + "x": "809", + "y": "44", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 114.9603156901461 + } + } + }, + { + "ID": "3077", + "typeID": "__group__", + "zOrder": "239", + "measuredW": "251", + "measuredH": "49", + "w": "251", + "h": "49", + "x": "913", + "y": "482", + "properties": { + "controlName": "101-operating-systems" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "251", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "146", + "measuredH": "25", + "x": "53", + "y": "12", + "properties": { + "size": "17", + "text": "Operating Systems" + } + } + ] + } + } + }, + { + "ID": "3079", + "typeID": "__group__", + "zOrder": "70", + "measuredW": "147", + "measuredH": "43", + "w": "147", + "h": "43", + "x": "1072", + "y": "654", + "properties": { + "controlName": "101-operating-systems:unix:open-bsd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "137", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "77", + "measuredW": "77", + "measuredH": "25", + "x": "30", + "y": "9", + "properties": { + "text": "OpenBSD", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "123", + "y": "9", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3080", + "typeID": "__group__", + "zOrder": "71", + "measuredW": "147", + "measuredH": "43", + "w": "147", + "h": "43", + "x": "1072", + "y": "608", + "properties": { + "controlName": "100-operating-systems:unix:free-bsd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "137", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "71", + "measuredW": "71", + "measuredH": "25", + "x": "33", + "y": "9", + "properties": { + "text": "FreeBSD", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "123", + "y": "10", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3081", + "typeID": "Label", + "zOrder": "72", + "w": "37", + "measuredW": "34", + "measuredH": "25", + "x": "1124", + "y": "577", + "properties": { + "text": "Unix", + "size": "17" + } + }, + { + "ID": "3082", + "typeID": "__group__", + "zOrder": "73", + "measuredW": "148", + "measuredH": "40", + "w": "148", + "h": "40", + "x": "1071", + "y": "701", + "properties": { + "controlName": "102-operating-systems:unix:net-bsd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "139", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "63", + "measuredW": "63", + "measuredH": "25", + "x": "32", + "y": "7", + "properties": { + "text": "NetBSD", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "124", + "y": "8", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3084", + "typeID": "__group__", + "zOrder": "74", + "measuredW": "152", + "measuredH": "44", + "w": "152", + "h": "44", + "x": "672", + "y": "610", + "properties": { + "controlName": "103-operating-systems:windows" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "143", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "68", + "measuredH": "25", + "x": "47", + "y": "9", + "properties": { + "text": "Windows", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "10", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3085", + "typeID": "__group__", + "zOrder": "75", + "measuredW": "194", + "measuredH": "47", + "w": "194", + "h": "47", + "x": "765", + "y": "827", + "properties": { + "controlName": "100-live-in-terminal:scripting:bash-scripting" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "194", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "119", + "measuredW": "112", + "measuredH": "25", + "x": "38", + "y": "11", + "properties": { + "text": "Bash Scripting", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3086", + "typeID": "__group__", + "zOrder": "76", + "measuredW": "194", + "measuredH": "47", + "w": "194", + "h": "47", + "x": "765", + "y": "878", + "properties": { + "controlName": "101-live-in-terminal:scripting:powershell" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "194", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "94", + "measuredW": "89", + "measuredH": "25", + "x": "50", + "y": "11", + "properties": { + "text": "Power Shell", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3088", + "typeID": "Label", + "zOrder": "11", + "measuredW": "41", + "measuredH": "25", + "x": "934", + "y": "579", + "properties": { + "text": "Linux", + "size": "17" + } + }, + { + "ID": "3089", + "typeID": "__group__", + "zOrder": "12", + "measuredW": "205", + "measuredH": "40", + "w": "205", + "h": "40", + "x": "852", + "y": "699", + "properties": { + "controlName": "102-operating-systems:linux:rhel" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "205", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "147", + "measuredH": "25", + "x": "29", + "y": "7", + "properties": { + "size": "17", + "text": "RHEL / Derivatives" + } + } + ] + } + } + }, + { + "ID": "3090", + "typeID": "__group__", + "zOrder": "13", + "measuredW": "204", + "measuredH": "40", + "w": "204", + "h": "40", + "x": "853", + "y": "612", + "properties": { + "controlName": "100-operating-systems:linux:ubuntu" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "204", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "128", + "measuredH": "25", + "x": "38", + "y": "8", + "properties": { + "size": "17", + "text": "Ubuntu / Debian" + } + } + ] + } + } + }, + { + "ID": "3091", + "typeID": "__group__", + "zOrder": "14", + "measuredW": "204", + "measuredH": "40", + "w": "204", + "h": "40", + "x": "853", + "y": "656", + "properties": { + "controlName": "101-operating-systems:linux:suse-linux" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "204", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "25", + "x": "59", + "y": "7", + "properties": { + "text": "SUSE Linux", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3093", + "typeID": "__group__", + "zOrder": "77", + "measuredW": "332", + "measuredH": "49", + "w": "332", + "h": "49", + "x": "1013", + "y": "775", + "properties": { + "controlName": "102-live-in-terminal" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "332", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "182", + "measuredH": "25", + "x": "75", + "y": "12", + "properties": { + "text": "Learn to live in Terminal", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3094", + "typeID": "__group__", + "zOrder": "78", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "943", + "y": "891", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3095", + "typeID": "__group__", + "zOrder": "79", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "943", + "y": "837", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3096", + "typeID": "Label", + "zOrder": "80", + "measuredW": "68", + "measuredH": "25", + "x": "829", + "y": "787", + "properties": { + "size": "17", + "text": "Scripting" + } + }, + { + "ID": "3097", + "typeID": "__group__", + "zOrder": "240", + "measuredW": "190", + "measuredH": "47", + "w": "190", + "h": "47", + "x": "567", + "y": "825", + "properties": { + "controlName": "102-live-in-terminal:editors" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "190", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "138", + "measuredH": "25", + "x": "25", + "y": "11", + "properties": { + "text": "Vim/Nano/Emacs", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3098", + "typeID": "__group__", + "zOrder": "241", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "554", + "y": "837", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3106", + "typeID": "__group__", + "zOrder": "82", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1229", + "y": "865", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3114", + "typeID": "__group__", + "zOrder": "243", + "measuredW": "225", + "measuredH": "49", + "w": "225", + "h": "49", + "x": "756", + "y": "1099", + "properties": { + "controlName": "103-version-control-systems" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "225", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "20", + "y": "12", + "properties": { + "size": "17", + "text": "Version Control Systems" + } + } + ] + } + } + }, + { + "ID": "3122", + "typeID": "Icon", + "zOrder": "98", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "1023", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3123", + "typeID": "Icon", + "zOrder": "99", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "1023", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + }, + { + "ID": "3124", + "typeID": "Icon", + "zOrder": "100", + "measuredW": "24", + "measuredH": "24", + "x": "556", + "y": "922", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3125", + "typeID": "Icon", + "zOrder": "101", + "measuredW": "24", + "measuredH": "24", + "x": "556", + "y": "922", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3131", + "typeID": "__group__", + "zOrder": "102", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "798", + "properties": { + "controlName": "106-setting-up-x:apache" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "59", + "measuredH": "25", + "x": "53", + "y": "10", + "properties": { + "text": "Apache", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3132", + "typeID": "__group__", + "zOrder": "103", + "measuredW": "166", + "measuredH": "47", + "w": "166", + "h": "47", + "x": "309", + "y": "697", + "properties": { + "controlName": "105-setting-up-x:nginx" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "25", + "x": "60", + "y": "10", + "properties": { + "text": "Nginx", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3133", + "typeID": "__group__", + "zOrder": "104", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "748", + "properties": { + "controlName": "107-setting-up-x:tomcat" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "57", + "measuredH": "25", + "x": "54", + "y": "10", + "properties": { + "text": "Tomcat", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3134", + "typeID": "__group__", + "zOrder": "105", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "847", + "properties": { + "controlName": "108-setting-up-x:iis" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "21", + "measuredH": "25", + "x": "72", + "y": "10", + "properties": { + "text": "IIS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3135", + "typeID": "__group__", + "zOrder": "256", + "measuredW": "309", + "measuredH": "49", + "w": "309", + "h": "49", + "x": "160", + "y": "1097", + "properties": { + "controlName": "105-setting-up-x" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "309", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "272", + "measuredH": "25", + "x": "17", + "y": "12", + "properties": { + "size": "17", + "text": "What is and how to setup a _____?" + } + } + ] + } + } + }, + { + "ID": "3136", + "typeID": "__group__", + "zOrder": "106", + "measuredW": "144", + "measuredH": "47", + "w": "144", + "h": "47", + "x": "158", + "y": "962", + "properties": { + "controlName": "102-setting-up-x:forward-proxy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "108", + "measuredH": "25", + "x": "23", + "y": "11", + "properties": { + "text": "Forward Proxy", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3137", + "typeID": "__group__", + "zOrder": "107", + "measuredW": "161", + "measuredH": "46", + "w": "161", + "h": "46", + "x": "309", + "y": "964", + "properties": { + "controlName": "101-setting-up-x:caching-server" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "161", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "119", + "measuredH": "25", + "x": "21", + "y": "10", + "properties": { + "text": "Caching Server", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3138", + "typeID": "__group__", + "zOrder": "108", + "measuredW": "143", + "measuredH": "46", + "w": "143", + "h": "46", + "x": "159", + "y": "912", + "properties": { + "controlName": "100-setting-up-x:reverse-proxy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "143", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "111", + "measuredH": "25", + "x": "21", + "y": "10", + "properties": { + "text": "Reverse Proxy", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3139", + "typeID": "__group__", + "zOrder": "109", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "309", + "y": "1014", + "properties": { + "controlName": "103-setting-up-x:load-balancer" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "161", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "113", + "measuredH": "25", + "x": "26", + "y": "11", + "properties": { + "text": "Load Balancer", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3140", + "typeID": "__group__", + "zOrder": "110", + "measuredW": "144", + "measuredH": "47", + "w": "144", + "h": "47", + "x": "158", + "y": "1013", + "properties": { + "controlName": "104-setting-up-x:firewall" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "59", + "measuredH": "25", + "x": "55", + "y": "11", + "properties": { + "text": "Firewall", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3141", + "typeID": "__group__", + "zOrder": "111", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "923", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3142", + "typeID": "__group__", + "zOrder": "112", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "974", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3143", + "typeID": "__group__", + "zOrder": "113", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "1024", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3144", + "typeID": "__group__", + "zOrder": "114", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "975", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3145", + "typeID": "__group__", + "zOrder": "115", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "459", + "y": "1026", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3146", + "typeID": "__group__", + "zOrder": "116", + "measuredW": "167", + "measuredH": "47", + "w": "167", + "h": "47", + "x": "244", + "y": "1231", + "properties": { + "controlName": "106-containers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "167", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "85", + "measuredW": "85", + "measuredH": "25", + "x": "41", + "y": "11", + "properties": { + "text": "Containers", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3148", + "typeID": "__group__", + "zOrder": "118", + "measuredW": "178", + "measuredH": "47", + "w": "178", + "h": "47", + "x": "465", + "y": "1207", + "properties": { + "controlName": "100-containers:lxc" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "167", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "32", + "measuredH": "25", + "x": "68", + "y": "11", + "properties": { + "text": "LXC", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "154", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3151", + "typeID": "__group__", + "zOrder": "119", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "271", + "y": "1648", + "properties": { + "controlName": "103-infrastructure-provisioning:terraform" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "159", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "75", + "measuredW": "75", + "measuredH": "25", + "x": "42", + "y": "11", + "properties": { + "text": "Terraform", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3152", + "typeID": "__group__", + "zOrder": "120", + "measuredW": "158", + "measuredH": "47", + "w": "158", + "h": "47", + "x": "270", + "y": "1495", + "properties": { + "controlName": "100-infrastructure-provisioning:aws-cdk" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "158", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "76", + "measuredH": "25", + "x": "41", + "y": "11", + "properties": { + "size": "17", + "text": "AWS CDK" + } + } + ] + } + } + }, + { + "ID": "3153", + "typeID": "__group__", + "zOrder": "121", + "measuredW": "158", + "measuredH": "47", + "w": "158", + "h": "47", + "x": "271", + "y": "1597", + "properties": { + "controlName": "103-infrastructure-provisioning:pulumi" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "158", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "25", + "x": "53", + "y": "11", + "properties": { + "text": "Pulumi", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3154", + "typeID": "__group__", + "zOrder": "122", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "270", + "y": "1546", + "properties": { + "controlName": "102-infrastructure-provisioning:cloudformation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "159", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "123", + "measuredH": "25", + "x": "20", + "y": "11", + "properties": { + "size": "17", + "text": "CloudFormation" + } + } + ] + } + } + }, + { + "ID": "3155", + "typeID": "__group__", + "zOrder": "123", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1660", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3156", + "typeID": "__group__", + "zOrder": "124", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1506", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3157", + "typeID": "__group__", + "zOrder": "125", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1558", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3158", + "typeID": "__group__", + "zOrder": "126", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1610", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3159", + "typeID": "Arrow", + "zOrder": "127", + "w": "947", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "346", + "y": "2370", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.35062613569874657, + "y": 0 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 947.3333333333333, + "y": 0 + } + } + }, + { + "ID": "3160", + "typeID": "__group__", + "zOrder": "128", + "measuredW": "238", + "measuredH": "47", + "w": "238", + "h": "47", + "x": "1135", + "y": "2231", + "properties": { + "controlName": "114-infrastructure-monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "238", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "191", + "measuredH": "25", + "x": "23", + "y": "11", + "properties": { + "text": "Infrastructure Monitoring", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3161", + "typeID": "__group__", + "zOrder": "129", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "928", + "y": "2260", + "properties": { + "controlName": "102-infrastructure-monitoring:grafana" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "130", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "62", + "measuredH": "25", + "x": "33", + "y": "11", + "properties": { + "text": "Grafana", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "116", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3162", + "typeID": "__group__", + "zOrder": "130", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "783", + "y": "2259", + "properties": { + "controlName": "102-infrastructure-monitoring:datadog" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "130", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "25", + "x": "42", + "y": "11", + "properties": { + "text": "Datadog", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3163", + "typeID": "__group__", + "zOrder": "131", + "measuredW": "139", + "measuredH": "47", + "w": "139", + "h": "47", + "x": "783", + "y": "2208", + "properties": { + "controlName": "102-infrastructure-monitoring:zabbix" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "25", + "x": "49", + "y": "11", + "properties": { + "text": "Zabbix", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3164", + "typeID": "__group__", + "zOrder": "132", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "928", + "y": "2208", + "properties": { + "controlName": "100-infrastructure-monitoring:prometheus" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "130", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "93", + "measuredH": "25", + "x": "16", + "y": "11", + "properties": { + "text": "Prometheus", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "116", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3165", + "typeID": "__group__", + "zOrder": "133", + "measuredW": "235", + "measuredH": "49", + "w": "235", + "h": "49", + "x": "443", + "y": "2344", + "properties": { + "controlName": "115-application-monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "235", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "25", + "x": "32", + "y": "12", + "properties": { + "text": "Application Monitoring", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3166", + "typeID": "__group__", + "zOrder": "134", + "measuredW": "153", + "measuredH": "47", + "w": "153", + "h": "47", + "x": "405", + "y": "2155", + "properties": { + "controlName": "100-application-monitoring:jaeger" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "143", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "55", + "measuredH": "25", + "x": "58", + "y": "11", + "properties": { + "text": "Jaeger", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3167", + "typeID": "__group__", + "zOrder": "135", + "measuredW": "149", + "measuredH": "47", + "w": "149", + "h": "47", + "x": "565", + "y": "2155", + "properties": { + "controlName": "101-application-monitoring:new-relic" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "139", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "25", + "x": "23", + "y": "11", + "properties": { + "size": "17", + "text": "New Relic" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "125", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3168", + "typeID": "__group__", + "zOrder": "136", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "404", + "y": "2207", + "properties": { + "controlName": "102-monitoring:application-monitoring:app-dynamics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "143", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "25", + "x": "30", + "y": "11", + "properties": { + "text": "AppDynamics", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3169", + "typeID": "__group__", + "zOrder": "137", + "measuredW": "298", + "measuredH": "47", + "w": "298", + "h": "47", + "x": "406", + "y": "2259", + "properties": { + "controlName": "104-application-monitoring:open-telemetry" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "289", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "119", + "measuredH": "25", + "x": "94", + "y": "11", + "properties": { + "size": "17", + "text": "OpenTelemetry" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "8", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3170", + "typeID": "__group__", + "zOrder": "138", + "measuredW": "149", + "measuredH": "47", + "w": "149", + "h": "47", + "x": "565", + "y": "2207", + "properties": { + "controlName": "102-application-monitoring:datadog" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "139", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "25", + "x": "37", + "y": "11", + "properties": { + "size": "17", + "text": "Datadog" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "125", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3183", + "typeID": "__group__", + "zOrder": "142", + "measuredW": "304", + "measuredH": "49", + "w": "304", + "h": "49", + "x": "696", + "y": "1337", + "properties": { + "controlName": "107-cloud-providers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "304", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "122", + "measuredH": "25", + "x": "91", + "y": "12", + "properties": { + "size": "17", + "text": "Cloud Providers" + } + } + ] + } + } + }, + { + "ID": "3184", + "typeID": "__group__", + "zOrder": "143", + "measuredW": "152", + "measuredH": "46", + "w": "152", + "h": "46", + "x": "690", + "y": "1208", + "properties": { + "controlName": "100-cloud-providers:aws" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "36", + "measuredH": "25", + "x": "64", + "y": "10", + "properties": { + "text": "AWS", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3185", + "typeID": "__group__", + "zOrder": "144", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "849", + "y": "1207", + "properties": { + "controlName": "101-cloud-providers:google-cloud" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "25", + "x": "16", + "y": "11", + "properties": { + "text": "Google Cloud", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "137", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3186", + "typeID": "__group__", + "zOrder": "145", + "measuredW": "155", + "measuredH": "47", + "w": "155", + "h": "47", + "x": "689", + "y": "1258", + "properties": { + "controlName": "102-cloud-providers:azure" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "144", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "44", + "measuredH": "25", + "x": "64", + "y": "11", + "properties": { + "text": "Azure", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3187", + "typeID": "__group__", + "zOrder": "146", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "850", + "y": "1258", + "properties": { + "controlName": "104-cloud-providers:digital-ocean" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "25", + "x": "22", + "y": "11", + "properties": { + "text": "Digital Ocean", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "136", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3188", + "typeID": "__group__", + "zOrder": "147", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "685", + "y": "1465", + "properties": { + "controlName": "103-cloud-providers:heroku" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "58", + "y": "11", + "properties": { + "text": "Heroku", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3189", + "typeID": "__group__", + "zOrder": "148", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "851", + "y": "1413", + "properties": { + "controlName": "105-cloud-providers:linode" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "53", + "measuredH": "25", + "x": "48", + "y": "11", + "properties": { + "text": "Linode", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "136", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3190", + "typeID": "__group__", + "zOrder": "149", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "851", + "y": "1465", + "properties": { + "controlName": "106-cloud-providers:vultr" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "35", + "measuredH": "25", + "x": "57", + "y": "11", + "properties": { + "text": "Vultr", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "136", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3191", + "typeID": "__group__", + "zOrder": "150", + "measuredW": "160", + "measuredH": "46", + "w": "160", + "h": "46", + "x": "685", + "y": "1413", + "properties": { + "controlName": "104-cloud-providers:albaba-cloud" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "106", + "measuredH": "25", + "x": "35", + "y": "10", + "properties": { + "text": "Alibaba Cloud", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3192", + "typeID": "Arrow", + "zOrder": "151", + "w": "1", + "h": "411", + "measuredW": "150", + "measuredH": "100", + "x": "1297", + "y": "1356", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.060606060606005485 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 411.42424242424227 + } + } + }, + { + "ID": "3193", + "typeID": "Arrow", + "zOrder": "152", + "w": "102", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "472", + "y": "1908", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 101.78787878787875, + "y": 45.24242424242402 + }, + "p1": { + "x": 0.5588677785233922, + "y": -0.08999009399049802 + }, + "p2": { + "x": 0.27272727272725206, + "y": -0.21212121212124657 + } + } + }, + { + "ID": "3194", + "typeID": "Arrow", + "zOrder": "153", + "w": "103", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "471", + "y": "1841", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 102.78787878787875, + "y": 0.12121212121201097 + }, + "p1": { + "x": 0.46166514181152746, + "y": 0.08252516010978925 + }, + "p2": { + "x": -0.24242424242424931, + "y": 44.060606060606005 + } + } + }, + { + "ID": "3195", + "typeID": "Arrow", + "zOrder": "154", + "w": "109", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "467", + "y": "1896", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 108.34848484848499, + "y": 0.3030303030302548 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": -0.30303030303031164, + "y": 0.3030303030302548 + } + } + }, + { + "ID": "3196", + "typeID": "__group__", + "zOrder": "155", + "measuredW": "251", + "measuredH": "49", + "w": "251", + "h": "49", + "x": "236", + "y": "1872", + "properties": { + "controlName": "111-configuration-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "251", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "210", + "measuredH": "25", + "x": "21", + "y": "12", + "properties": { + "size": "17", + "text": "Configuration Management" + } + } + ] + } + } + }, + { + "ID": "3197", + "typeID": "__group__", + "zOrder": "156", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "562", + "y": "1823", + "properties": { + "controlName": "100-configuration-management:ansible" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "46", + "y": "11", + "properties": { + "text": "Ansible", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3198", + "typeID": "__group__", + "zOrder": "157", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "562", + "y": "1873", + "properties": { + "controlName": "101-configuration-management:chef" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "37", + "measuredH": "25", + "x": "56", + "y": "11", + "properties": { + "text": "Chef", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3199", + "typeID": "__group__", + "zOrder": "158", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "562", + "y": "1923", + "properties": { + "controlName": "102-configuration-management:puppet" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "47", + "y": "11", + "properties": { + "text": "Puppet", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3200", + "typeID": "__group__", + "zOrder": "159", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1835", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3201", + "typeID": "__group__", + "zOrder": "160", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1885", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3202", + "typeID": "__group__", + "zOrder": "161", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1934", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3203", + "typeID": "Arrow", + "zOrder": "162", + "w": "1008", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "343", + "y": "2546", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.43913392152268216, + "y": 0 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 1008.339748009606, + "y": 0 + } + } + }, + { + "ID": "3204", + "typeID": "__group__", + "zOrder": "163", + "measuredW": "210", + "measuredH": "49", + "w": "210", + "h": "49", + "x": "442", + "y": "2522", + "properties": { + "controlName": "116-logs-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "210", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "145", + "measuredH": "25", + "x": "32", + "y": "12", + "properties": { + "text": "Logs Management", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3205", + "typeID": "__group__", + "zOrder": "164", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "410", + "y": "2445", + "properties": { + "controlName": "100-logs-management:elastic-stack" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "25", + "x": "39", + "y": "11", + "properties": { + "text": "Elastic Stack", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3206", + "typeID": "__group__", + "zOrder": "165", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "410", + "y": "2612", + "properties": { + "controlName": "101-logs-management:graylog" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "12", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "59", + "measuredW": "59", + "measuredH": "25", + "x": "53", + "y": "11", + "properties": { + "text": "Graylog", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3207", + "typeID": "__group__", + "zOrder": "166", + "measuredW": "98", + "measuredH": "47", + "w": "98", + "h": "47", + "x": "575", + "y": "2612", + "properties": { + "controlName": "102-logs-management:splunk" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "86", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "52", + "measuredH": "25", + "x": "14", + "y": "11", + "properties": { + "text": "Splunk", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "74", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3208", + "typeID": "__group__", + "zOrder": "167", + "measuredW": "252", + "measuredH": "47", + "w": "252", + "h": "47", + "x": "410", + "y": "2663", + "properties": { + "controlName": "102-logs-management:papertrail" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "240", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "12", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "79", + "measuredW": "75", + "measuredH": "25", + "x": "92", + "y": "11", + "properties": { + "text": "Papertrail", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3209", + "typeID": "__group__", + "zOrder": "168", + "measuredW": "98", + "measuredH": "47", + "w": "98", + "h": "47", + "x": "574", + "y": "2445", + "properties": { + "controlName": "103-logs-management:loki" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "88", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "32", + "measuredH": "25", + "x": "28", + "y": "11", + "properties": { + "size": "17", + "text": "Loki" + } + }, + { + "ID": "3", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "74", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3210", + "typeID": "__group__", + "zOrder": "169", + "measuredW": "239", + "measuredH": "47", + "w": "239", + "h": "47", + "x": "754", + "y": "2523", + "properties": { + "controlName": "117-containers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "239", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "27", + "y": "11", + "properties": { + "text": "Container Orchestration", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3211", + "typeID": "__group__", + "zOrder": "170", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "769", + "y": "2610", + "properties": { + "controlName": "100-containers:docker-swarm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "111", + "measuredH": "25", + "x": "45", + "y": "10", + "properties": { + "text": "Docker Swarm", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "178", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3220", + "typeID": "Arrow", + "zOrder": "174", + "w": "1009", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "343", + "y": "2759", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.16288012565826193, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 1008.6363636363635, + "y": 0 + } + } + }, + { + "ID": "3221", + "typeID": "__group__", + "zOrder": "175", + "measuredW": "141", + "measuredH": "47", + "w": "141", + "h": "47", + "x": "1111", + "y": "2736", + "properties": { + "controlName": "119-gitops" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "44", + "y": "11", + "properties": { + "size": "17", + "text": "GitOps" + } + } + ] + } + } + }, + { + "ID": "3222", + "typeID": "__group__", + "zOrder": "176", + "measuredW": "207", + "measuredH": "47", + "w": "207", + "h": "47", + "x": "761", + "y": "2733", + "properties": { + "controlName": "120-service-mesh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "207", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "25", + "x": "51", + "y": "11", + "properties": { + "text": "Service Mesh", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3223", + "typeID": "__group__", + "zOrder": "177", + "measuredW": "110", + "measuredH": "47", + "w": "110", + "h": "47", + "x": "868", + "y": "2818", + "properties": { + "controlName": "101-service-mesh:consul" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "99", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "25", + "y": "11", + "properties": { + "text": "Consul", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "86", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3224", + "typeID": "__group__", + "zOrder": "178", + "measuredW": "107", + "measuredH": "47", + "w": "107", + "h": "47", + "x": "756", + "y": "2818", + "properties": { + "controlName": "100-service-mesh:istio" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "99", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "25", + "x": "40", + "y": "9", + "properties": { + "text": "Istio", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "10", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3225", + "typeID": "__group__", + "zOrder": "179", + "measuredW": "109", + "measuredH": "47", + "w": "109", + "h": "47", + "x": "868", + "y": "2870", + "properties": { + "controlName": "103-service-mesh:envoy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "99", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "47", + "measuredH": "25", + "x": "29", + "y": "11", + "properties": { + "text": "Envoy", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "85", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3226", + "typeID": "__group__", + "zOrder": "180", + "measuredW": "108", + "measuredH": "47", + "w": "108", + "h": "47", + "x": "755", + "y": "2869", + "properties": { + "controlName": "102-service-mesh:linkerd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "99", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "58", + "measuredH": "25", + "x": "32", + "y": "11", + "properties": { + "text": "Linkerd", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3227", + "typeID": "Arrow", + "zOrder": "181", + "w": "1", + "h": "315", + "measuredW": "150", + "measuredH": "100", + "x": "342", + "y": "2760", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0, + "y": 315.12848853367905 + } + } + }, + { + "ID": "3228", + "typeID": "Arrow", + "zOrder": "182", + "w": "572", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "342", + "y": "3075", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.09090909090912191, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 572.0387075579786, + "y": 0 + } + } + }, + { + "ID": "3229", + "typeID": "__group__", + "zOrder": "183", + "measuredW": "254", + "measuredH": "47", + "w": "254", + "h": "47", + "x": "419", + "y": "2737", + "properties": { + "controlName": "ext_link:bit.ly/cloud-arch-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "254", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "25", + "x": "42", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Design Patterns", + "color": "16777215" + } + } + ] + } + } + }, + { + "ID": "3230", + "typeID": "__group__", + "zOrder": "184", + "measuredW": "255", + "measuredH": "47", + "w": "255", + "h": "47", + "x": "419", + "y": "2819", + "properties": { + "controlName": "109-availability" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "255", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "80", + "measuredH": "25", + "x": "88", + "y": "11", + "properties": { + "text": "Availability", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3231", + "typeID": "__group__", + "zOrder": "185", + "measuredW": "254", + "measuredH": "47", + "w": "254", + "h": "47", + "x": "420", + "y": "2872", + "properties": { + "controlName": "110-data-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "254", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "144", + "measuredH": "25", + "x": "55", + "y": "11", + "properties": { + "text": "Data Management", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3232", + "typeID": "__group__", + "zOrder": "186", + "measuredW": "255", + "measuredH": "47", + "w": "255", + "h": "47", + "x": "419", + "y": "2924", + "properties": { + "controlName": "111-design-and-implementation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "255", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "212", + "measuredH": "25", + "x": "22", + "y": "11", + "properties": { + "text": "Design and Implementation", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3233", + "typeID": "__group__", + "zOrder": "187", + "measuredW": "255", + "measuredH": "47", + "w": "255", + "h": "47", + "x": "419", + "y": "2976", + "properties": { + "controlName": "112-management-and-monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "255", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "223", + "measuredH": "25", + "x": "16", + "y": "11", + "properties": { + "text": "Management and Monitoring", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3234", + "typeID": "__group__", + "zOrder": "188", + "measuredW": "316", + "measuredH": "49", + "w": "316", + "h": "49", + "x": "1065", + "y": "1337", + "properties": { + "controlName": "108-networking-protocols" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "__group__", + "zOrder": "0", + "measuredW": "316", + "measuredH": "49", + "w": "316", + "h": "49", + "x": "0", + "y": "0", + "properties": { + "controlName": "103-networking-protocols" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "316", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + } + ] + } + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "265", + "measuredH": "25", + "x": "25", + "y": "12", + "properties": { + "size": "17", + "text": "Networking, Security and Protocols" + } + } + ] + } + } + }, + { + "ID": "3235", + "typeID": "__group__", + "zOrder": "189", + "measuredW": "114", + "measuredH": "47", + "w": "114", + "h": "47", + "x": "1233", + "y": "1156", + "properties": { + "controlName": "101-networking-protocols:dns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "114", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "36", + "measuredH": "25", + "x": "22", + "y": "11", + "properties": { + "text": "DNS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3236", + "typeID": "__group__", + "zOrder": "190", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "1066", + "y": "1207", + "properties": { + "controlName": "102-networking-protocols:http" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "44", + "measuredH": "25", + "x": "63", + "y": "11", + "properties": { + "text": "HTTP", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3237", + "typeID": "__group__", + "zOrder": "191", + "measuredW": "124", + "measuredH": "47", + "w": "124", + "h": "47", + "x": "1233", + "y": "1207", + "properties": { + "controlName": "103-networking-protocols:https" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "116", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "19", + "y": "11", + "properties": { + "text": "HTTPS", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "100", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3238", + "typeID": "__group__", + "zOrder": "192", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "1066", + "y": "1156", + "properties": { + "controlName": "104-networking-protocols:ftp" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "89", + "measuredH": "25", + "x": "38", + "y": "11", + "properties": { + "size": "17", + "text": "FTP / SFTP" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3239", + "typeID": "__group__", + "zOrder": "193", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "1068", + "y": "1258", + "properties": { + "controlName": "105-networking-protocols:ssl-tls" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "77", + "measuredH": "25", + "x": "47", + "y": "11", + "properties": { + "text": "SSL / TLS", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3240", + "typeID": "__group__", + "zOrder": "194", + "measuredW": "127", + "measuredH": "47", + "w": "127", + "h": "47", + "x": "1233", + "y": "1258", + "properties": { + "controlName": "106-networking-protocols:ssh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "116", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "25", + "x": "39", + "y": "11", + "properties": { + "text": "SSH", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "103", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3241", + "typeID": "__group__", + "zOrder": "195", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1332", + "y": "1168", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3242", + "typeID": "__group__", + "zOrder": "196", + "measuredW": "166", + "measuredH": "47", + "w": "166", + "h": "47", + "x": "1051", + "y": "1465", + "properties": { + "controlName": "103-networking-protocols:emails" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "155", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "43", + "measuredH": "25", + "x": "67", + "y": "11", + "properties": { + "size": "17", + "text": "Email" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "10", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3243", + "typeID": "__group__", + "zOrder": "197", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "954", + "y": "1588", + "properties": { + "controlName": "101-networking-protocols:emails:smtp" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "46", + "measuredH": "25", + "x": "43", + "y": "11", + "properties": { + "text": "SMTP", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3244", + "typeID": "__group__", + "zOrder": "198", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "954", + "y": "1638", + "properties": { + "controlName": "102-networking-protocols:emails:imaps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "25", + "x": "40", + "y": "11", + "properties": { + "text": "IMAPS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3245", + "typeID": "__group__", + "zOrder": "199", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "954", + "y": "1689", + "properties": { + "controlName": "103-networking-protocols:emails:pop3s" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "39", + "y": "11", + "properties": { + "text": "POP3S", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3246", + "typeID": "__group__", + "zOrder": "200", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "1088", + "y": "1589", + "properties": { + "controlName": "104-networking-protocols:emails:dmarc" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "62", + "measuredH": "25", + "x": "37", + "y": "11", + "properties": { + "text": "DMARC", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3247", + "typeID": "__group__", + "zOrder": "201", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "1088", + "y": "1639", + "properties": { + "controlName": "105-networking-protocols:emails:spf" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "32", + "measuredH": "25", + "x": "50", + "y": "11", + "properties": { + "text": "SPF", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3248", + "typeID": "__group__", + "zOrder": "202", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "1088", + "y": "1690", + "properties": { + "controlName": "106-networking-protocols:emails:domain-keys" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "101", + "measuredH": "25", + "x": "19", + "y": "11", + "properties": { + "text": "Domain Keys", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3249", + "typeID": "__group__", + "zOrder": "203", + "measuredW": "264", + "measuredH": "47", + "w": "264", + "h": "47", + "x": "954", + "y": "1538", + "properties": { + "controlName": "100-networking-protocols:emails:white-grey-listing" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "264", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "142", + "measuredH": "25", + "x": "61", + "y": "11", + "properties": { + "text": "White/Grey Listing", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3250", + "typeID": "Arrow", + "zOrder": "204", + "w": "1032", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "265", + "y": "1770", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.30303030303031164, + "y": 0 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": 1031.2121212121212, + "y": 0 + } + } + }, + { + "ID": "3271", + "typeID": "__group__", + "zOrder": "212", + "measuredW": "253", + "measuredH": "49", + "w": "253", + "h": "49", + "x": "235", + "y": "1746", + "properties": { + "controlName": "110-infrastructure-provisioning" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "253", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "203", + "measuredH": "25", + "x": "23", + "y": "12", + "properties": { + "size": "17", + "text": "Infrastructure Provisioning" + } + } + ] + } + } + }, + { + "ID": "3272", + "typeID": "Arrow", + "zOrder": "213", + "w": "1027", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "344", + "y": "2024", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.30303030303031164, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 1026.9071308398989, + "y": 0 + } + } + }, + { + "ID": "3273", + "typeID": "Arrow", + "zOrder": "214", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "1320", + "y": "1946", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5010057587596869, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3274", + "typeID": "Arrow", + "zOrder": "215", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "1202", + "y": "1946", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5010057587596869, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3275", + "typeID": "__group__", + "zOrder": "216", + "measuredW": "237", + "measuredH": "47", + "w": "237", + "h": "47", + "x": "1137", + "y": "2001", + "properties": { + "controlName": "113-secret-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "237", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "158", + "measuredH": "25", + "x": "40", + "y": "11", + "properties": { + "size": "17", + "text": "Secret Management" + } + } + ] + } + } + }, + { + "ID": "3276", + "typeID": "__group__", + "zOrder": "217", + "measuredW": "133", + "measuredH": "47", + "w": "133", + "h": "47", + "x": "1128", + "y": "1924", + "properties": { + "controlName": "100-secret-management:vault" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "124", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "25", + "x": "50", + "y": "11", + "properties": { + "size": "17", + "text": "Vault" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3277", + "typeID": "__group__", + "zOrder": "218", + "measuredW": "240", + "measuredH": "47", + "w": "240", + "h": "47", + "x": "1135", + "y": "1822", + "properties": { + "controlName": "102-secret-management:sealed-secrets" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "240", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "117", + "measuredH": "25", + "x": "62", + "y": "11", + "properties": { + "size": "17", + "text": "Sealed Secrets" + } + } + ] + } + } + }, + { + "ID": "3278", + "typeID": "__group__", + "zOrder": "219", + "measuredW": "122", + "measuredH": "47", + "w": "122", + "h": "47", + "x": "1266", + "y": "1924", + "properties": { + "controlName": "101-secret-management:sops" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "110", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "25", + "x": "32", + "y": "11", + "properties": { + "size": "17", + "text": "SOPS" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "98", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3279", + "typeID": "__group__", + "zOrder": "220", + "measuredW": "242", + "measuredH": "47", + "w": "242", + "h": "47", + "x": "1135", + "y": "1873", + "properties": { + "controlName": "103-secret-management:cloud-specific-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "242", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "154", + "measuredH": "25", + "x": "44", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Specific Tools" + } + } + ] + } + } + }, + { + "ID": "3280", + "typeID": "__group__", + "zOrder": "221", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1361", + "y": "1834", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3281", + "typeID": "__group__", + "zOrder": "222", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1362", + "y": "1885", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3282", + "typeID": "Arrow", + "zOrder": "223", + "w": "1", + "h": "172", + "measuredW": "150", + "measuredH": "100", + "x": "1001", + "y": "1929", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.10981084062700575 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": 0, + "y": 172.07603692056045 + } + } + }, + { + "ID": "3283", + "typeID": "Arrow", + "zOrder": "224", + "w": "1", + "h": "171", + "measuredW": "150", + "measuredH": "100", + "x": "870", + "y": "1929", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.10981084062700575 + }, + "p1": { + "x": 0.4995667752987326, + "y": 0 + }, + "p2": { + "x": 0, + "y": 170.6390207091033 + } + } + }, + { + "ID": "3284", + "typeID": "__group__", + "zOrder": "225", + "measuredW": "260", + "measuredH": "49", + "w": "260", + "h": "49", + "x": "798", + "y": "2000", + "properties": { + "controlName": "112-ci-cd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "260", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "182", + "measuredH": "25", + "x": "39", + "y": "12", + "properties": { + "size": "17", + "text": "Learn some CI/CD Tool" + } + } + ] + } + } + }, + { + "ID": "3285", + "typeID": "__group__", + "zOrder": "226", + "measuredW": "121", + "measuredH": "46", + "w": "121", + "h": "46", + "x": "953", + "y": "1824", + "properties": { + "controlName": "101-ci-cd:jenkins" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "59", + "measuredH": "25", + "x": "26", + "y": "10", + "properties": { + "text": "Jenkins", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "97", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3286", + "typeID": "__group__", + "zOrder": "227", + "measuredW": "163", + "measuredH": "46", + "w": "163", + "h": "46", + "x": "785", + "y": "1824", + "properties": { + "controlName": "100-ci-cd:gitlab-ci" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "153", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "67", + "measuredH": "25", + "x": "53", + "y": "10", + "properties": { + "text": "Gitlab CI", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3287", + "typeID": "__group__", + "zOrder": "228", + "measuredW": "122", + "measuredH": "46", + "w": "122", + "h": "46", + "x": "953", + "y": "1873", + "properties": { + "controlName": "103-ci-cd:travis-ci" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "68", + "measuredH": "25", + "x": "20", + "y": "10", + "properties": { + "text": "Travis CI", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "98", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3288", + "typeID": "__group__", + "zOrder": "229", + "measuredW": "163", + "measuredH": "46", + "w": "163", + "h": "46", + "x": "785", + "y": "1873", + "properties": { + "controlName": "102-ci-cd:github-actions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "114", + "measuredH": "25", + "x": "30", + "y": "10", + "properties": { + "text": "GitHub Actions", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3289", + "typeID": "__group__", + "zOrder": "230", + "measuredW": "276", + "measuredH": "47", + "w": "276", + "h": "47", + "x": "796", + "y": "2077", + "properties": { + "controlName": "105-ci-cd:teamcity" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "267", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "72", + "measuredH": "25", + "x": "98", + "y": "11", + "properties": { + "text": "TeamCity", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "252", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3290", + "typeID": "__group__", + "zOrder": "231", + "measuredW": "163", + "measuredH": "47", + "w": "163", + "h": "47", + "x": "785", + "y": "1923", + "properties": { + "controlName": "107-ci-cd:circle-ci" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "67", + "measuredH": "25", + "x": "53", + "y": "11", + "properties": { + "text": "Circle CI", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3291", + "typeID": "__group__", + "zOrder": "232", + "measuredW": "123", + "measuredH": "47", + "w": "123", + "h": "47", + "x": "953", + "y": "1923", + "properties": { + "controlName": "108-ci-cd:drone" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "112", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "32", + "y": "11", + "properties": { + "size": "17", + "text": "Drone" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "99", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3292", + "typeID": "__group__", + "zOrder": "233", + "measuredW": "279", + "measuredH": "47", + "w": "279", + "h": "47", + "x": "795", + "y": "2139", + "properties": { + "controlName": "106-ci-cd:azure-devops-services" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "269", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "181", + "measuredH": "25", + "x": "49", + "y": "11", + "properties": { + "text": "Azure DevOps Services", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "255", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3295", + "typeID": "Arrow", + "zOrder": "235", + "w": "1", + "h": "94", + "measuredW": "150", + "measuredH": "100", + "x": "913", + "y": "3076", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 93.99315759031742 + } + } + }, + { + "ID": "3296", + "typeID": "Label", + "zOrder": "236", + "measuredW": "187", + "measuredH": "36", + "x": "825", + "y": "3187", + "properties": { + "size": "28", + "text": "Keep Learning" + } + }, + { + "ID": "3297", + "typeID": "Arrow", + "zOrder": "237", + "w": "1", + "h": "73", + "measuredW": "150", + "measuredH": "100", + "x": "913", + "y": "3244", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0, + "y": 73.58743309002512 + }, + "stroke": "dotted" + } + }, + { + "ID": "3299", + "typeID": "Arrow", + "zOrder": "238", + "w": "496", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "811", + "y": "506", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 495.530303030303, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": -0.42424242424249314 + } + } + }, + { + "ID": "3300", + "typeID": "Arrow", + "zOrder": "9", + "w": "1", + "h": "616", + "measuredW": "150", + "measuredH": "100", + "x": "1308", + "y": "508", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0, + "y": 616.2424242424242 + } + } + }, + { + "ID": "3301", + "typeID": "Arrow", + "zOrder": "8", + "w": "1", + "h": "67", + "measuredW": "150", + "measuredH": "100", + "x": "1118", + "y": "807", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": -0.17226529262484291, + "y": 0.12121212121212466 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": -0.17226529262484291, + "y": 67.5 + } + } + }, + { + "ID": "3303", + "typeID": "Arrow", + "zOrder": "242", + "w": "979", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "329", + "y": "1125", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 978.5454545454545, + "y": -0.3574432865241306 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": -0.21212121212124657, + "y": -0.3574432865241306 + } + } + }, + { + "ID": "3306", + "typeID": "Label", + "zOrder": "245", + "measuredW": "98", + "measuredH": "25", + "x": "343", + "y": "922", + "properties": { + "size": "17", + "text": "Web Servers" + } + }, + { + "ID": "3307", + "typeID": "__group__", + "zOrder": "246", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "856", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3308", + "typeID": "__group__", + "zOrder": "247", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "809", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3309", + "typeID": "Arrow", + "zOrder": "7", + "w": "1", + "h": "92", + "measuredW": "150", + "measuredH": "100", + "x": "219", + "y": "1032", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.030303030303002743 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 92.24242424242425 + } + } + }, + { + "ID": "3310", + "typeID": "Arrow", + "zOrder": "6", + "w": "1", + "h": "98", + "measuredW": "150", + "measuredH": "100", + "x": "383", + "y": "1026", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.030303030303002743 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 97.5454545454545 + } + } + }, + { + "ID": "3311", + "typeID": "Arrow", + "zOrder": "5", + "w": "80", + "h": "28", + "measuredW": "150", + "measuredH": "100", + "x": "395", + "y": "1262", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 80, + "y": 28 + }, + "p1": { + "x": 0.39237507110558384, + "y": -0.1516838766281981 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "3312", + "typeID": "Arrow", + "zOrder": "4", + "w": "1", + "h": "78", + "measuredW": "150", + "measuredH": "100", + "x": "1296", + "y": "1278", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3313", + "typeID": "Arrow", + "zOrder": "3", + "w": "1", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "1158", + "y": "1492", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 74.66666666666652 + } + } + }, + { + "ID": "3314", + "typeID": "Icon", + "zOrder": "248", + "measuredW": "24", + "measuredH": "24", + "x": "843", + "y": "620", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3315", + "typeID": "Icon", + "zOrder": "249", + "measuredW": "24", + "measuredH": "24", + "x": "843", + "y": "620", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3316", + "typeID": "Icon", + "zOrder": "250", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3317", + "typeID": "Icon", + "zOrder": "251", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3318", + "typeID": "Icon", + "zOrder": "252", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3319", + "typeID": "__group__", + "zOrder": "253", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "842", + "y": "707", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3320", + "typeID": "Arrow", + "zOrder": "2", + "w": "1", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "953", + "y": "522", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5020600744284955, + "y": -0.0018326094960089672 + }, + "p2": { + "x": 0, + "y": 47 + } + } + }, + { + "ID": "3618", + "typeID": "Label", + "zOrder": "254", + "measuredW": "55", + "measuredH": "25", + "x": "631", + "y": "787", + "properties": { + "size": "17", + "text": "Editors" + } + }, + { + "ID": "3620", + "typeID": "Arrow", + "zOrder": "1", + "w": "236", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "911", + "y": "799", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 236.530303030303, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4393939393939945, + "y": -0.42424242424249314 + }, + "stroke": "dotted" + } + }, + { + "ID": "3621", + "typeID": "Arrow", + "zOrder": "255", + "w": "114", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "701", + "y": "799", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 114.07575757575762, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0.0454545454546178, + "y": -0.42424242424249314 + } + } + }, + { + "ID": "3622", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "708", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3623", + "typeID": "__group__", + "zOrder": "258", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "759", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3624", + "typeID": "Arrow", + "zOrder": "0", + "w": "1", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "391", + "y": "870", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.09090909090912191 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 45.545454545454504 + } + } + }, + { + "ID": "3625", + "typeID": "Canvas", + "zOrder": "259", + "w": "420", + "h": "151", + "measuredW": "100", + "measuredH": "70", + "x": "161", + "y": "456" + }, + { + "ID": "3626", + "typeID": "__group__", + "zOrder": "260", + "measuredW": "374", + "measuredH": "47", + "w": "374", + "h": "47", + "x": "181", + "y": "545", + "properties": { + "controlName": "json:devops-beginner.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "374", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "210", + "measuredH": "26", + "x": "82", + "y": "11", + "properties": { + "color": "16777215", + "size": "18", + "text": "Visit the Beginner Version" + } + } + ] + } + } + }, + { + "ID": "3627", + "typeID": "Label", + "zOrder": "261", + "measuredW": "385", + "measuredH": "26", + "x": "181", + "y": "479", + "properties": { + "color": "4985136", + "size": "18", + "text": "If you are just getting started, visit the simplified" + } + }, + { + "ID": "3628", + "typeID": "Label", + "zOrder": "262", + "measuredW": "305", + "measuredH": "26", + "x": "181", + "y": "509", + "properties": { + "color": "4985136", + "size": "18", + "text": "version listing learning tips and ideas." + } + }, + { + "ID": "3637", + "typeID": "Icon", + "zOrder": "84", + "measuredW": "24", + "measuredH": "24", + "x": "1230", + "y": "918", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3638", + "typeID": "Icon", + "zOrder": "85", + "measuredW": "24", + "measuredH": "24", + "x": "1230", + "y": "918", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3641", + "typeID": "Icon", + "zOrder": "87", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "971", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3642", + "typeID": "Icon", + "zOrder": "88", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "971", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3645", + "typeID": "Icon", + "zOrder": "90", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "1022", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3646", + "typeID": "Icon", + "zOrder": "91", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "1022", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3647", + "typeID": "__group__", + "zOrder": "81", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "853", + "properties": { + "controlName": "103-live-in-terminal:process-monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "233", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "149", + "measuredH": "25", + "x": "42", + "y": "11", + "properties": { + "size": "17", + "text": "Process Monitoring" + } + } + ] + } + } + }, + { + "ID": "3648", + "typeID": "__group__", + "zOrder": "83", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "906", + "properties": { + "controlName": "104-live-in-terminal:performance-monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "233", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "26", + "y": "11", + "properties": { + "size": "17", + "text": "Performance Monitoring" + } + } + ] + } + } + }, + { + "ID": "3649", + "typeID": "__group__", + "zOrder": "86", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "959", + "properties": { + "controlName": "105-live-in-terminal:networking-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "233", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "131", + "measuredH": "25", + "x": "51", + "y": "11", + "properties": { + "size": "17", + "text": "Networking Tools" + } + } + ] + } + } + }, + { + "ID": "3650", + "typeID": "__group__", + "zOrder": "89", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "1011", + "properties": { + "controlName": "106-live-in-terminal:text-manipulation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "233", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "135", + "measuredH": "25", + "x": "49", + "y": "11", + "properties": { + "size": "17", + "text": "Text Manipulation" + } + } + ] + } + } + }, + { + "ID": "3657", + "typeID": "__group__", + "zOrder": "92", + "measuredW": "83", + "measuredH": "47", + "w": "83", + "h": "47", + "x": "741", + "y": "1012", + "properties": { + "controlName": "100-version-control-systems:git" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "70", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "13", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "22", + "measuredH": "25", + "x": "37", + "y": "11", + "properties": { + "size": "17", + "text": "Git" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3662", + "typeID": "__group__", + "zOrder": "244", + "measuredW": "168", + "measuredH": "50", + "w": "168", + "h": "50", + "x": "536", + "y": "1099", + "properties": { + "controlName": "104-vcs-hosting" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "168", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "97", + "measuredH": "25", + "x": "35", + "y": "13", + "properties": { + "size": "17", + "text": "VCS Hosting" + } + } + ] + } + } + }, + { + "ID": "3669", + "typeID": "Icon", + "zOrder": "95", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "973", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3670", + "typeID": "Icon", + "zOrder": "96", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "973", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + }, + { + "ID": "3671", + "typeID": "__group__", + "zOrder": "93", + "measuredW": "108", + "measuredH": "47", + "w": "108", + "h": "47", + "x": "567", + "y": "910", + "properties": { + "controlName": "100-vcs-hosting:github" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "108", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "27", + "y": "11", + "properties": { + "size": "17", + "text": "GitHub" + } + } + ] + } + } + }, + { + "ID": "3674", + "typeID": "__group__", + "zOrder": "94", + "measuredW": "112", + "measuredH": "47", + "w": "112", + "h": "47", + "x": "565", + "y": "961", + "properties": { + "controlName": "101-vcs-hosting:gitlab" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "112", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "51", + "measuredH": "25", + "x": "30", + "y": "11", + "properties": { + "size": "17", + "text": "GitLab" + } + } + ] + } + } + }, + { + "ID": "3675", + "typeID": "__group__", + "zOrder": "97", + "measuredW": "112", + "measuredH": "47", + "w": "112", + "h": "47", + "x": "565", + "y": "1012", + "properties": { + "controlName": "102-vcs-hosting:bitbucket" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "112", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "73", + "measuredH": "25", + "x": "21", + "y": "11", + "properties": { + "size": "17", + "text": "Bitbucket" + } + } + ] + } + } + }, + { + "ID": "3683", + "typeID": "__group__", + "zOrder": "117", + "measuredW": "179", + "measuredH": "47", + "w": "179", + "h": "47", + "x": "466", + "y": "1259", + "properties": { + "controlName": "ext_link:roadmap.sh/docker" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "167", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "56", + "y": "11", + "properties": { + "text": "Docker", + "size": "17", + "color": "16777215" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "155", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "155", + "y": "11", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "4273622" + } + } + ] + } + } + }, + { + "ID": "3684", + "typeID": "__group__", + "zOrder": "205", + "measuredW": "226", + "measuredH": "47", + "w": "226", + "h": "47", + "x": "561", + "y": "1747", + "properties": { + "controlName": "109-serverless" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "226", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "82", + "measuredH": "25", + "x": "72", + "y": "11", + "properties": { + "text": "Serverless", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3685", + "typeID": "__group__", + "zOrder": "206", + "measuredW": "179", + "measuredH": "47", + "w": "179", + "h": "47", + "x": "506", + "y": "1567", + "properties": { + "controlName": "100-serverless:cloudflare" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "168", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "79", + "measuredH": "25", + "x": "55", + "y": "11", + "properties": { + "size": "17", + "text": "Cloudflare" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3686", + "typeID": "__group__", + "zOrder": "207", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "689", + "y": "1567", + "properties": { + "controlName": "101-serverless:aws-lambda" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "102", + "measuredH": "25", + "x": "19", + "y": "11", + "properties": { + "size": "17", + "text": "AWS Lambda" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "135", + "y": "13", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3687", + "typeID": "__group__", + "zOrder": "208", + "measuredW": "179", + "measuredH": "47", + "w": "179", + "h": "47", + "x": "506", + "y": "1617", + "properties": { + "controlName": "102-serverless:azure-functions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "168", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "124", + "measuredH": "25", + "x": "33", + "y": "11", + "properties": { + "size": "17", + "text": "Azure Functions" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3688", + "typeID": "__group__", + "zOrder": "209", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "689", + "y": "1617", + "properties": { + "controlName": "103-serverless:gcp-functions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "116", + "measuredH": "25", + "x": "13", + "y": "11", + "properties": { + "size": "17", + "text": "GCP Functions" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "135", + "y": "13", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3689", + "typeID": "__group__", + "zOrder": "210", + "measuredW": "179", + "measuredH": "47", + "w": "179", + "h": "47", + "x": "506", + "y": "1667", + "properties": { + "controlName": "104-serverless:vercel" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "168", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "72", + "y": "11", + "properties": { + "size": "17", + "text": "Vercel" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3690", + "typeID": "__group__", + "zOrder": "211", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "689", + "y": "1667", + "properties": { + "controlName": "105-serverless:netlify" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "25", + "x": "51", + "y": "10", + "properties": { + "size": "17", + "text": "Netlify" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "137", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3691", + "typeID": "__group__", + "zOrder": "171", + "measuredW": "200", + "measuredH": "47", + "w": "200", + "h": "47", + "x": "770", + "y": "2660", + "properties": { + "controlName": "ext_link:roadmap.sh/kubernetes" + }, + "children": { + "controls": { + "control": [ + { + "ID": "1", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "176", + "y": "12", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "4273622" + } + } + ] + } + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "0", + "w": "192", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "25", + "x": "51", + "y": "11", + "properties": { + "size": "17", + "color": "16777215", + "text": "Kubernetes" + } + } + ] + } + } + }, + { + "ID": "3692", + "typeID": "__group__", + "zOrder": "172", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "773", + "y": "2396", + "properties": { + "controlName": "101-containers:gke-eks-aks" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "133", + "measuredH": "25", + "x": "30", + "y": "10", + "properties": { + "size": "17", + "text": "GKE / EKS / AKS" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "178", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3693", + "typeID": "__group__", + "zOrder": "173", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "773", + "y": "2446", + "properties": { + "controlName": "102-containers:ecs-fargate" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "150", + "measuredH": "25", + "x": "16", + "y": "10", + "properties": { + "size": "17", + "text": "AWS ECS / Fargate" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "178", + "y": "11", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3694", + "typeID": "__group__", + "zOrder": "234", + "measuredW": "235", + "measuredH": "47", + "w": "235", + "h": "47", + "x": "1070", + "y": "2524", + "properties": { + "controlName": "118-artifcats" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "235", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "162", + "measuredH": "25", + "x": "37", + "y": "11", + "properties": { + "size": "17", + "text": "Artifact Management" + } + } + ] + } + } + }, + { + "ID": "3695", + "typeID": "__group__", + "zOrder": "139", + "measuredW": "126", + "measuredH": "47", + "w": "126", + "h": "47", + "x": "1060", + "y": "2398", + "properties": { + "controlName": "100-artifcats:artifactory" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "116", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "79", + "measuredH": "25", + "x": "28", + "y": "11", + "properties": { + "size": "17", + "text": "Artifactory" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "11", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3696", + "typeID": "__group__", + "zOrder": "140", + "measuredW": "102", + "measuredH": "47", + "w": "102", + "h": "47", + "x": "1192", + "y": "2398", + "properties": { + "controlName": "101-artifcats:nexus" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "90", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "25", + "x": "18", + "y": "11", + "properties": { + "size": "17", + "text": "Nexus" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "78", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "78", + "y": "11", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3697", + "typeID": "__group__", + "zOrder": "141", + "measuredW": "222", + "measuredH": "47", + "w": "222", + "h": "47", + "x": "1071", + "y": "2450", + "properties": { + "controlName": "102-artifcats:cloud-smith" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "213", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "92", + "measuredH": "25", + "x": "54", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Smith" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "198", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "198", + "y": "12", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] + }, + "attributes": { + "name": "New Wireframe 9 copy 9", + "order": 1000122.1496095511, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "79F28487-0686-45F5-AAE9-1EB0FBE95283", + "mockupH": "3273", + "mockupW": "1241", + "measuredW": "1388", + "measuredH": "3317", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" +} diff --git a/src/data/roadmaps/devops/devops.md b/src/data/roadmaps/devops/devops.md index f3213011e..9c7dce18d 100644 --- a/src/data/roadmaps/devops/devops.md +++ b/src/data/roadmaps/devops/devops.md @@ -16,7 +16,7 @@ schema: description: 'Learn to become a DevOps, SRE or get any other operations role with this interactive step by step guide in 2023. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.' imageUrl: 'https://roadmap.sh/roadmaps/devops.png' datePublished: '2023-01-05' - dateModified: '2023-01-20' + dateModified: '2023-06-10' seo: title: 'DevOps Roadmap: Learn to become a DevOps Engineer or SRE' description: 'Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.' diff --git a/src/data/roadmaps/flutter/content/102-widgets/103-inherited-widgets.md b/src/data/roadmaps/flutter/content/102-widgets/103-inherited-widgets.md index 719f5f88e..34b997147 100644 --- a/src/data/roadmaps/flutter/content/102-widgets/103-inherited-widgets.md +++ b/src/data/roadmaps/flutter/content/102-widgets/103-inherited-widgets.md @@ -1 +1,3 @@ # Inherited Widgets + +- [InheritedWidget Official Guide](https://api.flutter.dev/flutter/widgets/inheritedwidget-class.html) \ No newline at end of file diff --git a/src/data/roadmaps/flutter/content/106-design-principles/101-design-patterns.md b/src/data/roadmaps/flutter/content/106-design-principles/101-design-patterns.md index fb1d2d282..5aeb5f446 100644 --- a/src/data/roadmaps/flutter/content/106-design-principles/101-design-patterns.md +++ b/src/data/roadmaps/flutter/content/106-design-principles/101-design-patterns.md @@ -18,3 +18,4 @@ Learn more from the following links: - [Flutter - Design](https://dart.dev/guides/language/effective-dart/design) - [Design Patterns Explained in 10 Minutes](https://www.youtube.com/watch?v=tv-_1er1mWI) - [Cookbook Designs in Flutter](https://docs.flutter.dev/cookbook/design) +- [Flutter Design Patterns](https://www.youtube.com/watch?v=sk5hwzfndqs&list=pllzmawv2ytgb-1ldoo-9vctgre-1dywkp&index=1) \ No newline at end of file diff --git a/src/data/roadmaps/flutter/content/106-design-principles/102-solid-principles.md b/src/data/roadmaps/flutter/content/106-design-principles/102-solid-principles.md index d943a1369..20c649a45 100644 --- a/src/data/roadmaps/flutter/content/106-design-principles/102-solid-principles.md +++ b/src/data/roadmaps/flutter/content/106-design-principles/102-solid-principles.md @@ -4,3 +4,4 @@ Learn more from the following links: - [S.O.L.I.D Principles](https://www.youtube.com/watch?v=fvNTJang7l4) - [Overview of S.O.L.I.D Principles In Dart](https://medium.flutterdevs.com/s-o-l-i-d-principles-in-dart-e6c0c8d1f8f1) +- [The S.O.L.I.D Principles in Pictures](https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898) \ No newline at end of file diff --git a/src/data/roadmaps/frontend/content/102-css/102-responsive-design-and-media-queries.md b/src/data/roadmaps/frontend/content/102-css/102-responsive-design-and-media-queries.md index 8c944b15d..5e5895f17 100644 --- a/src/data/roadmaps/frontend/content/102-css/102-responsive-design-and-media-queries.md +++ b/src/data/roadmaps/frontend/content/102-css/102-responsive-design-and-media-queries.md @@ -10,3 +10,4 @@ Visit the following resources to learn more: - [The guide to responsive web design in 2022](https://webflow.com/blog/responsive-web-design) - [5 simple tips to making responsive layouts the easy way](https://www.youtube.com/watch?v=VQraviuwbzU) - [Introduction To Responsive Web Design](https://www.youtube.com/watch?v=srvUrASNj0s) +- [Useful & Responsive Layouts, no Media Queries required](https://youtu.be/p3_xn2zp1ty) \ No newline at end of file diff --git a/src/data/roadmaps/frontend/frontend-beginner.json b/src/data/roadmaps/frontend/frontend-beginner.json index 0cd4d5d63..7b3666c32 100644 --- a/src/data/roadmaps/frontend/frontend-beginner.json +++ b/src/data/roadmaps/frontend/frontend-beginner.json @@ -1675,7 +1675,7 @@ "x": "574", "y": "1640", "properties": { - "controlName": "json:jsons/roadmaps/frontend.json" + "controlName": "json:frontend.json" }, "children": { "controls": { diff --git a/src/data/roadmaps/golang/content/100-go-basics/116-structs.md b/src/data/roadmaps/golang/content/100-go-basics/116-structs.md index 88a3fcef1..36ef870ec 100644 --- a/src/data/roadmaps/golang/content/100-go-basics/116-structs.md +++ b/src/data/roadmaps/golang/content/100-go-basics/116-structs.md @@ -7,3 +7,4 @@ Visit the following resources to learn more: - [Go Structs](https://go.dev/tour/moretypes/2) - [Go by Example: Structs](https://gobyexample.com/structs) - [Structs in Go](https://www.youtube.com/watch?v=NMTN543WVQY) +- [Structs, Struct tags](https://www.youtube.com/watch?v=0m6ifd9n_cy&list=ploilbko9rg3skrcj37kn5zj803hhiurk6&index=13) \ No newline at end of file diff --git a/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md b/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md index bfe577c7c..f7d50066b 100644 --- a/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md +++ b/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Java Memory Management](https://www.geeksforgeeks.org/java-memory-management/) - [Memory Management in Java](https://www.javatpoint.com/memory-management-in-java) +- [Memory Management Tutorial in Java](https://www.youtube.com/watch?v=fm8yj93x80s) \ No newline at end of file diff --git a/src/data/roadmaps/java/content/101-java-advanced-topics/107-garbage-collection.md b/src/data/roadmaps/java/content/101-java-advanced-topics/107-garbage-collection.md index 0cecab79f..a557e6415 100644 --- a/src/data/roadmaps/java/content/101-java-advanced-topics/107-garbage-collection.md +++ b/src/data/roadmaps/java/content/101-java-advanced-topics/107-garbage-collection.md @@ -7,3 +7,4 @@ Visit the following resources to learn more: - [Java Garbage Collection](https://stackify.com/what-is-java-garbage-collection/) - [Garbage Collection in Java](https://www.geeksforgeeks.org/garbage-collection-java/) - [Java Garbage Collection](https://www.javatpoint.com/Garbage-Collection) +- [Garbage Collection in Java - Geekific](https://www.youtube.com/watch?v=xxoacv5xm9s) \ No newline at end of file diff --git a/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/100-throw-statement.md b/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/100-throw-statement.md index 7cfa0f1b7..d980b4600 100644 --- a/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/100-throw-statement.md +++ b/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/100-throw-statement.md @@ -3,3 +3,6 @@ The throw statement throws a user-defined exception. Execution of the current function will stop (the statements after throw won't be executed), and control will be passed to the first catch block in the call stack. If no catch block exists among caller functions, the program will terminate. (excerpt from MDN) Visit the following resources to learn more: + +- [throw statement - w3schools](https://www.w3schools.com/jsref/jsref_throw.asp) +- [JavaScript MDN Docs](https://developer.mozilla.org/en-us/docs/web/javascript/reference/statements/throw) \ No newline at end of file diff --git a/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/index.md b/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/index.md index acaca96cc..439ccbb1c 100644 --- a/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/index.md +++ b/src/data/roadmaps/javascript/content/107-javascript-control-flow/100-exception-handling/index.md @@ -5,3 +5,4 @@ In JavaScript, all exceptions are simply objects. While the majority of exceptio Visit the following resources to learn more: - [Throwing Exceptions in JavaScript](https://rollbar.com/guides/javascript/how-to-throw-exceptions-in-javascript) +- [try, catch, finally, throw (video)](https://youtu.be/cftftueq-10) \ No newline at end of file diff --git a/src/data/roadmaps/kubernetes/content/103-running-applications/102-deployments.md b/src/data/roadmaps/kubernetes/content/103-running-applications/102-deployments.md index 0c8ab3a0c..8178c590b 100644 --- a/src/data/roadmaps/kubernetes/content/103-running-applications/102-deployments.md +++ b/src/data/roadmaps/kubernetes/content/103-running-applications/102-deployments.md @@ -1 +1,3 @@ # Deployments + +- [Deployments Documentation](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) \ No newline at end of file diff --git a/src/data/roadmaps/mongodb/content/101-datatypes/110-date.md b/src/data/roadmaps/mongodb/content/101-datatypes/110-date.md index 1d61f544c..ee2a3a7d9 100644 --- a/src/data/roadmaps/mongodb/content/101-datatypes/110-date.md +++ b/src/data/roadmaps/mongodb/content/101-datatypes/110-date.md @@ -64,3 +64,5 @@ db.events.aggregate([ ``` This query groups events by the day and year, providing a count of events for each day. + +- [MongoDB Documentation Date](https://www.mongodb.com/docs/manual/reference/method/date/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/101-introduction/100-what-are-relational-databases.md b/src/data/roadmaps/postgresql-dba/content/101-introduction/100-what-are-relational-databases.md index 69f91c0f9..ed7ce251b 100644 --- a/src/data/roadmaps/postgresql-dba/content/101-introduction/100-what-are-relational-databases.md +++ b/src/data/roadmaps/postgresql-dba/content/101-introduction/100-what-are-relational-databases.md @@ -27,4 +27,6 @@ Relational databases offer several advantages in terms of efficiency, flexibilit - **Scalability**: Relational databases can handle large amounts of structured data and can be scaled to accommodate growing data requirements. - **Querying**: The SQL (Structured Query Language) is used for querying, updating, and managing relational databases, providing a powerful and standardized way to access and manipulate the data. -In summary, relational databases are a powerful and versatile tool for storing and managing structured data. Their ability to represent relationships among data and to ensure data integrity make them the backbone of many applications and services. \ No newline at end of file +In summary, relational databases are a powerful and versatile tool for storing and managing structured data. Their ability to represent relationships among data and to ensure data integrity make them the backbone of many applications and services. + +- [Relational Databases: concept and history](https://www.ibm.com/topics/relational-databases) \ No newline at end of file diff --git a/src/data/roadmaps/python/content/100-python-basics/101-variables-and-datatypes.md b/src/data/roadmaps/python/content/100-python-basics/101-variables-and-datatypes.md index d478003c9..18c8ce1c8 100644 --- a/src/data/roadmaps/python/content/100-python-basics/101-variables-and-datatypes.md +++ b/src/data/roadmaps/python/content/100-python-basics/101-variables-and-datatypes.md @@ -10,3 +10,4 @@ Visit the following resources to learn more: - [Python Data Types](https://www.w3schools.com/python/python_datatypes.asp) - [Basic Data Types in Python](https://realpython.com/python-data-types/) - [Python for Beginners: Data Types](https://thenewstack.io/python-for-beginners-data-types/) +- [Python Variables - Python Tutorial for Beginners with Examples | Mosh](https://www.youtube.com/watch?v=cqt33yu9py8) \ No newline at end of file diff --git a/src/data/roadmaps/python/content/100-python-basics/index.md b/src/data/roadmaps/python/content/100-python-basics/index.md index ff1f89a83..6fb142a64 100644 --- a/src/data/roadmaps/python/content/100-python-basics/index.md +++ b/src/data/roadmaps/python/content/100-python-basics/index.md @@ -9,3 +9,4 @@ Visit the following resources to learn more: - [Python Wikipedia]() - [Googles Python Class](https://developers.google.com/edu/python) - [W3Schools - Python Tutorial](https://www.w3schools.com/python) +- [Python](https://www.kaggle.com/learn/python) \ No newline at end of file diff --git a/src/data/roadmaps/react/content/104-hooks/102-common-hooks.md b/src/data/roadmaps/react/content/104-hooks/102-common-hooks.md index 0750b971e..d1bf9cf68 100644 --- a/src/data/roadmaps/react/content/104-hooks/102-common-hooks.md +++ b/src/data/roadmaps/react/content/104-hooks/102-common-hooks.md @@ -23,3 +23,4 @@ Visit the following resources to learn more: - [useContext Hook by Example](https://www.robinwieruch.de/react-usecontext-hook/) - [useReducer Hook by Example](https://www.robinwieruch.de/react-usereducer-hook/) - [useReducer vs useState Hook](https://www.robinwieruch.de/react-usereducer-vs-usestate/) +- [useDefferedValue Hook video](https://www.youtube.com/watch?v=jcgmedd6iwa) \ No newline at end of file diff --git a/src/data/roadmaps/software-design-architecture/content/106-architectural-styles/index.md b/src/data/roadmaps/software-design-architecture/content/106-architectural-styles/index.md index d55e3354a..4cd86e5aa 100644 --- a/src/data/roadmaps/software-design-architecture/content/106-architectural-styles/index.md +++ b/src/data/roadmaps/software-design-architecture/content/106-architectural-styles/index.md @@ -16,3 +16,4 @@ Learn more from the following links: - [What is Software Architecture & Styles?](https://study.com/academy/lesson/software-architecture-styles-patterns-components.html) - [Types of Architectural Styles in Software Engineering](https://www.youtube.com/watch?v=2Pp0BcXN9YY) +- [10 Architecture Patterns Used In Enterprise Software Development Today](https://www.youtube.com/watch?v=brt3ao8bvqy) \ No newline at end of file diff --git a/src/lib/link-group.ts b/src/lib/link-group.ts index 2b765561b..960d8d1ea 100644 --- a/src/lib/link-group.ts +++ b/src/lib/link-group.ts @@ -26,17 +26,14 @@ function linkGroupPathToId(filePath: string): string { */ export async function getAllLinkGroups(): Promise { const linkGroups = await import.meta.glob( - '/src/link-groups/*.md', + '/src/data/link-groups/*.md', { eager: true, } ); - const linkGroupFiles = Object.values(linkGroups); - const enrichedLinkGroups = linkGroupFiles.map((linkGroupFile) => ({ + return Object.values(linkGroups).map((linkGroupFile) => ({ ...linkGroupFile, id: linkGroupPathToId(linkGroupFile.file), })); - - return enrichedLinkGroups; } diff --git a/src/pages/g/[linkGroupId]/[linkId].astro b/src/pages/g/[linkGroupId]/[linkId].astro index 2c26f8f45..a63e52f4a 100644 --- a/src/pages/g/[linkGroupId]/[linkId].astro +++ b/src/pages/g/[linkGroupId]/[linkId].astro @@ -34,6 +34,6 @@ const fullUrl = linkGroup.frontmatter[linkId!];

Redirecting ..

Click the link below if you are not redirected automatically.

-

{fullUrl}

+

{fullUrl}