├── .DS_Store ├── .devcontainer └── devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature-request-enhancement.md │ ├── issue.md │ └── submit-project.md ├── PULL_REQUEST_TEMPLATE │ ├── bugs-only.md │ └── submit-project.md └── workflows │ ├── azure-static-web-apps-agreeable-forest-05e8c1b0f.yml │ ├── codeql-code-scanning.yml │ └── contributors.yml ├── .gitignore ├── .vs └── VSWorkspaceState.json ├── .vscode └── launch.json ├── CNAME ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTORS.svg ├── Contributors.md ├── Dockerfile ├── LICENSE ├── README.md ├── babel.config.js ├── docs ├── Welcome.md ├── phase0 │ └── README.md ├── phase1 │ ├── 1-versioncontrol.md │ ├── 2-cli.md │ ├── 3-iac.md │ ├── 4-ssh.md │ ├── 5-clibasics.md │ ├── 6-ctf.md │ └── README.md ├── phase2 │ ├── 1-python.md │ ├── 2-api.md │ ├── 3-fastapi.md │ ├── 4-databases.md │ ├── 5-build-app.md │ └── README.md ├── phase3 │ ├── 1-virtual-machines-compute-services.md │ ├── 2-security-identity-management.md │ ├── 3-cloud-networking-fundamentals.md │ ├── 4-secure-remote-access.md │ ├── 5-database-deployment-configuration.md │ ├── 6-fastapi-deployment-hosting.md │ ├── 7-build-app.md │ └── README.md ├── phase4 │ └── README.md ├── phase5 │ ├── 1-csf-core.md │ ├── 2-csf-iam.md │ ├── 3-csf-data-security.md │ ├── 4-csf-network-security.md │ ├── 5-csf-grc.md │ ├── 6-csf-threats-n-vulns.md │ ├── 7-csf-monitoring.md │ ├── 8-csf-best-practices-n-trends.md │ ├── 9-csf-ai-security.md │ ├── README.md │ ├── csf-certifications.md │ ├── csf-projects.md │ └── csf-resources.md └── youre-done │ └── README.md ├── docusaurus.config.js ├── i18n ├── es │ └── docusaurus-plugin-content-docs │ │ └── current │ │ ├── index.md │ │ ├── phase0 │ │ └── README.md │ │ ├── phase1 │ │ └── README.md │ │ ├── phase2 │ │ └── README.md │ │ ├── phase3 │ │ └── README.md │ │ ├── phase4 │ │ └── README.md │ │ ├── projects │ │ └── README.md │ │ └── resources │ │ ├── FAQ.md │ │ ├── readme.md │ │ └── resume-tips.md ├── fr │ └── docusaurus-plugin-content-docs │ │ └── current │ │ ├── _sidebar.md │ │ ├── index.md │ │ ├── phase0 │ │ └── README.md │ │ ├── phase1 │ │ └── README.md │ │ ├── phase2 │ │ └── README.md │ │ ├── phase3 │ │ └── README.md │ │ └── phase4 │ │ └── README.md ├── ne │ └── docusaurus-plugin-content-docs │ │ └── current │ │ ├── index.md │ │ ├── phase0 │ │ └── README.md │ │ ├── phase1 │ │ └── README.md │ │ ├── phase2 │ │ └── README.md │ │ ├── phase3 │ │ └── README.md │ │ ├── phase4 │ │ └── README.md │ │ └── phase5 │ │ └── README.md ├── pt │ └── docusaurus-plugin-content-docs │ │ └── current │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── _coverpage.md │ │ ├── _navbar.md │ │ ├── _sidebar.md │ │ ├── index.md │ │ ├── more-topics │ │ └── FAQ.md │ │ ├── phase0 │ │ └── README.md │ │ ├── phase1 │ │ └── README.md │ │ ├── phase2 │ │ └── README.md │ │ ├── phase3 │ │ └── README.md │ │ ├── phase4 │ │ └── README.md │ │ ├── phase5 │ │ └── README.md │ │ ├── projects │ │ └── README.md │ │ └── resources │ │ ├── README.md │ │ ├── flowcharts.md │ │ └── resume-tips.md └── ua │ └── docusaurus-plugin-content-docs │ └── current │ ├── _sidebar.md │ ├── index.md │ ├── phase0 │ └── README.md │ ├── phase1 │ └── README.md │ ├── phase2 │ └── README.md │ ├── phase3 │ └── README.md │ ├── phase4 │ └── README.md │ ├── phase5 │ └── README.md │ ├── projects │ └── README.md │ └── resources │ ├── FAQ.md │ ├── readme.md │ └── resume-tips.md ├── img ├── .DS_Store ├── Logo-01.png ├── Logo-01.svg ├── Logo-03.svg ├── cropped.svg ├── favicon.png └── which.png ├── package-lock.json ├── package.json ├── sidebars.js ├── src ├── components │ ├── HomepageApi │ │ ├── index.tsx │ │ └── styles.module.css │ └── HomepageFeatures │ │ ├── index.tsx │ │ └── styles.module.css ├── css │ └── custom.css └── pages │ ├── CONTRIBUTING.md │ ├── _index.tsx │ ├── contributors.md │ ├── index.module.css │ └── markdown-page.md ├── static ├── .nojekyll └── img │ ├── CONTRIBUTORS.svg │ ├── LTC-HQ1.png │ ├── Logo-01.png │ ├── Logo-01.svg │ ├── Logo-03.svg │ ├── docusaurus.png │ ├── favicon.ico │ ├── logo.svg │ ├── undraw_co-working.svg │ ├── undraw_open_source.svg │ └── undraw_organizing_projects.svg ├── tsconfig.json └── yarn.lock /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/.DS_Store -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "image": "mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04", 3 | "settings": { 4 | "[typescript]": { 5 | "editor.defaultFormatter": "esbenp.prettier-vscode", 6 | "editor.formatOnSave": true 7 | }, 8 | "[json]": { 9 | "editor.defaultFormatter": "esbenp.prettier-vscode", 10 | "editor.formatOnSave": true 11 | }, 12 | "[jsonc]": { 13 | "editor.defaultFormatter": "esbenp.prettier-vscode", 14 | "editor.formatOnSave": true 15 | } 16 | }, 17 | "extensions": [ 18 | "dbaeumer.vscode-eslint", 19 | "orta.vscode-jest", 20 | "esbenp.prettier-vscode", 21 | "streetsidesoftware.code-spell-checker" 22 | ], 23 | "forwardPorts": [3000], 24 | "containerUser": "vscode", 25 | "postCreateCommand": "yarn install", 26 | "waitFor": "postCreateCommand", // otherwise automated jest tests fail 27 | "features": { 28 | "node": { 29 | "version": "18" 30 | }, 31 | "github-cli": "latest" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request-enhancement.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request/Enhancement 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Issue 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Expected Behavior 11 | 12 | ## Actual Behavior 13 | 14 | ## Steps to Reproduce the Problem 15 | 16 | 1. 17 | 1. 18 | 1. 19 | 20 | ## Specifications 21 | 22 | - Version: 23 | - Platform: 24 | - Subsystem: 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/submit-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Submit project 3 | about: Submit you project or share your project idea 4 | title: PROJ 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | --- 11 | name: "\U0001F680 Project" 12 | about: Your project/project idea. 13 | 14 | --- 15 | 16 | 21 | 22 | **What is your project related to? Please describe.** 23 | Please describe the problem you are trying to solve. 24 | 25 | **Which phase your project falls under?** 26 | - [ ] Phase 1 27 | - [ ] Phase 2 28 | - [ ] Phase 3 29 | - [ ] Phase 4 30 | 31 | **Tech stack/Technologies being used** 32 | Please describe different services/technologies that will be used. 33 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/bugs-only.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Description 4 | 5 | 6 | ## Related Issue 7 | 8 | 9 | 10 | 11 | 12 | ## Motivation and Context 13 | 14 | 15 | 16 | ## How Has This Been Tested? 17 | 18 | 19 | 20 | 21 | ## Screenshots (if appropriate): -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/submit-project.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Short description for your project 4 | 5 | 6 | ## Related Issue 7 | 8 | 9 | 10 | ## What is your project related to and Tech stack 11 | 12 | 13 | 14 | 15 | ## Screenshots (if appropriate): 16 | -------------------------------------------------------------------------------- /.github/workflows/azure-static-web-apps-agreeable-forest-05e8c1b0f.yml: -------------------------------------------------------------------------------- 1 | name: Azure Static Web Apps CI/CD 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request_target: 8 | types: [opened, synchronize, reopened, closed] 9 | branches: 10 | - main 11 | 12 | jobs: 13 | build_and_deploy_job: 14 | if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') 15 | runs-on: ubuntu-latest 16 | name: Build and Deploy Job 17 | steps: 18 | - uses: actions/checkout@v2 19 | with: 20 | submodules: true 21 | - name: Build And Deploy 22 | id: builddeploy 23 | uses: Azure/static-web-apps-deploy@v1 24 | with: 25 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_AGREEABLE_FOREST_05E8C1B0F }} 26 | repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) 27 | action: "upload" 28 | ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### 29 | # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig 30 | app_location: "/" # App source code path 31 | api_location: "" # Api source code path - optional 32 | output_location: "build" # Built app content directory - optional 33 | ###### End of Repository/Build Configurations ###### 34 | production_branch: "main" 35 | env: # Add environment variables here 36 | ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} 37 | ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} 38 | CLOUDFARE_ANALYTICS_TOKEN: ${{ secrets.CLOUDFARE_ANALYTICS_TOKEN }} 39 | 40 | close_pull_request_job: 41 | if: github.event_name == 'pull_request' && github.event.action == 'closed' 42 | runs-on: ubuntu-latest 43 | name: Close Pull Request Job 44 | steps: 45 | - name: Close Pull Request 46 | id: closepullrequest 47 | uses: Azure/static-web-apps-deploy@v1 48 | with: 49 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_AGREEABLE_FOREST_05E8C1B0F }} 50 | action: "close" 51 | -------------------------------------------------------------------------------- /.github/workflows/codeql-code-scanning.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL Code Scanning" 2 | 3 | on: 4 | push: 5 | branches: [ "main" ] 6 | pull_request: 7 | branches: [ "main" ] 8 | schedule: 9 | - cron: '0 0 * * 0' 10 | 11 | jobs: 12 | analyze: 13 | name: Analyze 14 | runs-on: ubuntu-latest 15 | permissions: 16 | actions: read 17 | contents: read 18 | security-events: write 19 | 20 | strategy: 21 | fail-fast: false 22 | matrix: 23 | language: [ 'javascript' ] 24 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 25 | # Use only 'java' to analyze code written in Java, Kotlin or both 26 | # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both 27 | # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support 28 | 29 | steps: 30 | - name: Checkout repository 31 | uses: actions/checkout@v3 32 | 33 | # Initializes the CodeQL tools for scanning. 34 | - name: Initialize CodeQL 35 | uses: github/codeql-action/init@v2 36 | with: 37 | languages: ${{ matrix.language }} 38 | # If you wish to specify custom queries, you can do so here or in a config file. 39 | # By default, queries listed here will override any specified in a config file. 40 | # Prefix the list here with "+" to use these queries and those in the config file. 41 | 42 | # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs 43 | # queries: security-extended,security-and-quality 44 | 45 | 46 | # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). 47 | # If this step fails, then you should remove it and run the build manually (see below) 48 | - name: Autobuild 49 | uses: github/codeql-action/autobuild@v2 50 | 51 | # ℹ️ Command-line programs to run using the OS shell. 52 | # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun 53 | 54 | # If the Autobuild fails above, remove it and uncomment the following three lines. 55 | # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. 56 | 57 | # - run: | 58 | # echo "Run, Build Application using script" 59 | # ./location_of_script_within_repo/buildscript.sh 60 | 61 | - name: Perform CodeQL Analysis 62 | uses: github/codeql-action/analyze@v2 63 | with: 64 | category: "/language:${{matrix.language}}" 65 | -------------------------------------------------------------------------------- /.github/workflows/contributors.yml: -------------------------------------------------------------------------------- 1 | name: Add contributors 2 | on: [workflow_dispatch] 3 | 4 | jobs: 5 | contributors-markdown-job: 6 | runs-on: ubuntu-latest 7 | name: A job to automate contribute list in readme.md 8 | steps: 9 | - name: Contribute List 10 | uses: akhilmhdh/contributors-readme-action@master 11 | with: 12 | readme_path: "Contributors.md" 13 | columns_per_row: '6' 14 | committer_username: "rishabkumar7" 15 | committer_email: "rishabkumar7@gmail.com" 16 | env: 17 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 18 | contributors-svg: 19 | runs-on: ubuntu-latest 20 | steps: 21 | - uses: wow-actions/contributors-list@v1 22 | with: 23 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 24 | svgPath: 'static/img/CONTRIBUTORS.svg' 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | 22 | .DS_* 23 | *.log 24 | logs 25 | **/*.backup.* 26 | **/*.back.* 27 | 28 | node_modules 29 | bower_components 30 | # package-lock.json 31 | # package.json 32 | *.sublime* 33 | 34 | psd 35 | thumb 36 | sketch 37 | 38 | .env -------------------------------------------------------------------------------- /.vs/VSWorkspaceState.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExpandedNodes": [ 3 | "", 4 | "\\docs", 5 | "\\docs\\phase2" 6 | ], 7 | "SelectedNode": "\\docs\\phase2\\README.md", 8 | "PreviewInSolutionExplorer": false 9 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "command": "docsify serve -p 3000", 9 | "name": "RUN docsify serve", 10 | "request": "launch", 11 | "type": "node-terminal" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | learntocloud.guide -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @madebygps @rishabkumar7 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, caste, color, religion, or sexual 10 | identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | gwynethpena@outlook.com. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.1, available at 119 | [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. 123 | 124 | For answers to common questions about this code of conduct, see the FAQ at 125 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at 126 | [https://www.contributor-covenant.org/translations][translations]. 127 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Stage 1: Base image. 2 | FROM node:lts as base 3 | ## Disable colour output from yarn to make logs easier to read. 4 | ENV FORCE_COLOR=0 5 | ## Enable corepack. 6 | RUN corepack enable 7 | ## Set the working directory to `/opt/docusaurus`. 8 | WORKDIR /opt/docusaurus 9 | 10 | # Stage 2a: Development mode. 11 | FROM base as dev 12 | ## Set the working directory to `/opt/docusaurus`. 13 | WORKDIR /opt/docusaurus 14 | ## Expose the port that Docusaurus will run on. 15 | EXPOSE 3000 16 | ## Run the development server. 17 | CMD [ -d "node_modules" ] && npm run start --host 0.0.0.0 --poll 1000 || npm run install && npm run start --host 0.0.0.0 --poll 1000 18 | 19 | # Stage 2b: Production build mode. 20 | FROM base as prod 21 | ## Set the working directory to `/opt/docusaurus`. 22 | WORKDIR /opt/docusaurus 23 | ## Copy over the source code. 24 | COPY . /opt/docusaurus/ 25 | ## Install dependencies with `--immutable` to ensure reproducibility. 26 | RUN npm ci 27 | ## Build the static site. 28 | RUN npm run build 29 | 30 | # Stage 3a: Serve with `docusaurus serve`. 31 | FROM prod as serve 32 | ## Expose the port that Docusaurus will run on. 33 | EXPOSE 3000 34 | ## Run the production server. 35 | CMD ["npm", "run", "serve", "--", "--host", "0.0.0.0", "--no-open"] 36 | 37 | # Stage 3b: Serve with Caddy. 38 | FROM caddy:2-alpine as caddy 39 | ## Copy the Caddyfile. 40 | COPY --from=prod /opt/docusaurus/Caddyfile /etc/caddy/Caddyfile 41 | ## Copy the Docusaurus build output. 42 | COPY --from=prod /opt/docusaurus/build /var/docusaurus -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Gwyneth Peña-Siguenza 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome 2 | 3 | [![Azure Static Web Apps CI/CD](https://github.com/learntocloud/learn-to-cloud/actions/workflows/azure-static-web-apps-agreeable-forest-05e8c1b0f.yml/badge.svg?branch=main)](https://github.com/learntocloud/learn-to-cloud/actions/workflows/azure-static-web-apps-agreeable-forest-05e8c1b0f.yml) 4 | [![CodeQL Code Scanning](https://github.com/learntocloud/learn-to-cloud/actions/workflows/codeql-code-scanning.yml/badge.svg)](https://github.com/learntocloud/learn-to-cloud/actions/workflows/codeql-code-scanning.yml) 5 | 6 | ## What is Learn to Cloud? 7 | 8 | Learn to Cloud is a GUIDE (not a book or course) that originated from [this tweet](https://twitter.com/madebygps/status/1406258053427740672?lang=en). The goal is to provide an outline of skills you need to learn to get into Cloud Computing. At the end of it you should have the technical knowledge for roles like: 9 | 10 | - System administrator. 11 | - Cloud Support Engineer. 12 | - Cloud Administrator. 13 | 14 | ## How to get started? 15 | 16 | Our website is live [here](https://learntocloud.guide) 17 | 18 | ## Questions? Comments? Feedback? 19 | 20 | Please open an [Issue](https://github.com/learntocloud/learn-to-cloud/issues) 21 | 22 | ## Roadmap 23 | 24 | Take a look at our [backlog](https://github.com/orgs/learntocloud/projects/2) for a full list of proposed features (and known issues). 25 | 26 | ## Contributing 27 | 28 | We have 2 areas for contribution: 29 | 30 | ### Engineering 31 | 32 | We would love to be your first PR! or any PR for that matter. Take a look at our [backlog](https://github.com/orgs/learntocloud/projects/2) and comment on an issue you'd like to work on and we can get you started. 33 | 34 | ### Content 35 | 36 | If you have ideas for updating the guide content, please open a PR and we would take a look at it. 37 | 38 | ## Docker Support 39 | 40 | You can pull the public image from docker hub [rishabkumar7/ltc-website](https://hub.docker.com/r/rishabkumar7/ltc-website) or build it locally. 41 | 42 | ### Building the Docker Image 43 | 44 | To build the docker image you will need to run the following command: 45 | 46 | ``` bash 47 | docker build --target -t . 48 | ``` 49 | 50 | - `--target ` - This is the target to build. The target is the name of the stage in the dockerfile. Valid targets are `dev`, `serve` and `caddy` 51 | - `-t ` - This is the name and tag of the image that will be built. The format is `name:tag`. The name can be anything you want. The tag is optional. If you do not specify a tag, latest will be used. 52 | 53 | - `.` - This is the path to the build context. In this case we are using the current directory (root directory of this project) as the build context. 54 | 55 | ### Running the Docker Image 56 | 57 | To run the serve target you will need to run the following command: 58 | 59 | ``` bash 60 | docker run --rm -d -p 3000:3000 61 | ``` 62 | 63 | - `--rm` - This is an optional flag that will remove the container when it exits. 64 | - `-d` - This is an optional flag that will run the container in detached mode. 65 | - `-p 3000:3000` - This is an optional flag that will map port 3000 on the host to port 3000 in the container. 66 | - `` - This is the name and tag of the image that will be run. Make sure to use the same tag that you used when building the image. 67 | 68 | ## License 69 | 70 | Distributed under the MIT License. See [LICENSE](/LICENSE) for more information. 71 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /docs/Welcome.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | slug: / 4 | --- 5 | 6 | # Welcome 7 | 8 | Learn to Cloud (L2C) is a junior cloud engineering courseware built on the belief that anyone can learn foundational cloud engineering skills with the right guide and discipline. 9 | 10 | ## 💻 Why should I use it? 11 | 12 | Our platform is intentionally: 13 | 14 | - **designed to guide, not handhold** 15 | 16 | We provide essential details while leaving intentional gaps to foster critical thinking, problem-solving, and self-sufficiency. 17 | 18 | - **focused on practice with purpose** 19 | 20 | We balance hands-on learning with carefully integrated theory to promote intentional learning rather than passive progression. 21 | 22 | - **constantly evolving** 23 | 24 | Built and updated by professionals who actively work in the field. Expect updates that keep it relevant and aligned with industry standards. 25 | 26 | ## 🤑 Cost? 27 | 28 | No cost, no account needed, nothing. You have no excuses. L2C is open source and free, and the resources we recommend are either free or very affordable. 29 | 30 | ## ⌚️ Time? 31 | 32 | Self paced. However, you could realistically cover eveything in 6 months with about 2 hours per day and more on weekends. 33 | 34 | ## ⁉️ I have questions 35 | 36 | Ask questions in [Discord](https://discord.learntocloud.guide) 37 | 38 | For updates follow [GPS](https://x.com/madebygps), [Rishab](https://x.com/rishabincloud), and [L2C](https://x.com/learntocloud) on X. 39 | 40 | ## 💪🏽 What do you need to know before starting? 41 | 42 | The only requirements are motivation and discipline - these are aspects we cannot provide for you. 43 | 44 | Breaking into tech has never been easy, despite what some content creators might suggest. This journey will be challenging, but if you have a genuine interest in cloud engineering, it will be worth your effort. 45 | 46 | Good luck on your journey! 47 | -------------------------------------------------------------------------------- /docs/phase0/README.md: -------------------------------------------------------------------------------- 1 | # Phase 0: Starting from zero 2 | 3 | Last Updated: April 2025 4 | 5 | If you have zero tech experience and want to get into Cloud Engineering. This phase is for you. 6 | 7 | If you are already in tech and switching to cloud, go to [Phase 1: Linux and Networking fundamentals](../phase1/README.md). 8 | 9 | ## How does this phase apply to Cloud? 10 | 11 | Before diving into cloud-specific topics, it's crucial to grasp the basics of IT. [This playlist](https://www.youtube.com/playlist?list=PLG49S3nxzAnlGHY8ObL8DiyP3AIu9vd3K) is a fantastic overview. 12 | 13 | The video playlist above will introduce you to several key concepts, but let's delve a bit deeper: 14 | 15 | - **[What is Linux](https://youtu.be/PwugmcN1hf8):** The backbone of many cloud environments, understanding Linux is crucial for cloud computing. 16 | - **[What is Networking](https://youtu.be/3QhU9jd03a0):** Learn how data moves across networks, an essential skill for any cloud engineer. 17 | - **[What is Programming](https://youtu.be/ifo76VyrBYo):** Basic programming knowledge is essential for automating tasks and managing cloud resources. 18 | - **[What is Cloud Computing](https://youtu.be/eZLcyTxi8ZI):** Understand the fundamental concepts of cloud computing, including its benefits and service models (IaaS, PaaS, SaaS). 19 | - **[What is DevOps](https://youtu.be/9pZ2xmsSDdo/):** Learn about the practices that combine software development (Dev) and IT operations (Ops) to shorten the systems development life cycle. 20 | - **[What is a Cloud Engineer and how to become one](https://youtu.be/7i1WMGxyt4Q):** What does a cloud engineer do, and what are the steps to become one? 21 | 22 | 23 | ## Things you should be familiar with at the end of this phase 24 | 25 | 1. Have a clear understanding of the basics of IT and cloud computing. 26 | 2. Be prepared for continuous learning, as the tech field is ever-evolving. 27 | 3. Decide if you are committed to pursuing a career in tech. 28 | 29 | 30 | ## Certifications you might want to look into 31 | 32 | **An industry standard for people getting into tech is the [CompTIA A+](https://www.comptia.org/certifications/a).** 33 | 34 | - Is it necessary? 35 | - No. 36 | - Is it helpful? 37 | - It depends on your learning style. 38 | - Did I take it? 39 | - No. 40 | - Should you take it? 41 | - It can be beneficial for your resume and may help you land support roles. Look up roles in your area and if they ask for it, get it. 42 | 43 | ## Entry-Level Jobs 44 | 45 | Starting in a support role is a great way to enter the tech industry. These positions are often entry-level friendly and may offer educational material and certification reimbursement. 46 | 47 | Take a look at this video by KevTech on [Helpdesk interview questions](https://youtu.be/McxVgoQaCpU). 48 | 49 | ## What's next 50 | 51 | 52 | [Go to Phase 1: Linux and Networking fundamentals](../phase1/README.md) 53 | -------------------------------------------------------------------------------- /docs/phase1/1-versioncontrol.md: -------------------------------------------------------------------------------- 1 | # Topic 1: Version Control 2 | 3 | Here at L2C we use Git and GitHub for our version control. I need you to spend a few days getting up to speed with them. 4 | 5 | - Study: [Intro to Git](https://learn.microsoft.com/training/modules/intro-to-git/) 6 | - Action: Create a [GitHub account](https://docs.github.com/get-started/start-your-journey/creating-an-account-on-github) 7 | 8 | Here at L2C we are big fans of GenAI abilities to help with learning. We leverage it a lot to dive deeper and clarify concepts. It's a good time for you to setup an account with any tool you'd like and start using it for your own learning. Try it out first with testing your knowledge on what version control is. 9 | 10 | - Action: Use an AI assistant to test your understanding of the concepts. You can use this prompt as a template: 11 | 12 | ``` txt 13 | I'm studying cloud engineering and recently learned about version control. I will provide you an explanation about it and please ask me any questions if my explanation is not clear. I want to make sure I really understand this concept so please do not correct me, simple ask questions until I get the explanation right. Here is my explanation: version control is 14 | ``` 15 | 16 | We use VS Code for all our programming. It is time for you to install it. 17 | 18 | - Action: [Install VS Code](https://code.visualstudio.com/) 19 | - Action: If you are working on a Windows machine (Mac and Linux users skip ahead), you'll need to setup WSL. All our labs and tools expect a Linux based environment, WSL will provide that. Follow: [Get started using Visual Studio Code with Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-vscode) 20 | 21 | By now you should have the basics of git down and a GitHub account. Now I need you to learn about command line commands you will be using a lot. 22 | 23 | - Study: [Command Line for Beginners – How to Use the Terminal Like a Pro](https://www.freecodecamp.org/news/command-line-for-beginners/#heading-most-common-and-useful-commands-to-use) 24 | You're ready to get the lab copied locally (cloned) to your computer. 25 | - Action: Using a Terminal, create a folder on your computer where you will store all your labs and projects. Name it `l2c` 26 | Use the `mkdir` and `cd` commands for this. 27 | - Action: Inside your `l2c` folder, clone the lab repository 28 | 29 | ``` sh 30 | git clone https://github.com/learntocloud/linux-ctfs 31 | ``` 32 | 33 | We use markdown for our documentation, it's important you know how to work with it. 34 | 35 | - Study: [Communicate using markdown](https://learn.microsoft.com/en-us/training/modules/communicate-using-markdown/) 36 | - Action: [Create a GitHub readme for your GitHub](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme#adding-a-profile-readme) 37 | - Action: Clone your README repo to your local machine. Use VS Code to edit it and push changes back to GitHub from the terminal in VS Code. 38 | Here is a [great guide](https://www.freecodecamp.org/news/how-to-use-markdown-in-vscode/) on using markdown with VS Code. Don't feel like you have to make a very fancy README. Write a brief description on who you are and add links to your socials. 39 | 40 | ## Version Control concepts you should know 41 | 42 | - What is version control? 43 | - What is markdown? 44 | - What is a git repository? 45 | - What does it mean to clone a repository? 46 | - git should be installed on your computer 47 | - vs code should be installed on your computer 48 | - WSL should be setup for Windows users 49 | - You created a folder on your computer with the terminal and `mkdir` command 50 | - The lab repo should be cloned locally on your computer 51 | - Your README repo should be cloned locally on your computer 52 | 53 | Great, when you're ready, move on. 54 | -------------------------------------------------------------------------------- /docs/phase1/2-cli.md: -------------------------------------------------------------------------------- 1 | # Topic 2: Cloud CLI setup 2 | 3 | Now we're going to setup your cloud environment. Make sure you've created an account with any of our supported clouds: AWS, Azure, or GCP. 4 | 5 | - Action: Create an account with [AWS](https://aws.amazon.com/resources/create-account/) or [Azure](https://azure.microsoft.com/en-us/free/) or [GCP](https://cloud.google.com/free) 6 | 7 | Once you have an account, you need to get familiar with the cloud console of your selected cloud provider. 8 | 9 | - Action: Getting Started with the [AWS Management Console](https://aws.amazon.com/getting-started/hands-on/getting-started-with-aws-management-console/) or [Azure Portal](https://docs.microsoft.com/en-us/azure/azure-portal/azure-portal-overview) or [GCP Console](https://cloud.google.com/console) 10 | 11 | You should be a little familiar with your cloud console now. You can of course deploy things by clicking but we would rather you use the CLI. 12 | 13 | - Study: [Why use a CLI](https://www.freecodecamp.org/news/command-line-for-beginners/) 14 | - Action: Install the [AWS CLI](https://aws.amazon.com/cli/) or [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli) or [GCP CLI](https://cloud.google.com/sdk/docs/install) 15 | 16 | ## CLI concepts you should know 17 | 18 | - What is a CLI? 19 | - The benefits of using a CLI vs a UI for cloud resource management. 20 | - You created a cloud account. 21 | - You installed a cloud cli. 22 | - You configured the cloud cli with your account. 23 | 24 | Great, when you're ready, move on. 25 | -------------------------------------------------------------------------------- /docs/phase1/3-iac.md: -------------------------------------------------------------------------------- 1 | # Topic 3: Infrastructure as Code 2 | 3 | We will spend a lot more time on Infrastructure as Code and other DevOps practices later as all of our labs use them. For now I need you to familiarize yourself with a few Terraform (an infrastructure as code tool) concepts: 4 | 5 | - Study: [What is IaC](https://www.hashicorp.com/resources/what-is-infrastructure-as-code) 6 | - Study: [What is Infrastructure as Code with Terraform?](https://learn.hashicorp.com/tutorials/terraform/infrastructure-as-code) 7 | - Study: [Terraform init](https://developer.hashicorp.com/terraform/cli/commands/init) 8 | - Study: [Terraform apply](https://developer.hashicorp.com/terraform/cli/commands/apply) 9 | - Action: Use an AI assistant to test your understanding of the concepts. You can use this prompt as a template: 10 | 11 | ``` txt 12 | I'm studying cloud engineering and recently learned about Infrastructure as Code. I will provide you an explanation about it and please ask me any questions if my explanation is not clear. I want to make sure I really understand this concept so please do not correct me, simple ask questions until I get the explanation right. Here is my explanation: IaC is 13 | ``` 14 | 15 | Finally we need to make sure Terraform is installed 16 | 17 | - Action: [Install Terraform](https://developer.hashicorp.com/terraform/install). For Windows users make sure you're installing it inside Ubuntu via WSL. 18 | 19 | ## Terraform concepts you should know 20 | 21 | - What is Infrastructure as Code? 22 | - What is Terraform? 23 | - Why use Terraform? 24 | - Terraform should be installed on your computer 25 | - What does terraform init do? 26 | - What does terraform apply do? 27 | 28 | Great, when you're ready, move on. -------------------------------------------------------------------------------- /docs/phase1/4-ssh.md: -------------------------------------------------------------------------------- 1 | # Topic 4: SSH 2 | 3 | Now you need to learn how to access a virtual machine via SSH. 4 | 5 | - Study: [What is SSH](https://www.cloudflare.com/learning/access-management/what-is-ssh/) 6 | 7 | - Action: 8 | - [Azure: Work through this exercise to practice your skills](https://learn.microsoft.com/training/modules/develop-on-remote-machine/) 9 | - [AWS: Work through this exercise to practice your skills](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html) 10 | 11 | 12 | ## SSH concepts you should know 13 | 14 | - What is SSH? 15 | - How to SSH into a VM from my local terminal 16 | - How to SSH using SSH keys (not passwords) 17 | 18 | 19 | Great job! When you're ready, move on 20 | -------------------------------------------------------------------------------- /docs/phase1/5-clibasics.md: -------------------------------------------------------------------------------- 1 | # Topic 5: Linux CLI Basics 2 | 3 | You need to have linux cli skills to work with cloud. We recommend you read [Linux Basics for Hackers](https://nostarch.com/linuxbasicsforhackers#content). You could also go through the list of commands below and research them individually, though we recommend the book. 4 | 5 | ## Foundational Commands 6 | 7 | Before starting the challenges, familiarize yourself with these essential commands: 8 | 9 | - `pwd`: Print working directory – shows your current location. 10 | - `cd`: Change directory – navigate between folders. 11 | - `ls`: List directory contents. 12 | - `cat`: Display file contents. 13 | 14 | ## Challenge 1: Hidden Files 15 | 16 | Learn these commands to find hidden files: 17 | 18 | - `ls -a`: List all files, including hidden ones. 19 | - `ls -la`: Detailed listing including hidden files. 20 | - `find . -name ".*"`: Search for hidden files. 21 | 22 | **Key concepts:** 23 | 24 | - In Linux, hidden files start with a dot (`.`). 25 | - Hidden files are not shown by default. 26 | - Use the `-a` flag with `ls` to show hidden files. 27 | 28 | ## Challenge 2: File Searching 29 | 30 | Master these file search commands: 31 | 32 | - `find /path -name "pattern"`: Search for files by name. 33 | - `find /path -type f`: Search for regular files. 34 | - `locate filename`: Quick file search using a database. 35 | - `grep -r "text" /path`: Recursively search file contents. 36 | 37 | ## Challenge 3: File Size Analysis 38 | 39 | Commands for analyzing file sizes: 40 | 41 | - `ls -lh`: List files with human-readable sizes. 42 | - `du -h`: Display disk usage. 43 | - `sort -h`: Sort by human-readable sizes. 44 | - `find /path -type f -size +1M`: Find files larger than 1MB. 45 | 46 | ## Challenge 4: User Investigation 47 | 48 | Commands for user management: 49 | 50 | - `id username`: Display user ID and groups. 51 | - `cat /etc/passwd`: View user accounts. 52 | - `getent passwd uid`: Get user by UID. 53 | - `ls -l /home/`: List home directories. 54 | 55 | **Understanding user files:** 56 | 57 | - `/etc/passwd`: User account information. 58 | - `~/.profile` and `~/.bashrc`: Shell configuration files. 59 | 60 | ## Challenge 5: Permission Analysis 61 | 62 | Commands for working with permissions: 63 | 64 | - `ls -l`: View file permissions. 65 | - `stat filename`: Detailed file information. 66 | - `find / -perm 777`: Find files with specific permissions. 67 | - `chmod`: Change file permissions. 68 | 69 | ## Challenge 6: Network Services 70 | 71 | Network investigation commands: 72 | 73 | - `netstat -tuln`: List listening ports. 74 | - `ss -tuln`: Modern alternative to netstat. 75 | - `lsof -i`: List open network files. 76 | - `curl localhost:port`: Test HTTP service connectivity. 77 | - `nc -zv host port`: Test TCP connection. 78 | 79 | ## Challenge 7: Encoding/Decoding 80 | 81 | Text processing commands: 82 | 83 | - `base64`: Encode or decode text. 84 | - `echo -n "text"`: Echo without a newline. 85 | - The pipe operator (`|`) for chaining commands. 86 | 87 | ## Challenge 8: SSH Configuration 88 | 89 | SSH-related commands and best practices: 90 | 91 | - `ls -la ~/.ssh/`: List SSH directory contents. 92 | - `find ~/.ssh -type f`: Find SSH-related files. 93 | - `chmod 600`: Set secure file permissions for keys. 94 | - `ssh-keygen`: Generate SSH keys. 95 | 96 | **Best practices:** 97 | 98 | - Keep your private keys secure. 99 | - Ensure correct file permissions (e.g., 600 for keys). 100 | - Review your `authorized_keys` file. 101 | 102 | ## Challenge 9: DNS Troubleshooting 103 | 104 | Now that the challenges include DNS configuration issues, learn to compare and edit configuration files: 105 | 106 | - Familiarize yourself with `/etc/resolv.conf` and its backup. 107 | - Practice using file comparison tools to spot differences. 108 | - Review editing commands to modify files safely. 109 | 110 | ## Challenge 10: Remote Upload 111 | 112 | In this challenge, you'll trigger a flag by uploading a file: 113 | 114 | - Understand common methods to transfer files (such as using secure copy or similar utilities). 115 | - Learn how to work with remote directories to detect new files. 116 | - Experiment with different file transfer approaches. 117 | 118 | ## Challenge 11: Web Configuration 119 | 120 | This challenge involves identifying a web server's non-standard port: 121 | 122 | - Learn how to locate and review configuration files (for example, those for `nginx`). 123 | - Familiarize yourself with the basics of service management to restart or reload services. 124 | - Understand how configuration settings affect the behavior of web servers. 125 | 126 | ## Challenge 12: Network Traffic Analysis 127 | 128 | In the latest challenge, you will analyze network traffic to discover hidden messages: 129 | 130 | - Get familiar with network traffic capture methods. 131 | - Learn to inspect packet contents for hidden data. 132 | - Experiment with network analysis tools without relying on exact command recipes. 133 | 134 | ## General Tips 135 | 136 | 1. Use `man` pages to understand command options. 137 | 2. Experiment with various command combinations and piping techniques. 138 | 3. Work through each challenge to build your understanding incrementally. 139 | 140 | Remember: The goal is to learn the commands and understand how they work. Take time to experiment with each command and explore its options and behaviors. 141 | -------------------------------------------------------------------------------- /docs/phase1/6-ctf.md: -------------------------------------------------------------------------------- 1 | # Linux Command Line CTF Challenge 2 | 3 | Welcome, CTF participants! This guide will walk you through the seven challenges you'll face in this Linux Command Line Capture The Flag. Each challenge is designed to test a different aspect of your Linux skills. 4 | 5 | ## IMPORTANT NOTE 6 | 7 | As you complete each challenge, we encourage you to take note of any concepts or commands you find challenging and to revisit them later for further study. Additionally, we kindly ask that you **DO NOT SHARE SOLUTIONS** in social media posts. We aim to discourage copying and pasting and request your support in this effort. Instead, share your reflections and unique perspectives along with the announcement that you’ve completed the labs. 8 | 9 | 10 | ## How to access 11 | 12 | This CTF challenge requires you to deploy a lab environment from your local machine to your preferred cloud provider, everything is automated via files we provide. We opted for this instead of hosted labs because it will give you the closest to real world experience. 13 | 14 | Start by going to the [repo](https://github.com/learntocloud/ltc-linux-challenge). 15 | -------------------------------------------------------------------------------- /docs/phase1/README.md: -------------------------------------------------------------------------------- 1 | # Phase 1: Linux and Bash 2 | 3 | Last Updated: April 2025 4 | 5 | Here at Learn to Cloud, we like to get hands-on as soon as possible. So, we've prepared a Capture The Flag (CTF) lab for you to practice your Linux and Bash. Before you can access them, you'll spend time learning about the lab and setting it up. Don't worry – along the way, we'll provide tips, documentation links, resources, and more to help you succeed. 6 | 7 | ## Objectives 8 | 9 | By the end of this phase, you will have: 10 | 11 | - Set up your computer for all our labs 12 | - Learned the basics of version control 13 | - Gained familiarity with the cloud CLI 14 | - Understood the concept of Infrastructure as Code 15 | - Built and accessed the lab environment 16 | - Completed seven CTF challenges to test your Linux skills 17 | 18 | ## Prerequisites 19 | 20 | - Mac OS or a Ubuntu based computer. If you're on Windows, you'll use WSL. 21 | 22 | ## Topics 23 | 24 | | No. | Topic 25 | |-----|------------------------------| 26 | | 1 | [Version Control](1-versioncontrol.md) 27 | | 2 | [Cloud CLI](2-cli.md) 28 | | 3 | [Infrastructure as Code](3-iac.md) 29 | | 4 | [SSH](4-ssh.md) | 30 | | 5 | [CLI basics](5-clibasics.md) | 31 | | 7 | [CTF Lab](6-ctf.md) 32 | 33 | -------------------------------------------------------------------------------- /docs/phase2/1-python.md: -------------------------------------------------------------------------------- 1 | # Topic 1: Python Basics 2 | 3 | Python is a very popular programming language with many uses in cloud engineering and a great community, which is why we've selected it as the language to learn in this guide. 4 | 5 | - Study: 6 | - [Python Crash Course](https://nostarch.com/pythoncrashcourse2e) by Eric Matthes 7 | 8 | - Go through the entire book, take it a chapter a day and you should be able to get it done in a month with a couple of hours of study per day. 9 | This book is a great resource for beginners to learn Python programming. It covers the basics of Python syntax, data structures, functions, and modules. The book also includes hands-on projects to help you practice your skills and build real-world applications. 10 | 11 | ## Test your knowledge 12 | 13 | Once you are done with the book, watch the [CS50 lecture on Python](https://youtu.be/LfaMVlDaQ24?feature=shared&t=49364). Everything here should make sense to you, if not, you are not ready to move on. 14 | 15 | Test your knowledge with an AI assistant, here are some example prompts to test your Python knowledge: 16 | 17 | 1. Can you ask me about the difference between a list and a tuple in Python? 18 | 2. Can you quiz me on how to create a dictionary in Python? 19 | 3. Can you ask me to explain the concept of list comprehensions with an example? 20 | 4. Can you ask me what a lambda function is and how it is used? 21 | 5. Can you quiz me on how to handle exceptions in Python? 22 | 6. Can you ask me about Python decorators and how they work? 23 | 7. Can you ask me to explain the difference between `__init__` and `__new__` methods in Python classes? 24 | 8. Can you quiz me on how to read and write files in Python? 25 | 9. Can you ask me about generators in Python and how they differ from regular functions? 26 | 10. Can you quiz me on how to use the `map`, `filter`, and `reduce` functions in Python? 27 | 28 | -------------------------------------------------------------------------------- /docs/phase2/2-api.md: -------------------------------------------------------------------------------- 1 | # Topic 2: Rest API 2 | 3 | In the previous topic, the recommended book introduced you to Django, so you should have some context and knowledge about how REST APIs work. In this step we want to further improve your knowledge on REST APIs. 4 | 5 | - Study: [What Is REST API?](https://www.youtube.com/watch?v=-mN3VyJuCjM/) by Byte Byte Go 6 | - Study: [REST API Concepts and Examples](https://www.youtube.com/watch?v=7YcW25PHnAA) by WebConcepts 7 | - Watch [RESTful APIs in 100 Seconds](https://youtu.be/-MTSQjw5DrM?feature=shared) 8 | 9 | ## Test your knowledge 10 | 11 | Once you are done with the videos, test your knowledge with an AI assistant, here are some example prompts to test your REST API knowledge: 12 | 13 | 1. Can you ask me to explain what REST stands for and how it works? 14 | 2. Can you quiz me on the difference between a REST API and a SOAP API? 15 | 3. Can you ask me to explain the concept of resources in REST? 16 | 4. Can you ask me to explain the difference between PUT and POST requests in REST? 17 | 5. Can you quiz me on how to use the HTTP methods GET, POST, PUT, and DELETE in REST? 18 | 6. Can you ask me to explain the concept of status codes in REST and give examples? -------------------------------------------------------------------------------- /docs/phase2/3-fastapi.md: -------------------------------------------------------------------------------- 1 | # Topic 3: Fast API 2 | 3 | Fast API is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. It is the framework we use to build the L2C journal application and what you will use as well. 4 | 5 | - Study: [FastAPI official tutorial](https://fastapi.tiangolo.com/tutorial/) by FastAPI 6 | 7 | ## Test your knowledge 8 | 9 | Once you are done with the tutorial, test your knowledge with an AI assistant, here are some example prompts to test your FastAPI knowledge: 10 | 11 | 1. Can you ask me to explain what FastAPI is and how it works? 12 | 2. Can you quiz me on how to create a FastAPI application and define endpoints? 13 | 3. Can you ask me to explain how to handle request and response models in FastAPI? 14 | 4. Can you ask me to explain how to use path parameters and query parameters in FastAPI? 15 | 5. Can you quiz me on how to use dependency injection in FastAPI? 16 | 6. Can you ask me to explain how to use Pydantic models in FastAPI? 17 | 7. Can you ask me to explain how to use FastAPI with asynchronous code? 18 | -------------------------------------------------------------------------------- /docs/phase2/4-databases.md: -------------------------------------------------------------------------------- 1 | # Topic 4: Databases 2 | 3 | We will be using a database to store our application data. For this we need to first understand how databases work and how to interact with them. Let's start with the basics. 4 | 5 | - Study: [Intro to SQL](https://www.khanacademy.org/computing/computer-programming/sql) 6 | 7 | Then, decide which cloud you will use. For AWS, you will use DynamoDB, and for Azure, you will use Cosmos DB. 8 | 9 | - Study: [AWS DynamoDB Tutorial For Beginners](https://www.youtube.com/watch?v=2k2GINpO308) 10 | 11 | - Study: [Azure Cosmos DB Essentials Playlist](https://youtube.com/playlist?list=PLLasX02E8BPDd2fKwLCHnmWoyo4bL-oKr&feature=shared/) 12 | 13 | Then do the Python quickstart for the database you chose. 14 | 15 | - Action: [AWS DynamoDB Python Quickstart](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/example_dynamodb_Scenario_GettingStartedMovies_section.html) 16 | 17 | 18 | - Action: [Azure Cosmos DB Python Quickstart](https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/quickstart-python) 19 | 20 | ## Test your knowledge 21 | 22 | Once you are done with the tutorials, test your knowledge with an AI assistant. Here are some example prompts to test your database knowledge: 23 | 24 | 1. Can you ask me to explain what a database is and how it works? 25 | 2. Can you quiz me on the difference between SQL and NoSQL databases? 26 | 3. Can you ask me to explain the concept of CRUD operations in databases? 27 | 4. Can you ask me to explain how to connect to a database from a Python application? 28 | 5. Can you quiz me on how to perform CRUD operations in a database using Python? 29 | 6. Can you ask me to explain how to use an ORM (Object-Relational Mapping) library in Python? 30 | 7. Can you ask me to explain how to use a NoSQL database like DynamoDB or Cosmos DB? 31 | 8. Can you quiz me on how to model data in a NoSQL database like DynamoDB or Cosmos DB? 32 | -------------------------------------------------------------------------------- /docs/phase2/5-build-app.md: -------------------------------------------------------------------------------- 1 | # Topic 5: Capstone Project 2 | 3 | Now that you've got some Python skills under your belt, we've got an old codebase that needs some love! This Journal API project will test everything you've learned so far, and you'll be deploying it to the cloud in the next phase. Consider this your graduation project from the Python basics - time to put those skills to work! 4 | 5 | ## Getting Started 6 | 7 | 1. Fork the [starter repo](https://github.com/learntocloud/journal-starter) 8 | 2. Open the project in VS Code with Dev Containers 9 | - The base Python environment will be set up automatically 10 | 3. Enhance the development environment: 11 | - Set up PostgreSQL database connection 12 | - Configure required environment variables 13 | 14 | ## Implementation Tasks 15 | 16 | ### 1. Core API Development 17 | 18 | Implement missing endpoints in `journal_router.py`: 19 | 20 | - [ ] GET /entries - List all entries 21 | - [ ] GET /entries/\{id\} - Get single entry 22 | - [ ] DELETE /entries/\{id\} - Delete entry 23 | - [ ] Add request/response validation 24 | - [ ] Add error handling 25 | 26 | ### 2. Data Model 27 | 28 | Enhance Entry model in `models/entry.py`: 29 | 30 | | Field | Type | Validation | 31 | |-------------|-----------|------------------------------| 32 | | id | string | Auto-generated UUID | 33 | | work | string | Required, max 256 chars | 34 | | struggle | string | Required, max 256 chars | 35 | | intention | string | Required, max 256 chars | 36 | | created_at | datetime | Auto-generated UTC | 37 | | updated_at | datetime | Auto-updated UTC | 38 | 39 | ## Testing the API 40 | 41 | Test your implementation using these curl commands: 42 | 43 | ```bash 44 | # Create a journal entry 45 | curl -X POST http://localhost:8000/entries \ 46 | -H "Content-Type: application/json" \ 47 | -d '{ 48 | "work": "Learned FastAPI basics", 49 | "struggle": "Understanding async/await", 50 | "intention": "Practice more with FastAPI" 51 | }' 52 | 53 | # Get all entries 54 | curl http://localhost:8000/entries 55 | 56 | # Get single entry (replace {id} with actual UUID) 57 | curl http://localhost:8000/entries/\{id\} 58 | 59 | # Update an entry 60 | curl -X PUT http://localhost:8000/entries/\{id\} \ 61 | -H "Content-Type: application/json" \ 62 | -d '{ 63 | "work": "Updated work entry", 64 | "struggle": "Updated struggle", 65 | "intention": "Updated intention" 66 | }' 67 | 68 | # Delete an entry 69 | curl -X DELETE http://localhost:8000/entries/\{id\} 70 | 71 | # Delete all entries 72 | curl -X DELETE http://localhost:8000/entries 73 | ``` 74 | 75 | ## Skills Checklist 76 | 77 | ### Python 78 | 79 | - [ ] Variables & Data Types 80 | - [ ] Functions & OOP 81 | - [ ] Error Handling 82 | - [ ] API Development 83 | - [ ] Database Operations 84 | 85 | ### Git 86 | 87 | - [ ] Repository Management 88 | - [ ] Branching & Merging 89 | - [ ] Documentation 90 | 91 | ## Next Steps 92 | 93 | Complete this capstone before moving to cloud deployment in the next phase. Make sure all API endpoints are working locally before proceeding. 94 | -------------------------------------------------------------------------------- /docs/phase2/README.md: -------------------------------------------------------------------------------- 1 | # Phase 2: Programming 2 | 3 | Last Updated: April 2025 4 | 5 | Welcome to Phase 2, this one is all about programming, specifically with Python. 6 | 7 | Programming is a fundamental skill for cloud engineering, enabling you to create, manage, and optimize cloud resources efficiently. 8 | 9 | You don't need to know how to build UIs but you need to know how to work with APIs and other cloud services like storage, databases, etc. Knowing how to program will make you more competitive in the hiring market. 10 | 11 | As learners finish this phase, many will share their code. We recommend you do not copy and paste anybody's solution. You are only doing a disservice to yourself and will not make it in this field if that is the mentality you have. 12 | 13 | Additionally, we recommend you turn off any AI assistants you might have for code completion, though using AI to ask for explanations and clarification is highly recommended. We will continue to suggest prompts throughout the guide. 14 | 15 | ## Objectives 16 | 17 | By the end of this phase, you will have: 18 | 19 | - Learned the basics of programming and Python 20 | - Learned the basics of how REST APIs work 21 | - Learned the basics of FastAPI 22 | - Learned how to use cloud SDKs to interact with cloud services via code 23 | - Completed the Capstone project 24 | 25 | ## Prerequisites 26 | 27 | - Mac OS or a Ubuntu based computer. If you're on Windows, you'll use WSL. 28 | 29 | ## Topics 30 | 31 | | No. | Topic | 32 | |-----|------------------------------| 33 | | 1 | [Python](1-python.md) | 34 | | 2 | [APIs](2-api.md) | 35 | | 3 | [Rest API](3-fastapi.md) | 36 | | 4 | [Fast API](4-databases.md) | 37 | | 5 | [Build the app](5-build-app.md) | 38 | -------------------------------------------------------------------------------- /docs/phase3/1-virtual-machines-compute-services.md: -------------------------------------------------------------------------------- 1 | # Topic 1: Virtual Machines and Compute Services 2 | 3 | Virtualization and compute services are fundamental to cloud engineering, enabling scalable and flexible infrastructure. In this topic, you will focus on deploying virtual machines on various cloud providers (such as AWS, Azure, and GCP) 4 | 5 | - Study 6 | - What are [Compute Services](https://aws.amazon.com/what-is/compute/) 7 | - Understanding [Virtualization](https://aws.amazon.com/what-is/virtualization/) 8 | - Instance Types & OS Selection: Choosing the right VM specs (CPU, RAM, storage) 9 | - Deploying Virtual Machines on [AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html), [Azure](https://learn.microsoft.com/en-us/azure/virtual-machines/) or [GCP](https://cloud.google.com/products/compute#create-your-first-vm) 10 | 11 | ## Test your knowledge 12 | 13 | Test your knowledge with an AI assistant, here are some example prompts to test your knowledge of Virtualization and Compute Services: 14 | 15 | 1. Can you explain what Compute Services are and why they are important in cloud computing? 16 | 2. Can you describe how virtualization works and its role in cloud infrastructure? 17 | 3. Can you differentiate between Virtualization and Compute Services. 18 | 4. Can you compare the compute services provided by AWS, Azure, and GCP? 19 | 5. Can you explain what a hypervisor is, how it works, and why it is essential for virtualization? 20 | 21 | ## Hands-on Tasks 22 | 23 | Deploy a Virtual Machine on any cloud provider using the default configuration. 24 | -------------------------------------------------------------------------------- /docs/phase3/2-security-identity-management.md: -------------------------------------------------------------------------------- 1 | # Topic 2: Security and Identity Management 2 | 3 | This section focuses on identity and access management (IAM) to control permissions and protect cloud resources, as well as securing cloud instances using security groups and firewall rules. 4 | 5 | - Study 6 | 7 | - IAM concepts: Users, Groups, Roles, Policies across [AWS](https://medium.com/%40MadhavPrajapati/getting-started-with-aws-iam-users-groups-policies-and-role-fee140ed1e93), [Azure](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal), and [GCP](https://cloud.google.com/iam/docs/overview) 8 | 9 | - [AWS Security Groups](https://www.youtube.com/watch?v=uYDT2SsHImQ) vs. [Azure Network Security Groups](https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview) vs. [GCP Firewall Rules](https://cloud.google.com/firewall/docs/firewalls) 10 | 11 | ## Test your Knowledge 12 | 13 | After studying, test your knowledge with these AI prompts: 14 | 15 | 1. What is the difference between IAM Users, Groups, and Roles? 16 | 2. How does RBAC differ from ABAC in cloud identity management? 17 | 3. How do IAM policies control access to cloud resources? 18 | 4. What steps can be taken to enforce the Least Privilege Principle in IAM? 19 | 5. What are the difference between inbound rule and outbound rule. 20 | 6. What is the difference between security groups and traditional firewalls? 21 | 7. How do security groups differ from network ACLs in cloud networking? 22 | 8. What is the significance of stateful vs. stateless rules in cloud security? 23 | 24 | ## Hands-on Task 25 | 26 | - Create IAM users and groups with specific permissions in cloud platform. 27 | - Implement IAM roles for secure access management 28 | - Define and apply IAM policies to restrict access to sensitive resources 29 | - Create a security group for a VM instance 30 | - Define inbound rules to allow specific traffic (e.g., HTTP, SSH, RDP) 31 | - Define outbound rules to control external communication. 32 | - Apply security group rules to a VM and verify access restrictions. 33 | - Test traffic flow by attempting to connect from an allowed and a restricted IP address. -------------------------------------------------------------------------------- /docs/phase3/3-cloud-networking-fundamentals.md: -------------------------------------------------------------------------------- 1 | # Topic 3: Cloud Networking Fundamentals 2 | 3 | On the previous topic you worked on deploying a VM in the cloud, using default configurations like the VPC, Security Groups etc. The focus on this phase is to deepen your understanding of cloud networking concepts essential for secure deployments. 4 | 5 | - Study 6 | 7 | - Understanding [AWS VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html), [Azure VNet](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview), and [GCP Virtual Private Network](https://cloud.google.com/vpc/docs/overview) 8 | - What is [Subnetting](https://audrey01.hashnode.dev/subnets-ip-addresses-ip-address-classes-cidr-blocks): Public vs. Private subnets, CIDR blocks. 9 | - Gateways (IGW, NAT, VPN) for secure internet access for [AWS](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html), [Azure](https://learn.microsoft.com/en-us/azure/nat-gateway/nat-overview?source=recommendations) and [GCP](https://cloud.google.com/nat/docs/overview) 10 | 11 | ## Test your knowledge 12 | 13 | Once you are done with the provided resources, watch the [what is an IP Address](https://www.youtube.com/watch?v=5WfiTHiU4x8). Everything here should make sense to you, if not, you are not ready to move on. 14 | 15 | Test your knowledge with an AI assistant, here are some example prompts to test your cloud networking concepts: 16 | 17 | 1. What is the purpose of Route Tables, and how do they impact network traffic? 18 | 2. How does a route table control the flow of traffic in a cloud network? 19 | 3. How does CIDR notation define IP address ranges in cloud networks? 20 | 4. How do public and private subnets differ, and when should each be used? 21 | 5. How does traffic flow between public and private subnets within a VPC? 22 | 6. What is the significance of the 0.0.0.0/0 route in a route table? 23 | 7. Explain the difference between NAT Gateway and Internet Gateway. 24 | 25 | ## Hands-on Task 26 | 27 | - Set up a Cloud Network on any cloud provider. 28 | - Create Two Subnets(Private and Public) within the set up cloud network. 29 | - Configure Internet Access for proper routing. 30 | - Associate subnets with appropriate route tables for controlled traffic flow 31 | - Set up the Security group. 32 | - Deploy a VM each within the Public Subnet and the Private Subnet of the created cloud network. -------------------------------------------------------------------------------- /docs/phase3/4-secure-remote-access.md: -------------------------------------------------------------------------------- 1 | # Topic 4: Secure Remote Access 2 | 3 | In the previous topic, you learned about cloud networking fundamentals, including VPCs, subnets, and traffic flow. Now, the focus is on understanding secure remote access mechanisms that protect cloud resources from unauthorized access. 4 | 5 | - Study 6 | 7 | - Session-based access management: Using cloud-native services like [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), [Azure Bastion](https://learn.microsoft.com/en-us/azure/bastion/), and [GCP IAP](https://www.youtube.com/watch?v=Vfxf2LdsXfs) 8 | 9 | ## Test Your Knowledge 10 | 11 | Once you are done with the provided resources, check this out [here](https://awstip.com/aws-dont-ssh-into-your-public-bastion-use-ssm-session-manager-instead-a5b527f8db41) 12 | Once you are done studying, test your understanding with these prompts: 13 | 14 | - What are the different secure remote access methods in cloud environments? 15 | - What are the advantages of using a session-based access tool (e.g., AWS SSM, Azure Bastion, or GCP IAP) instead of direct SSH/RDP? 16 | 17 | ## Hands-on Task 18 | 19 | - Configure session-based access for remote servers using AWS SSM, Azure Bastion, or GCP IAP 20 | - Apply IAM policies to enforce least privilege access for remote users 21 | -------------------------------------------------------------------------------- /docs/phase3/5-database-deployment-configuration.md: -------------------------------------------------------------------------------- 1 | # Topic 5: Database Deployment and Configuration 2 | 3 | - Study 4 | 5 | - [PostgreSQL Basics](https://www.prisma.io/dataguide/postgresql/getting-to-know-postgresql) and [Fundamentals](https://www.postgresql.org/docs/online-resources/): Understanding the architecture of PostgreSQL, including tables, schemas, and users. 6 | - Learn how to install PostgreSQL on a VM: [AWS](https://www.youtube.com/watch?v=KQ4eIv6h7Sk), [Azure](https://www.youtube.com/watch?v=_f1gKlV60Iw) and [GCP](https://dev.to/vishalpaalakurthi/how-to-set-up-a-postgresql-server-on-a-virtual-machine-473f) 7 | - Access Control & Authentication: Learn how to use **pg_hba.conf** to manage authentication and enforce secure database access. 8 | 9 | ## Test your Knowledge 10 | 11 | Test your knowledge with an AI assistant, here are some example prompts to test your knowledge of relational database deployment and its configuration: 12 | 13 | 1. Explain the key components of PostgreSQL architecture. How do tables, schemas, and roles interact? 14 | 2. What are the steps to install and configure PostgreSQL on a Linux-based VM? 15 | 3. How would you securely configure PostgreSQL for remote access within a private subnet? 16 | 4. What is the purpose of ```pg_hba.conf```, and how does it control authentication in PostgreSQL? 17 | 5. Explain how to create and manage PostgreSQL users and roles with appropriate permissions. 18 | 19 | ## Hands-on Task 20 | 21 | Deploy a PostgreSQL Database in a Private Subnet. 22 | -------------------------------------------------------------------------------- /docs/phase3/6-fastapi-deployment-hosting.md: -------------------------------------------------------------------------------- 1 | # Topic 6: Fastapi Deployment and API Hosting 2 | 3 | With your Prior knowledge of FastAPI from the previous phases, you will now focus on deploying that fastapi application on a cloud based VM. 4 | 5 | - Study: how to deploy a FastAPI application using [AWS EC2](https://www.youtube.com/watch?v=SgSnz7kW-Ko), [Azure Virtual Machines](https://medium.com/%40swamynathanayyappan/how-to-deploy-a-fast-api-python-web-application-to-azure-virtual-machine-c5eb84284a81), or [Google Compute Engine](https://www.youtube.com/watch?v=Lcuas-20g1g). 6 | 7 | ## Test your Knowledge 8 | 9 | 1. How do you store and manage environment variables securely on a cloud VM for FastAPI? 10 | 2. How would you set up a firewall rule or security group to allow external HTTP traffic to your FastAPI application? 11 | 12 | ## Hands-on Task 13 | 14 | Deploy a FastAPI application on a cloud-based VM within the Public Subnet of your cloud network. 15 | -------------------------------------------------------------------------------- /docs/phase3/7-build-app.md: -------------------------------------------------------------------------------- 1 | # Topic 7: Capstone 2 | 3 | Now with all those cloud skills you have gained, it is time to deploy the API you built in Phase 2 Capstone. You are going to deploy a FastAPI application and a PostgreSQL database on a VM within a Cloud network. Configure networking, security groups, and access controls to allow secure communication between the servers while restricting unauthorized access. 4 | 5 | ## Capstone Steps 6 | 7 | 1. **Create Your Cloud Infrastructure:** 8 | 9 | - Set up a cloud network with public and private subnets. 10 | - Launch two VMs: one for the API Server (FastAPI) and one for the PostgreSQL database. 11 | - Configure security groups to allow necessary access between the API and database. 12 | - Configure gateways for internet access. 13 | 14 | 2. **Prepare Your API Data (FastAPI):** 15 | 16 | - Set up SSH keys on the API Server to securely clone the [GitHub repository](https://github.com/learntocloud/journal-starter). 17 | - Configure environment variables for database connection details. 18 | - Verify the API is up and running by testing the public IP. 19 | - Configure an Elastic IP for a persistent public IP address for the API server. 20 | 21 | your environment variables should look like this 22 | 23 | ```sql 24 | POSTGRES_HOST= 25 | POSTGRES_PORT=5432 26 | POSTGRES_USER= 27 | POSTGRES_PASSWORD= 28 | POSTGRES_DB= 29 | DATABASE_URL= postgresql://:@:5432/ 30 | ``` 31 | 32 | 3. **Prepare Your Database (PostgreSQL):** 33 | 34 | - Install PostgreSQL on the Database Server VM. 35 | - Configure secure remote access to the database server using SSM, Azure Bastion 36 | - Allow installation of dependencies from the internet. 37 | - Configure it to accept connections from the API Server by modifying the ```pg_hba.conf``` and ```postgresql.conf``` files. 38 | - Create the database and user needed for FastAPI to connect. 39 | - Create the ```entries``` table within the database. 40 | 41 | 4. **Test API-Database Communication:** 42 | - Ensure the API is correctly interacting with the PostgreSQL database by testing read and write operations. 43 | - Test the different Endpoints using this format 44 | 45 | ```sh 46 | http://:/``` 47 | 48 | ```eg 49 | http://52.32.59.145:8000/entries 50 | ``` 51 | 52 | - Verify that data is being correctly stored and retrieved from the database. -------------------------------------------------------------------------------- /docs/phase3/README.md: -------------------------------------------------------------------------------- 1 | # Phase 3: Cloud Platform fundamentals 2 | 3 | Last Updated: April 2025 4 | 5 | Welcome to Phase 3 of Learn to Cloud! This phase focuses on cloud platform fundamentals - the core concepts and skills you need to work effectively with cloud services. You'll learn everything from virtual machines and networking to security and application deployment. Through hands-on practice and real-world projects, you'll build the practical experience needed to work with cloud platforms professionally. 6 | 7 | ## Objectives 8 | 9 | By the end of this phase, you will: 10 | 11 | - Understand core cloud platform services and infrastructure 12 | - Deploy and manage virtual machines and compute resources 13 | - Configure secure networking and access controls 14 | - Set up and manage databases and API applications 15 | - Complete hands-on projects demonstrating cloud skills 16 | - Prepare for associate-level cloud certification 17 | 18 | ## Prerequisites 19 | 20 | - Linux and command line proficiency (Phase 1) 21 | - Basic programming knowledge (Phase 2) 22 | - Git and version control fundamentals 23 | - A cloud platform account (AWS, Azure, or GCP) 24 | 25 | ## Topics 26 | 27 | | Order | Topic | Description | 28 | |-------|-------|-------------| 29 | | 1 | [Virtual Machines & Compute](1-virtual-machines-compute-services.md) | Learn compute services and VM deployment | 30 | | 2 | [Security & IAM](2-security-identity-management.md) | Master identity management and security | 31 | | 3 | [Cloud Networking](3-cloud-networking-fundamentals.md) | Configure VPCs, subnets and routing | 32 | | 4 | [Secure Remote Access](4-secure-remote-access.md) | Set up secure resource access | 33 | | 5 | [Database Deployment](5-database-deployment-configuration.md) | Deploy and manage databases | 34 | | 6 | [FastAPI Deployment](6-fastapi-deployment-hosting.md) | Host web applications | 35 | | 7 | [Capstone Project](7-build-app.md) | Build complete cloud app | 36 | 37 | -------------------------------------------------------------------------------- /docs/phase4/README.md: -------------------------------------------------------------------------------- 1 | # Phase 4: DevOps fundamentals 2 | 3 | Last Updated: October 2024 4 | 5 | ## How does this phase apply to Cloud? 6 | 7 | DevOps is all about ensuring your solutions run efficiently from development to updates. While not specific to the cloud, DevOps practices can be implemented on-premises and in hybrid environments as well. DevOps roles may vary, with some companies having dedicated DevOps Engineers. This phase will introduce you to DevOps fundamentals, but if you aim to become a DevOps engineer, you'll need to dive deeper on your own. 8 | 9 | 10 | 11 | DevOps is a culture, not a specific tool or service. Read up on what DevOps is through these articles: 12 | 13 | - [Microsoft - What is DevOps](https://azure.microsoft.com/overview/what-is-devops/#overview) 14 | - [AWS - What is DevOps](https://aws.amazon.com/devops/what-is-devops/) 15 | - [IBM - A DevOps complete guide](https://www.ibm.com/cloud/learn/devops-a-complete-guide) 16 | 17 | For a fun and insightful read, consider [The Phoenix Project](https://itrevolution.com/the-phoenix-project/) which explains the importance of DevOps through a fictional story. If you prefer a textbook approach, [The DevOps Handbook](https://itrevolution.com/the-devops-handbook/). is a great alternative. 18 | 19 | You should've completed the [Cloud Resume Challenge](https://cloudresumechallenge.dev/) in the previous phase. That project introduces you to DevOps concepts, if you haven't, go back and do so. 20 | 21 | ## How to break down this phase 22 | 23 | | Order | Concepts | Recommended tools | Other tools 24 | |-------|-----------------------|------------------|-------------| 25 | | 1 | CI/CD | GitHub Actions | Jenkins, GitLab, CircleCI 26 | | 2 | IaC | Terraform | Azure Bicep, AWS CloudFormation, Pulumi 27 | | 3 | Containers | Docker | 28 | | 4 | Containers orchestration | Kubernetes | 29 | | 5 | Monitoring | Prometheus and Grafana | Datadog 30 | 31 | 32 | ## Resources 33 | 34 | | Resource | Notes | 35 | | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | 36 | | [The DevOps Guide](https://thedevops.guide/) | Learn all the DevOps Concepts | 37 | | [GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker](https://www.youtube.com/watch?v=R8_veQiYBjI)|Nana is the queen of DevOps and creates some of the best DevOps learning content out there. This tutorial will introduce you to GitHub actions. 38 | | [Complete Terraform Course - From BEGINNER to PRO!](https://www.youtube.com/watch?v=7xngnjfIlK4)| Learn how to use Terraform to automate your AWS infrastructure. 39 | | [Docker tutorial for Beginners](https://youtu.be/3c-iBn73dDE) | Complete Docker Hands-on course with a lot of demos and explaining the concepts behind, so that you really understand it. 40 | | [Kubernetes Crash Course for Absolute Beginners](https://youtu.be/s_o8dwzRlu4) | Hands-On Kubernetes Tutorial | Learn Kubernetes in 1 Hour - Kubernetes Course for Beginners 41 | | [Complete Prometheus Monitoring Tutorial](https://youtube.com/playlist?list=PLy7NrYWoggjxCF3av5JKwyG7FFF9eLeL4) | Complete Prometheus Monitoring Tutorial 42 | 43 | ## Capstone Project: Expanding on the Movies/Shows API 44 | 45 | A sample application is available at [rishabkumar7/ltc-devops-project](https://github.com/rishabkumar7/ltc-devops-project). It builds on the [Phase 2 Capstone Project - Serverless Movies API](https://learntocloud.guide/phase2/), shows your favorite TV Shows or movies. It includes the front-end built with React, uses the FastAPI Python framework for the API, and NoSQL for database. Your goal is to apply DevOps practices like containerization, CI/CD, observability, and monitoring. 46 | 47 | ### Project Components 48 | 49 | 1. **Front-End Container**: Hosts the website where users can view your movies/shows. 50 | 2. **API Container**: Handles fetching of the data from the database. 51 | 3. **NoSQL Database**: Stores the movies/shows data. 52 | 53 | ### Steps 54 | 55 | 1. **Containerization**: Containerize both the frontend and API by creating Dockerfiles. 56 | 2. **CI/CD**: Write a CI/CD pipeline to push the container images to dockerhub or other container registries like ACR or ECR, once your source code is changed. Use tools like GitHub Actions or Azure DevOps. 57 | 3. **Kubernetes Infra with IaC**: Set up a Kubernetes service within your cloud provider (Azure AKS, Amazon EKS, or GCP GKE). Use Terraform to provision your infrastructure. 58 | 4. **Kubernetes YAML Files**: Create deployment and service YAML files for both the React front-end and the FastAPI backend. 59 | 5. **Container Deployment**: Deploy the frontend and API containers to the Kubernetes cluster. 60 | 6. **Inter-connectivity**: Ensure the containers are interconnected for seamless data flow. 61 | 7. **Monitoring**: Set up monitoring for containers to track key metrics and insights. Use Azure Monitor for AKS, Amazon CloudWatch Container Insights for EKS, or Grafana for advanced monitoring. 62 | 63 | ## Things you should be familiar with at the end of this phase 64 | 65 | - Explain each DevOps practice: 66 | - Why each one matters. 67 | - What each one accomplishes. 68 | - Most popular tools for each practice. 69 | 70 | - For all your GitHub Projects: 71 | - Have a CI/CD pipeline. 72 | - Have IaC files. 73 | - Have monitoring implemented. 74 | - Understand logging and metrics data. 75 | 76 | ## Certifications you might want to look into 77 | 78 | - [AWS Certified DevOps Engineer - Professional](https://aws.amazon.com/certification/certified-devops-engineer-professional/?ch=sec&sec=rmg&d=1) 79 | - [Microsoft Certified: DevOps Engineer Expert](https://docs.microsoft.com/en-us/learn/certifications/devops-engineer/) 80 | - [GCP Professional Cloud DevOps Engineer](https://cloud.google.com/certification/cloud-devops-engineer) 81 | -------------------------------------------------------------------------------- /docs/youre-done/README.md: -------------------------------------------------------------------------------- 1 | # You're done 2 | 3 | Congratulations! You’ve reached the end of the **Learn to Cloud** journey. 4 | 5 | ## Contributing & Feedback 6 | 7 | Found a typo, bug, or have an idea? 8 | 9 | 1. Open an issue in this repo 10 | 2. Submit a pull request with your improvements 11 | 12 | ## License 13 | 14 | This workshop is released under the [MIT License](https://opensource.org/licenses/MIT). -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // Note: type annotations allow type checking and IDEs autocompletion 3 | 4 | const lightCodeTheme = require('prism-react-renderer').themes.github; 5 | const darkCodeTheme = require('prism-react-renderer').themes.dracula; 6 | require('dotenv').config(); 7 | 8 | /** @type {import('@docusaurus/types').Config} */ 9 | const config = { 10 | title: 'Learn to Cloud', 11 | url: 'https://learntocloud.guide', 12 | baseUrl: '/', 13 | onBrokenLinks: 'ignore', 14 | onBrokenMarkdownLinks: 'ignore', 15 | favicon: 'img/favicon.ico', 16 | 17 | // GitHub pages deployment config. 18 | // If you aren't using GitHub pages, you don't need these. 19 | organizationName: 'learn-to-cloud', // Usually your GitHub org/user name. 20 | projectName: 'learn-to-cloud', // Usually your repo name. 21 | 22 | // Even if you don't use internalization, you can use this field to set useful 23 | // metadata like html lang. For example, if your site is Chinese, you may want 24 | // to replace "en" with "zh-Hans". 25 | i18n: { 26 | defaultLocale: 'en', 27 | locales: ['en'] 28 | }, 29 | scripts: [ 30 | { 31 | src: 'https://static.cloudflareinsights.com/beacon.min.js', 32 | defer: true, 33 | 'data-cf-beacon':`{"token": ${process.env.CLOUDFARE_ANALYTICS_TOKEN}}`, 34 | }, 35 | { 36 | src:"https://plausible.rishab.cloud/js/script.js", 37 | defer: true, 38 | 'data-domain': 'learntocloud.guide' 39 | } 40 | ], 41 | presets: [ 42 | [ 43 | 'classic', 44 | /** @type {import('@docusaurus/preset-classic').Options} */ 45 | ({ 46 | docs: { 47 | routeBasePath: '/', // Serve the docs at the site's root 48 | sidebarPath: require.resolve('./sidebars.js'), 49 | // Remove this to remove the "edit this page" links. 50 | editUrl: 51 | 'https://github.com/learntocloud/learn-to-cloud/tree/main/', 52 | }, 53 | theme: { 54 | customCss: require.resolve('./src/css/custom.css'), 55 | }, 56 | }), 57 | ], 58 | ], 59 | 60 | themeConfig: 61 | /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ 62 | ( 63 | { 64 | navbar: { 65 | title: 'LTC', 66 | logo: { 67 | alt: 'LTC Logo', 68 | src: '/img/favicon.ico', 69 | }, 70 | items: [ 71 | { 72 | 73 | type: 'localeDropdown', 74 | position: 'right', 75 | 76 | }, 77 | 78 | 79 | { 80 | href: 'https://discord.gg/dr2kvtA726', 81 | label: 'Discord', 82 | position: 'right', 83 | }, 84 | { 85 | href: 'https://github.com/learntocloud/learn-to-cloud', 86 | position: 'right', 87 | className: "header-github-link", 88 | "aria-label": "GitHub repository", 89 | }, 90 | ], 91 | }, 92 | footer: { 93 | style: 'dark', 94 | links: [ 95 | { 96 | title: 'Socials', 97 | items: [ 98 | { 99 | label: 'Discord', 100 | href: 'https://discord.gg/dr2kvtA726', 101 | }, 102 | { 103 | label: 'Instagram', 104 | href: 'https://www.instagram.com/learntocloudguide/', 105 | }, 106 | { 107 | label: 'Twitter', 108 | href: 'https://twitter.com/learntocloud', 109 | }, 110 | { 111 | label: 'Podcast', 112 | href: 'https://youtube.com/@learntocloud' 113 | }, 114 | ], 115 | }, 116 | { 117 | title: 'Guide Help', 118 | items: [ 119 | { 120 | label: 'Report Issue', 121 | href: 'https://github.com/learntocloud/learn-to-cloud/issues', 122 | }, 123 | { 124 | label:'GitHub Repo', 125 | href:'https://github.com/learntocloud/learn-to-cloud/', 126 | }, 127 | ], 128 | }, 129 | { 130 | title: 'Community', 131 | items: [ 132 | { 133 | label: 'Contributors', 134 | href: '/contributors', 135 | }, 136 | { 137 | label:'Code of Conduct', 138 | href:'https://github.com/learntocloud/learn-to-cloud/blob/main/CODE_OF_CONDUCT.md', 139 | }, 140 | { 141 | label: 'License', 142 | href: 'https://github.com/learntocloud/learn-to-cloud/tree/main?tab=MIT-1-ov-file', 143 | }, 144 | ], 145 | }, 146 | { 147 | title: 'Want to contribute', 148 | items: [ 149 | { 150 | label: 'LTC Roadmap', 151 | href: 'https://github.com/orgs/learntocloud/projects/2/views/1', 152 | } 153 | ], 154 | }, 155 | ], 156 | copyright: `Copyright © ${new Date().getFullYear()} Learn To Cloud`, 157 | }, 158 | prism: { 159 | theme: lightCodeTheme, 160 | darkTheme: darkCodeTheme, 161 | }, 162 | announcementBar: { 163 | id: 'Learn Cloud', 164 | content: 165 | /* 166 | 'Find #30DaysOfSWA useful? Give it a star on GitHub', 167 | */ 168 | 'How to Get a Cloud Engineer Role in 2025 ☁️', 169 | backgroundColor: '#134D99', 170 | textColor: '#ffffff', 171 | isCloseable: false, 172 | }, 173 | }), 174 | plugins: [ 175 | [ 176 | '@docusaurus/plugin-google-analytics', 177 | { 178 | trackingID: 'UA-216012364-1', 179 | }, 180 | ], 181 | [ 182 | '@docusaurus/plugin-ideal-image', 183 | { 184 | quality: 70, 185 | max: 640, // max resized image's size. 186 | min: 160, // min resized image's size. 187 | steps: 2, // #images b/w min and max (inclusive) 188 | disableInDev: false, 189 | }, 190 | ], 191 | ], 192 | }; 193 | 194 | module.exports = config; 195 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | 6 | [![GitHub license](https://img.shields.io/github/license/learntocloud/learn-to-cloud.svg)](https://github.com/learntocloud/learn-to-cloud/blob/master/LICENSE) 7 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 8 | 9 | [![GitHub forks](https://img.shields.io/github/forks/learntocloud/learn-to-cloud.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/network/) 10 | [![GitHub stars](https://img.shields.io/github/stars/learntocloud/learn-to-cloud.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/stargazers/) 11 | 12 | ## ¿Qué es *Learn to Cloud*? 13 | 14 | Learn to Cloud es un GUÍA (no un libro o curso) que es basado en [este tweet](https://twitter.com/madebygps/status/1406258053427740672?lang=en). La meta es dar una guía de habilidades que debes tener para aprender de Cloud. Al final debes tener un conocimiento técnico de los siguientes roles: 15 | 16 | - System administrator. 17 | - Cloud Support Engineer. 18 | - Cloud Administrator. 19 | 20 | ## ¿Realmente puedo alcanzar Cloud estudiando solo? 21 | 22 | Si, mira [esto](https://youtu.be/kluKaLXJ2lg) 23 | 24 | ## ¿Preguntas? ¿Comentarios? ¿Retroalimentación? 25 | 26 | Por favor abre un [Issue](https://github.com/learntocloud/learn-to-cloud/issues) 27 | 28 | ## Fases 29 | 30 | | Orden | Tema | 31 | |-------|---------------------------------| 32 | | [opcional](phase0/README.md) | Inicia desde cero | 33 | | [1](phase1/README.md) | Fundamentos de Bash y Redes | 34 | | [2](phase2/README.md) | Fundamentos de Programación | 35 | | [3](phase3/README.md) | Fundamentos de plataformas de Cloud | 36 | | [4](phase4/README.md) | Fundamentos de DevOps | 37 | | [5](phase5/README.md) | Fundamentos de Seguridad en Cloud | 38 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/phase0/README.md: -------------------------------------------------------------------------------- 1 | # Fase 0: Inicia desde cero 2 | 3 | Autor: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | ## Como aplicar esta fase para en CLoud 6 | 7 | Si sentís que no tenes experiencia en *tech* pero quieres aprender de *Cloud Computing*. Esta fase es para ti. Si ya tienes experiencia en *tech* y quieres cambiar a cloud, [Ve a la fase 1: Fundamentos de Linux y Networking](../phase1/README.md) 8 | 9 | Empecemos. 10 | 11 | 1. Pienso que el primer paso es entender los fundamentos de TI y [este playlist](https://www.youtube.com/playlist?list=PLG49S3nxzAnlGHY8ObL8DiyP3AIu9vd3K) es una fantástica visón general. 12 | 13 | 2. El video anterior te dará cierto entendimiento de lo siguiente, pero vamos a adentrarnos un poco mas y entender que son ciertos fundamentos de Cloud. 14 | 15 | - [Qué es Linux](https://youtu.be/PwugmcN1hf8) 16 | - [Qué son las Redes](https://youtu.be/3QhU9jd03a0) 17 | - [Qué es la Programación](https://youtu.be/ifo76VyrBYo) 18 | - [Qué es Computación en la Nube](https://youtu.be/eZLcyTxi8ZI) 19 | - [Qué es DevOps](https://youtu.be/9pZ2xmsSDdo/) 20 | - [Qué es un Ingeniero de Nube y como convertirse en uno](https://youtu.be/7i1WMGxyt4Q) 21 | 22 | 23 | ## Cosas que debes de estar familiarizado/a al final de esta fase 24 | 25 | Honestamente en este punto, todo lo que necesitas es que quieres adentrarte en el mundo de la tecnología y que estás preparado/a para aprender bastante. El estudio nunca se detendrá. 26 | 27 | 28 | Certificaciones que puedes mirar 29 | 30 | Un estandard de la industria para personas que quieren ingresar en tecnología [CompTIA A+](https://www.comptia.org/certifications/a). 31 | 32 | ¿Es esto necesario? No. ¿Es de ayuda? Depende de tu estilo de estudio. ¿Tomé yo A+? Tampoco. ¿Significa que tampoco debes de tomarla? No. ¿Ayudará en tu curriculum? Talvez. 33 | 34 | Sin embargo algunas personas me han comentado que es útil para obtener un puesto en roles como 35 | 36 | - Analista de mesa de servicio 37 | - Técnico de mesa de ayuda 38 | - Administrador de soporte de escritorio 39 | - Especialista de Soporte Técnico 40 | - Técnico en Informática para el Usuario Final 41 | - Técnico de Servicio 42 | - Técnico de ayuda informática 43 | - Especialista en soporte del sistema 44 | 45 | ## Empleo 46 | 47 | Soy una gran fan de iniciar en tecnología en un puesto de soporte y luego crecer. Hay muchas oportunidades en puestos iniciales y sencillos, y regularmente están dispuestos a pagar por materiales de estudio y certificaciones. 48 | 49 | Casi todas las compañias tienen un *helpdesk*, por lo que hay bastantes oportunidades de iniciar! 50 | 51 | Mira este video por KevTech relacionado a [Preguntas de entrevista para Helpdesk](https://youtu.be/McxVgoQaCpU) 52 | Revisa el canal porque tiene muy buen contenido! 53 | 54 | ## ¿Qué sigue ahora? 55 | 56 | [Ve a la Fase 1: Fundamentos de Linux y Networking](../phase1/README.md) 57 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/phase2/README.md: -------------------------------------------------------------------------------- 1 | # Fase 2: Programar, Git y Prompt Engineering 2 | 3 | Autor: [FS](https://twitter.com/felipe88) 4 | 5 | ## ¿En que aplica esta fase a la Nube? 6 | 7 | Estarás usando código para automatizar tareas, desplegar infraestructura y trabajar con servicios. No es necesario que sepas crear UI pero si necesitas saber como interacturar con APIs. Además, saber como programar te hará más competitivo en el mercado laboral. En en paso anterior, te introdujimos a conceptos básicos de programación y creaste tu primer script Bash. Ahora puede mejorar este conocimiento y aplicarlo al lenguaje de programación que elijas. 8 | 9 | 10 | 11 | 12 | ## Que necesitas aprender 13 | 14 | Existen varios lenguajes de programación que son populares en la Nube: Go, Rust, .ET, Javascript. Si ya conoces alguno de esos, podes seguir usandolo, sino, ya que sos un principiante, te recomiendo que elijas [Python](https://www.python.org/). Es un lenguaje muy popular y existen muchos recursos de calidad para aprender de forma gratuita. 15 | 16 | Además de aprender a codificar, es necesario que mejores con [Git](https://git-scm.com/). Es el sistema de versionado más popular y usado en DevOps. Es usado para gestionar y compartir tu código. GitHub es uno de los servicio de hospedaje más populares hoy en día. 17 | 18 | Si todavía no tiene una, tomate tu tiempo para crear tu cuenta en [GitHub](https://github.com/).Será tu portfolio de código y así es como mostrarás los proyectos en tu curriculum. 19 | 20 | También te recomendamos a esta altura, que mejores tu capacidad de usar herramientras como GitHub Copilot y tu capacidad como de Prompt Engineering para ayudarte a escribir código de forma más productiva. 21 | 22 | ## Cómo dividir esta faseHow to break down this phase 23 | 24 | Te sugerimos invertir tiempo en estos 3 temás con este cronograma:: 25 | 26 | | Orden | Tema | 27 | | ----- | --------------------------- | 28 | | 1 | Aprender a Learn to Code | 29 | | 2 | Aprender Git y GitHub | 30 | | 3 | Aprender Prompt Engineering | 31 | 32 | ## Recursos 33 | 34 | | Oden | Título | Notas | 35 | | :--- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | 36 | | 1 | [Curso intensivo de Python](https://ehmatthes.github.io/pcc/) | Un excelente libro, también tien un apendice sobre Git que es excelente! | 37 | | 1 | [Python para principiantes](https://youtu.be/jFCNu1-Xdsw) | Una serie de videos compueta por 44 partes que te introduciran a Python | 38 | | 2 | [Curso completo de Git y GitHub](https://www.youtube.com/watch?v=apGV9Kg7ics) | Videos de [Kunal Kushwaha](https://bio.link/kunalk) | 39 | | 3 | [ChatGPT Prompt Engineering para desarrolladores](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/) | Un curso de [deeplearning.ai](https://www.deeplearning.ai/) | 40 | | 3 | [Una guía para principiantes sobre Prompt Engineering con GitHub Copilot](https://dev.to/github/a-beginners-guide-to-prompt-engineering-with-github-copilot-3ibp) | Un artículo de[Rizèl Scarlett](https://twitter.com/blackgirlbytes) de como aprovechar al máximo GitHub Copilot. | 41 | | 3 | [Introdución a GitHub Copilot](https://learn.microsoft.com/training/modules/introduction-to-github-copilot/) | Un módulo de Microsoft Learn de como usar GitHub Copilot. | 42 | 43 | ## Proyectos 44 | 45 | | Título | Descripción | 46 | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | 47 | | [Crear tu perfil de GitHub](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme) | Crear tun README para contrar a otros acerca de vos en GitHub | 48 | | [Enviar una Definición al Diccionario de Nube](https://dictionary.learntocloud.guide/) | Aparece en la página de inicio de LTC y contribuí a un proyecto de código abierto! | 49 | | [7 Días de Python](https://7daysofpython.com/) | Crea un Blog impulsado por Python | 50 | 51 | ## Conceptos que te deberían ser familiar al final de esta fase 52 | 53 | ### Programación 54 | 55 | - Variables 56 | - Tipos de datos 57 | - Comentarios 58 | - Funciones 59 | - POO (Programación Orientada a Objetos) 60 | - Listas 61 | - Módulos 62 | - Diccionario 63 | - Bucle 64 | - Estructuras de Control 65 | - Excepciones 66 | 67 | ### Git 68 | 69 | - Cómo crear un repositorio Git local 70 | - Cómo creart un repositorio en GitHub y como clonarlo localmente 71 | - Cómo crear una rama en git 72 | - Cómo agregar cambio a una rama git 73 | - Cómo fusionar cambios en Git 74 | - Cómo documentar código con README 75 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/phase3/README.md: -------------------------------------------------------------------------------- 1 | # Fase 3: Fudamentos de las Plataformas de Nube 2 | 3 | Author: [GPS](https://twitter.com/madebygps) 4 | 5 | ## ¿Cómo aplica esta fase a la Nube? 6 | 7 | Muchas veces la gente se sorprende cuando ve que esta fase no es la número 1, aunque es la más larga y por una buena razón. Como profesional de la Nube, viviras en una plataforma o muchas. Todo lo que construtas, des soporte, desarrolles, etc, estará en una plataforma. 8 | 9 | Acá hay algunas preguntas populares para esta fase: 10 | 11 | - [¿Valen la pena plataformas pagas para aprender sobre Nube?](../resources/FAQ.md) 12 | 13 | - ¿Qué nube debo aprender?: 14 | 15 | 16 | 17 | ## Cómo dividir esta fase en partes 18 | 19 | Te sugiero dedicar tiempo a estos dos temas y a este cronograma: 20 | 21 | | Orden | Tema | 22 | | ----- | -------------------------------- | 23 | | 1 | Certificaciones en la Nube | 24 | | 2 | Desafío de currículum en la nube | 25 | 26 | Por supuesto, sientete libre de invertir tanto tiempo como vos quieras, la gente me ha preguntado por un cronograma desglosado, así que acá lo agregué. 27 | 28 | ## Recursos 29 | 30 | | Plataforma Nube | Título | 31 | | :-------------- | -------------------------------------------------------------------------- | 32 | | AWS | [Certificaciones y entrenamientos AWS](https://aws.amazon.com/training/) | 33 | | Azure | [Microsoft Learn](https://docs.microsoft.com/learn/certifications/browse/) | 34 | | GCP | [Entrenamiento en Google Cloud](https://cloud.google.com/certification) | 35 | 36 | Sin importar que material elijas, tendrá algun tipo de ejemplos o aspectos prácticos. Hacelos. No te limites a mires/leas los materiales. Esto no es un show de Netflix que estas consumiendo, esto es tiempo de aprendizaje. 37 | 38 | Cuando estas comenzando con la nube, estaras haciendot do mediante la UI, y eso está bien para comenzar, sin embargo una vez que estes en un trabajo, usaras una CLI o infraestructura como código (aprenderas más acerca de esto en la fase 4) para manejar tus ambientes. Mi consejo acá, es que por cada ejercicio que hagas con la UI, busques el comando en la CLI para hacer lo mismo. En este momento ya deberias estar familiarizado con la línea de comandos. Esta es una gran razón de porque la fase de Linux y de programación vienen antes que esta. 39 | 40 | este es un buen momento para introducirte en la documentación oficial, [AWS](https://docs.aws.amazon.com/index.html), [Azure](https://docs.microsoft.com/azure/?product=featured) o [GCP](https://cloud.google.com/docs) 41 | 42 | Si hay algo que no entiendes acerca de un servicio o comando, tu **ir a** debe ser primero la documentación. 43 | 44 | ## Proyectos 45 | 46 | Te recomendamos que tu primer proyecto sea el desafío de currículum en la nube. Una vez que lo hayas hecho, visitá la [Página de proyectos ](../projects/README.md) para más! 47 | 48 | | Plataforma | Título | Descripción | 49 | | ---------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | 50 | | AWS | [Desafío de currículum en la nube](https://youtube.com/playlist?list=PLK_LRl1CH4L_ko1-Xm04ATPTduu6gaSM8) | Construí tu currículum con servicio AWS. | 51 | | Azure | [Azure Desafío de currículum en la nube](https://youtu.be/ieYrBWmkfno) | Construí tu currículum con servicio Azure. | 52 | | GCP | [GCP Desafío de currículum en la nube](https://acloudguru.com/blog/engineering/cloudguruchallenge-your-resume-on-gcp) | Construí tu currículum con servicio GCP. | 53 | 54 | ## Cosas que deberias estar familiarizado al final de esta fase 55 | 56 | - Entender las mejores prácticas para la infraestructura en la nube (confiabilidad, desempeño eficiente , seguridad, optimización de costos, etc.) 57 | - Cómo concender y remover accesos y permisos a los usuarios y aplicaciones. 58 | - Cómo configurar alertas/alarmas de facturación, presupuesto y como usar las herramientras de facturación. 59 | - Cómo usar el servicio de almacenamiento de objetos y comprender las otras opciones de almacenamiento. 60 | - Cómo desplegar máquinas virtuales que se puede escalar y comprender otros servicios de computo que ofrece la plataforma. 61 | - Cómo configurar el monitoreo para una máquina virtual y comprender todos los otros servicios de monitoreo que la plataforma ofrece. 62 | - Cómo las redes funcionan para las máquinas virtuales (Vnets/VPCs, subredes, tablas de enrutameitno, direcciones IP públicas y privadas, VPNs, puertas de enlace, etc) 63 | - Cómo crear una API usando los servicio de Funciones como servicios ofrecidos por la plataforma de nube tiene y una compresion general de las caracteristicas del servicio y sus posibilidades. 64 | - Servicio de hospedaje de aplicaciones web que tu plataforma de nubeo ofrece y experiencia con esos servicio. 65 | - Servicios de base de datos que tu plataforma de nube ofrece y experiencia con uno de ellos. 66 | - Cómo usara la CLI para crear y administrar recursos en la nube. 67 | 68 | ## Certificaciones que te puede interesar mirar 69 | 70 | Nos encanta las certificaciones en la nube, ellas nos dan una linda curricula para seguir. Sinembargo, no creemos que necesiten todas las que están por ahí. Te recomendamos 1 o 2 certificaciones máximo, más 2 proyectos prácticos que muetren todas las habilidades en la guía. 71 | 72 | Te recomendamos que obtengas el nivel de certificación de asociado. 73 | 74 | - [AWS](https://aws.amazon.com/certification/): Cualquiera. 75 | - [Azure](https://docs.microsoft.com/learn/certifications/browse/?resource_type=certification&products=azure&terms=associate): Quedate con la de administración o desarrollador, los otros niveles de asociado son un poco más especificos y puedes tomarlos más tarde si quieres. 76 | - [GCP](https://cloud.google.com/certification/cloud-engineer): Solo hay una. 77 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/resources/FAQ.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | ## ¿Qué Nube aprender? 4 | 5 | Todos los días te vas a encontrar con personas argumentando acerca de cual es la mejor. 6 | 7 | Revisa las listas de trabajo en tu área y elegi la que tiene mayor cantidad de resultados. ELEGUI UNA Y QUEDATE CON ESA. Los fundamentos son los mismos y nuestros consejos también. 8 | 9 | Cualquier que sea la nube que elijas, asegurate de crear una cuenta y configurar una alerta de presupuesto así no te vas a desayunar con sorpresas en tus facturas. [Acá](https://youtu.be/FZD0s7KE83Y) está como configfurarlo en el portal de Azure y acá para [AWS](https://www.youtube.com/watch?v=fvz0cphjHjg). 10 | 11 | ## ¿Valen la pena plataformas pagas para aprender sobre Nube? 12 | 13 | Existen plataformas por ahí como [A Cloud Guru](https://acloudguru.com) y [CloudAcademy](https://cloudacademy.com) 14 | que podes pagar una suscripción mensual o anual y obtener acceso a contendio y laboratorios para tu propio aprendizaje. 15 | 16 | Estas te ayudan a evitar gastar tu propio dinero en tus propias cuentas de AWS y Azure, lo que es bueno cuando uno está comenzando. En última instancia, si te registras en una, depende de ti. 17 | 18 | I (GPS) tuve una suscripción a A Cloud Guru y Linux Academy cuando estaba comenzado, mi trabajo lo pagaba, puede ser un beneficio que tu trabajo también puede pagar. 19 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/resources/readme.md: -------------------------------------------------------------------------------- 1 | # Study resources 2 | 3 | | Título | Recursos | 4 | | :-------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | 5 | | [Aprendiendo a aprender](https://barbaraoakley.com/books/learning-how-to-learn/) | Gran libro que me ayudó a mejorar mi forma de aprender | 6 | | [Céntrate Deep work](https://www.calnewport.com/books/deep-work/) | Otro gran libro, esta vez acerca de cómo concentrarse y enfocarse y como dedicar tiempo de trabajo profundo en el día. | 7 | | [Cómo estudio para las certificaciones](https://youtu.be/fpPCZqfOBJs) | Un video sobre consejos que he aprendido en el camino | 8 | | [La técnica Pomodoro](https://en.wikipedia.org/wiki/Pomodoro_Technique) | Un excelente método para dividir tu tiempo de estudio. | 9 | | [Cómo estudio para las certificaciones](https://acloudguru.com/blog/engineering/from-student-to-engineer-how-to-study-smarter-for-cloud-cert) | Algunos consejos para estudiar sobre certificaciones en la Nube | 10 | -------------------------------------------------------------------------------- /i18n/es/docusaurus-plugin-content-docs/current/resources/resume-tips.md: -------------------------------------------------------------------------------- 1 | # Recursos para crear tu currículum 2 | 3 | Autora: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | | Título | Recursos | 6 | | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- | 7 | | [Mi currículum de Ingeniero en Nuve](https://youtu.be/HiKQHDUUmTI) | Te guío a través de mi currículum y las mejores prácticas que tengo | 8 | | [MI currículum FAANGM que me llevó a Google](https://youtu.be/LEbqEwhsRWE) | Descripción general del currículum de Rishab | 9 | | [20+ tech resume checklist](https://twitter.com/TiffanyJachja/status/1528081140422266887) | An amazing Twitter thread by [Tiffany Jachja](https://twitter.com/TiffanyJachja) with lots of resume best practices. | 10 | | [Currículum técnico y carta de presentación](https://youtu.be/yTfrEpeBjAs) | Mäs consejos míos | 11 | -------------------------------------------------------------------------------- /i18n/fr/docusaurus-plugin-content-docs/current/_sidebar.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - Commencez Ici 4 | - [Bienvenue](/#Bienvenue) 5 | 6 | - Guide 7 | 8 | - [Phase 0: Starting from zero](phase0/README.md) 9 | - [Phase 1: Linux,Réseau,et les Fondamentaux du scripting](fr/phase1/README.md) 10 | - [Phase 2: Les fondamentaux de la programmation](fr/phase2/README.md) 11 | - [Phase 3: Fondamentaux des plateformes cloud](fr/phase3/README.md) 12 | - [Phase 4: Les fondamentaux du DevOps](fr/phase4/README.md) 13 | 14 | - Resources 15 | 16 | - [More projects](projects/README.md) 17 | - [Study tips and resources](resources/readme.md) 18 | - [Resume Resources](resources/resume-tips.md) 19 | 20 | - Follow the guide 21 | 22 | - [Twitter](https://twitter.com/learntocloud) 23 | - [Instagram](https://instagram.com/learntocloudguide) 24 | -------------------------------------------------------------------------------- /i18n/fr/docusaurus-plugin-content-docs/current/index.md: -------------------------------------------------------------------------------- 1 | # Bienvenue 2 | 3 | **[Version web ici](https://learntocloud.guide)** 4 | 5 | Ce guide est basé sur nos experiences en debutant dans le Cloud et DevOps. Une fois fini, vous devriez avoir des connaissances techniques pour des rôles comme: 6 | 7 | - Administrateur systeme. 8 | - Ingenieur de support cloud. 9 | - Administrateur Cloud. 10 | 11 | Vous pouvez apprendre plus sur notre parcours dans le cloud ici: 12 | 13 | - [Le parcours de Rishab de service d’assistance à ingenieur DevOps sans diplome universitaire (En Anglais)](https://youtu.be/LZuWZ0SBYm8) 14 | - [Le parcours de Gwyneth de service d’assistance à ingenieur cloud sans diplome universitaire (En Anglais)](https://youtu.be/kluKaLXJ2lg) 15 | - Nous avons essayé de le garder aussi général et d’utiliser les options les plus populaires (en terme des contenus,communauté,et emplois) autant que possible. Le programamme de 6 mois est quelque chose que nous mettons en place pour aider avec la plannification et suivie. Cela pourrait vous prendre plus ou moins de temps pour chaque phase et si c’est le cas, c’est tout à fait vrai. 16 | 17 | | Ordre| Matière | Temps à Devouer | 18 | |-------|---------------------------------|-------------------| 19 | | [0](phase0/README.md) | Commencez avec zéro experience en tech | optionel 20 | | [1](phase1/README.md) | Linux, Réseau, et les Fondamentaux du Scripting | 4 semaines | 21 | | [2](phase2/README.md) | Les fondamentaux de la programmation | 4 semaines | 22 | | [3](phase3/README.md) |Les fondamentaux des plateformes cloud | 8 semaines | 23 | | [4](phase4/README.md) | Les fondamentaux du DevOps | 8 semaines | 24 | -------------------------------------------------------------------------------- /i18n/fr/docusaurus-plugin-content-docs/current/phase0/README.md: -------------------------------------------------------------------------------- 1 | # Phase 0 : Partir de zéro 2 | 3 | ## Comment cette phase s’applique-t-elle au Cloud? 4 | 5 | Si vous avez l’impression de n’avoir aucune expérience technologique, mais que vous voulez vous lancer dans l’informatique en nuage. Cette phase est pour vous. Si vous êtes déjà dans la technologie et passez au cloud, 6 | [Aller à Phase 1 : Linux and Networking fundamentals](../phase1/README.md). 7 | 8 | On va s’y mettre. 9 | 10 | 1. Je pense qu’une bonne première étape consiste à comprendre les fondements de la TI et [cette vidéo](https://youtu.be/awLnur5Yt9o) est un aperçu fantastique. 11 | 12 | 2. La vidéo ci-dessus devrait vous aider à comprendre ce qui suit, mais examinons un peu plus en détail certains des principes fondamentaux du nuage. 13 | 14 | - [Qu’est-ce que Linux](https://youtu.be/PwugmcN1hf8) 15 | - [What is Networking](https://youtu.be/3QhU9jd03a0) 16 | - [What is Programming](https://youtu.be/ifo76VyrBYo) 17 | - [What is Cloud Computing](https://youtu.be/eZLcyTxi8ZI) 18 | - [Qu’est-ce que DevOps](https://youtu.be/9pZ2xmsSDdo/) 19 | - [Qu’est-ce qu’un ingénieur cloud et comment le devenir](https://youtu.be/7i1WMGxyt4Q) 20 | 21 | ## Choses que vous devriez connaître à la fin de cette phase 22 | 23 | - Honnêtement, à ce stade, tout ce dont vous devez vous assurer, c’est que vous voulez entrer dans la technologie et que vous êtes prêt à apprendre beaucoup. L’apprentissage ne s’arrêtera jamais. 24 | 25 | ## Certifications que vous pourriez vouloir examiner 26 | 27 | Une norme de l’industrie pour les gens qui entrent dans la technologie est [CompTIA A+](https://www.comptia.org/certifications/a). 28 | 29 | Est-ce nécessaire? Non. Est-ce utile? Cela dépend de votre style d’apprentissage. Ai-je pris le A+? Aussi non. Est-ce que cela signifie que vous ne devriez pas le prendre? Non. Est-ce que cela aide votre curriculum vitae? Peut-être. 30 | 31 | Cependant, certaines personnes m’ont dit que cela les a aidés à assumer des rôles de soutien des terres comme 32 | 33 | - Analyste du bureau de service 34 | - Assistance technique 35 | - Administrateur du soutien de bureau 36 | - Spécialiste du soutien technique 37 | - Technicien informatique utilisateur final 38 | - Technicien de maintenance sur site 39 | - Technicien du bureau d’assistance 40 | - Spécialiste du soutien des systèmes 41 | 42 | ## Emplois 43 | 44 | Je suis un grand fan de commencer dans la technologie à un rôle de soutien et de progresser. Ils sont sympathiques au niveau d’entrée et sont souvent prêts à payer pour le matériel éducatif et les certifications. 45 | 46 | En outre, presque chaque entreprise a un helpdesk, donc beaucoup d’ouvertures pour commencer! 47 | 48 | Jetez un coup d’œil à cette vidéo de KevTech sur [Questions d’entrevue du Service d’assistance](https://youtu.be/McxVgoQaCpU). Binge regarder sa chaîne parce qu’il a tellement de grand contenu! 49 | -------------------------------------------------------------------------------- /i18n/fr/docusaurus-plugin-content-docs/current/phase2/README.md: -------------------------------------------------------------------------------- 1 | # Phase 2: Les fondamentaux de la programmation 2 | 3 | ## Comment s'applique cette phase au cloud ? 4 | 5 | Vous utiliserez du code pour automatiser les tâches et déployer l’infrastructure. Vous n’avez pas besoin de savoir comment créer des applications complètes, mais comprendre les bases de la programmation vous donnera un avantage. Il existe des rôles des développeurs dédiés dans le cloud. Pour ceux-ci vous aurez besoin de savoir comment construire des solutions complètes, consultez [cette video](https://youtu.be/WMUAc7bvB7M) pour plus d'infos sur ces rôles. 6 | 7 | Dans l’étape précédente, vous avez été présentés et avez écrit des scripts Bash. Les scripts Bash sont utilisés pour automatiser les tâches et le language est considéré comme un langage universel pour les serveurs, car de nos jours, Bash est installé par défaut sure presque tous les serveurs Linux. 8 | Je pense qu’il serait maintenant bénéfique d’apprendre plus de compétences en programmation. 9 | 10 | Il existe plusieurs langages de programmation qui sont populaires avec le Cloud, comme Go, Rust, .NET, JavaScript, mais parce que vous êtes débutant,je choisirai [Python](https://www.python.org/). C’est un langage populaire et il existe de nombreuses ressources gratuites de qualité pour l’apprendre et c’est l’un des langages les plus simples pour debuter. 11 | 12 | [Git](https://git-scm.com/) est l’outil de contrôle de version le plus populaire et l’une des pratiques DevOps. Il est utilisé pour gérer et partager votre code. GitHub est l’un des services d’hébergement de référentiel Git les plus populaires. Prenez le temps maintenant de créer un compte [GitHub](https://github.com/) si vous n’en avez pas déjà un. Ce sera votre portefeuille de code et vous devriez y mettre autant de projets que vous le souhaitez. 13 | 14 | ## Comment décomposer cette phase 15 | 16 | Je suggérerais de passer du temps sur ces deux sujets et cette chronologie: 17 | 18 | | Ordre | sujets | Temps à devouer | 19 | |-------|---------------------------------|------------------- 20 | | 1 | Introduction à la programmation avec Python | 3 semaines 21 | | 2 | Introduction au controle de version avec Git et GitHub | 1 semaine | 22 | 23 | Bien sûr, n’hésitez pas à passer autant de temps que vous le souhaitez, les gens ont demandé un calendrier et une décomposition,alors je l’ai ajouté. 24 | 25 | ## Resources 26 | 27 | | Ordre | Titre | Notes | 28 | | :---- | :--------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | 29 | | Optionel | [Une introduction à la programmation](https://docs.microsoft.com/learn/modules/web-development-101-introduction-programming/) | Un excellent module Microsoft Learn sur le sujet. | 30 | | 1 | [Python Cours intensif (Anglais)](https://ehmatthes.github.io/pcc/) | Un excellent livre Python,il y a aussi une annexe là-dedans sur Git qui est génial! 31 | | 1 | [FreeCodeCamp apprendre python (Anglais)](https://www.youtube.com/watch?v=rfscVS0vtbw) | L’une des nombreuses ressources precieuses fournies par [FreeCodeCamp (Anglais)](https://www.freecodecamp.org/) | 32 | 1 | [Prenez vos premiers pas avec python](https://docs.microsoft.com/learn/paths/python-first-steps/) | Un parcours d’apprentissage de 4 heures vous présentant Python | 33 | 1 | [Creez des applications du monde reel avec python](https://docs.microsoft.com/learn/paths/python-language/) | Une ressource d’apprentissage pratique Microsoft de 2 heures 34 | | 2 | [Introduction à Git](https://docs.microsoft.com/learn/modules/intro-to-git/) | Une excellente ressource pour apprendre Git par Microsoft learn | 35 | | 2 | [Cours Git FreeCodeCamp (Anglais)](https://youtu.be/RGOj5yH7evk) | Une excellente ressource pour apprendre Git par FreeCodeCamp | 36 | 37 | ## Projets 38 | 39 | | Titre | Description | 40 | | :------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | 41 | | [25 projets python pour debutant (Anglais)](https://www.freecodecamp.org/news/python-projects-for-beginners/)| Faites-en autant que vous le souhaitez. | 42 | [Creer votre profile GitHub readme](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme) | Créez un fichier README pour parler de vous aux autres. Voici [le mien](https://github.com/madebygps/madebygps) comme un exemple. Rishab en a [un](https://github.com/rishabkumar7/rishabkumar7) aussi. 43 | | [Projets de sise en réseau en Python (Anglais)](https://youtu.be/FGdiSJakIS4)| Développez des compétences en Python et en Réseau. 44 | 45 | ## Les choses avec lesquels vous devez être familier à la fin de cette phase 46 | 47 | ### Programmation 48 | 49 | - Variables 50 | - Types de données 51 | - Commentaires 52 | - Fonctions 53 | - Programmation orienté objet 54 | - Listes 55 | - Modules 56 | - Dictionnaires 57 | - Boucles 58 | - Instructions de contrôle 59 | - Exceptions 60 | 61 | ### Git 62 | 63 | - Comment créer un dépôt localement 64 | - Comment créer un dépôt Git et le cloner (télécharger) localement 65 | - Comment créer une branche Git 66 | - Comment ajouter des modifications à une branche avec Git 67 | - Comment fusionner les changements avec Git 68 | - Comment documenter le code avec un README 69 | 70 | ## Certifications qui pourraient vous intéresser 71 | 72 | - [Python Institute certifications](https://pythoninstitute.org/certification-tracks) 73 | 74 | Les certifications de programmation ne sont pas aussi en demande / populaires que celles du cloud. Comme pour toute certification, vous pouvez l’utiliser pour renforcer vos connaissances, mais ce n’est pas une obligation. Il y a beaucoup d’ingénieurs cloud sans certification. 75 | -------------------------------------------------------------------------------- /i18n/ne/docusaurus-plugin-content-docs/current/index.md: -------------------------------------------------------------------------------- 1 | # स्वागत छ 2 | 3 | ## लर्न टु क्लाउड भनेको के हो? 4 | 5 | Learn to Cloud एउटा गाइड हो (किताब वा पाठ्यक्रम होइन) जुन [यो ट्विट](https://twitter.com/madebygps/status/1406258053427740672?lang=en) बाट आएको हो। 6 | लक्ष्य भनेको तपाईंले क्लाउड कम्प्युटिङमा जानको लागि सिक्नु पर्ने सीपहरूको रूपरेखा प्रदान गर्नु हो। यसको अन्त्यमा तपाईंसँग भूमिकाहरूको लागि प्राविधिक ज्ञान हुनुपर्छ: 7 | 8 | - सिस्टम अड्मिनिस्ट्रटर 9 | - क्लाउड सपोर्ट इन्जिनियर 10 | - क्लाउड अड्मिनिस्ट्रटर 11 | 12 | ## के म साँच्चै स्व-सिकाएर क्लाउड फिल्डमा जान सक्छु? 13 | 14 | हो, हेर्नुहोस [यो](https://youtu.be/kluKaLXJ2lg) 15 | 16 | ## प्रश्न ? टिप्पणीहरू? प्रतिक्रिया? 17 | 18 | कृपया एउटा [इस्सु](https://github.com/learntocloud/learn-to-cloud/issues) खोल्नुहोस् । 19 | 20 | ## चरणहरू 21 | 22 | | अर्डर | विषय | नोट | 23 | |-------|---------------------------------|-------------------| 24 | | [0](phase0/README.md) | शून्य प्राविधिक अनुभवबाट सुरु गर्नुहोस् | वैकल्पिक 25 | | [१](phase1/README.md) | लिनक्स र नेटवर्किङ आधारभूत | 1 महिना 26 | | [२](phase2/README.md) | प्रोग्रामिङ आधारभूत | १ महिना | 27 | | [३](phase3/README.md) | क्लाउड प्लेटफर्म आधारभूत | २ महिना | 28 | | [४](phase4/README.md) | DevOps आधारभूत | १ महिना | 29 | | [५](phase5/README.md) | क्लाउड सुरक्षा आधारभूत | १ महिना | 30 | -------------------------------------------------------------------------------- /i18n/ne/docusaurus-plugin-content-docs/current/phase0/README.md: -------------------------------------------------------------------------------- 1 | # चरण 0: शून्यबाट सुरु गर्दै 2 | 3 | लेखक: [ग्वेनेथ पेना-सिगुएन्जा](https://twitter.com/madebygps) 4 | 5 | ## यो चरण क्लाउडमा कसरी लागू हुन्छ? 6 | 7 | यदि तपाईंसँग शून्य प्राविधिक अनुभव छ जस्तो लाग्छ तर तपाईं क्लाउड कम्प्युटिङमा जान चाहनुहुन्छ। यो चरण तपाईको लागि हो। यदि तपाइँ पहिले नै प्रविधिमा हुनुहुन्छ र क्लाउडमा स्विच गर्दै हुनुहुन्छ भने, 8 | [फेज १ मा जानुहोस्: लिनक्स र नेटवर्किङका आधारभूत कुराहरू](../phase1/README.md)। 9 | 10 | सुरु गरौं। 11 | 12 | १. मलाई लाग्छ कि एउटा राम्रो पहिलो कदम भनेको IT को आधारभूत कुराहरू बुझ्नु हो र [यो प्लेलिस्ट](https://www.youtube.coplaylist?list=PLG49S3nxzAnlGHY8ObL8DiyP3AIu9vd3K) एक शानदार सिंहावलोकन हो। 13 | 14 | २. माथिको भिडियोले तपाइँलाई निम्न बारे केहि बुझ्नुपर्छ तर आउनुहोस् अलि बढी डुब्न र क्लाउडका केही आधारभूत कुराहरू के हो भनेर बुझौं। 15 | 16 | - [लिनक्स भनेको के हो](https://youtu.be/PwugmcN1hf8) 17 | - [नेटवर्किङ भनेको के हो](https://youtu.be/3QhU9jd03a0) 18 | - [प्रोग्रामिङ भनेको के हो](https://youtu.be/ifo76VyrBYo) 19 | - [क्लाउड कम्प्युटिङ भनेको के हो](https://youtu.be/eZLcyTxi8ZI) 20 | - [DevOps भनेको के हो](https://youtu.be/9pZ2xmsSDdo/) 21 | - [क्लाउड इन्जिनियर के हो र कसरी बन्ने](https://youtu.be/7i1WMGxyt4Q) 22 | 23 | ## यस चरणको अन्त्यमा तपाईंले परिचित हुन सक्ने कुराहरू 24 | 25 | - इमान्दारीपूर्वक यस बिन्दुमा, तपाइँलाई सुनिश्चित गर्न आवश्यक छ कि तपाइँ प्राविधिकमा जान चाहनुहुन्छ र तपाइँ धेरै सिक्न तयार हुनुहुन्छ। सिकाइ कहिल्यै रोकिने छैन। 26 | 27 | ## तपाईंले हेर्न चाहनुहुने प्रमाणपत्रहरू 28 | 29 | प्राविधिक क्षेत्रमा प्रवेश गर्ने मानिसहरूको लागि एक उद्योग मानक [CompTIA A+](https://www.comptia.org/certifications/a) हो। 30 | 31 | के यो आवश्यक छ? होइन। यो उपयोगी छ? तपाइँको सिकाउने शैली मा निर्भर गर्दछ। के मैले A+ लिएको छु? साथै नं. यसको मतलब तपाईंले यसलाई लिनु हुँदैन? होइन। यसले तपाईंको पुन: सुरु गर्न मद्दत गर्छ? हुनसक्छ। 32 | 33 | यद्यपि केही मानिसहरूले मलाई भनेका छन् कि यसले उनीहरूलाई भूमि समर्थन भूमिकाहरू जस्तै मद्दत गरेको छ: 34 | 35 | - सेवा डेस्क विश्लेषक 36 | - हेल्प डेस्क टेक 37 | - डेस्कटप समर्थन प्रशासक 38 | - प्राविधिक सहयोग विशेषज्ञ 39 | - अन्त प्रयोगकर्ता कम्प्युटिङ प्राविधिक 40 | - क्षेत्र सेवा प्राविधिक 41 | - हेल्प डेस्क प्राविधिक 42 | - प्रणाली समर्थन विशेषज्ञ 43 | 44 | ## जागिर 45 | 46 | म समर्थन भूमिकामा प्राविधिक क्षेत्रमा सुरु गर्ने र माथि बढ्ने ठूलो प्रशंसक हुँ। तिनीहरू प्रवेश स्तर अनुकूल छन् र अक्सर शैक्षिक सामग्री र प्रमाणपत्रहरूको लागि तिर्न इच्छुक छन्। 47 | 48 | साथै लगभग हरेक कम्पनीमा हेल्पडेस्क छ, त्यसैले सुरु गर्नका लागि प्रशस्त ठाउँहरू छन्! 49 | 50 | KevTech द्वारा [हेल्पडेस्क अन्तर्वार्ता प्रश्नहरू](https://youtu.be/McxVgoQaCpU) मा यो भिडियो हेर्नुहोस्। Binge उहाँको च्यानल हेर्नुहोस् किनभने उहाँसँग धेरै उत्कृष्ट सामग्री छ! 51 | -------------------------------------------------------------------------------- /i18n/ne/docusaurus-plugin-content-docs/current/phase2/README.md: -------------------------------------------------------------------------------- 1 | # चरण 2: प्रोग्रामिंग आधारभूतहरू 2 | 3 | लेखक: [GPS](https://twitter.com/madebygps) 4 | 5 | ## यो चरण क्लाउडमा कसरी लागू हुन्छ? 6 | 7 | तपाईंले कार्यहरू स्वचालित गर्न र पूर्वाधारहरू प्रयोग गर्न कोड प्रयोग गर्नुहुनेछ। तपाईंले पूर्ण अनुप्रयोगहरू कसरी निर्माण गर्ने भनेर जान्न आवश्यक छैन तर प्रोग्रामिङका आधारभूत कुराहरू बुझ्नुले तपाईंलाई माथिल्लो हात दिनेछ। क्लाउडमा समर्पित विकासकर्ता भूमिकाहरू छन्। ती व्यक्तिहरूका लागि तपाईंले पूर्ण समाधानहरू कसरी बनाउने भनेर जान्न आवश्यक छ, त्यो भूमिकाको बारेमा थप जानकारीको लागि [यो भिडियो](https://youtu.be/WMUAc7bvB7M) हेर्नुहोस्। 8 | 9 | अघिल्लो चरणमा तपाइँलाई परिचय दिईयो र केहि ब्यास लिपिहरू लेख्नुभयो। ब्यास स्क्रिप्टिङ कार्यहरू स्वचालित गर्न प्रयोग गरिन्छ र सर्भरहरूको लागि विश्वव्यापी भाषा मानिन्छ, किनकि आजकल, ब्यास लगभग हरेक लिनक्स सर्भरमा पूर्वनिर्धारित रूपमा स्थापित हुन्छ। 10 | 11 | मलाई लाग्छ कि अब यो केहि थप प्रोग्रामिङ कौशल सिक्न लाभदायक हुनेछ। 12 | 13 | त्यहाँ धेरै प्रोग्रामिङ भाषाहरू छन् जुन क्लाउडमा लोकप्रिय छन्, जस्तै Go, Rust, .NET, JavaScript, तर तपाईं एक शुरुआती हुनुहुन्छ, म [Python](https://www.python.org/) मा जानेछु। यो एक धेरै लोकप्रिय भाषा हो र त्यहाँ यसलाई सिक्नको लागि त्यहाँ धेरै गुणस्तर नि: शुल्क स्रोतहरू छन् र यो सुरु गर्न सरल भाषाहरू मध्ये एक हो। 14 | 15 | [Git](https://git-scm.com/) सबैभन्दा लोकप्रिय संस्करण नियन्त्रण उपकरण र DevOps अभ्यासहरू मध्ये एक हो। यो तपाईंको कोड व्यवस्थापन र साझेदारी गर्न प्रयोग गरिन्छ। GitHub सबैभन्दा लोकप्रिय Git भण्डार होस्टिंग सेवाहरू मध्ये एक हो। यदि तपाईंसँग पहिले नै छैन भने [GitHub](https://github.com/) खाता सिर्जना गर्न केही समय लिनुहोस्। यो तपाईंको कोड पोर्टफोलियो हुनेछ र तपाईंले त्यहाँ जति धेरै परियोजनाहरू राख्नु पर्छ। 16 | 17 | ## यस चरणलाई कसरी तोड्ने 18 | 19 | म यी तीन विषय र यो टाइमलाइनमा समय खर्च गर्न सुझाव दिन्छु: 20 | 21 | | अर्डर | विषय | समय प्रतिबद्धता | 22 | | :------------- | ---------- | :------------ | 23 | | १ | पाइथनको साथ प्रोग्रामिङको परिचय | ३ हप्ता 24 | | २ | Git र GitHub को साथ संस्करण नियन्त्रणको परिचय | १ हप्ता | 25 | 26 | निस्सन्देह तपाईले चाहानु भएको धेरै समय खर्च गर्न स्वतन्त्र महसुस गर्नुहोस्, मानिसहरूले टाइमलाइन र ब्रेकडाउनको लागि सोधेका छन् त्यसैले मैले यसलाई थपेको छु। 27 | 28 | ## स्रोतहरू 29 | 30 | | अर्डर | शीर्षक | नोट | 31 | | :---- | :------------------------------------------------- ---------------------------------------- | -------------------------------------------------- ------------------------------------------------------ | 32 | | ऐच्छिक | [प्रोग्रामिङको परिचय](https://docs.microsoft.com/learn/modules/web-development-101-introduction-programming/) | विषयमा एक उत्कृष्ट Microsoft Learn मोड्युल। | 33 | | १ | [पाइथन क्र्यास कोर्स](https://ehmatthes.github.io/pcc/) | एक महान पाइथन पुस्तक, त्यहाँ Git मा एक परिशिष्ट पनि छ जुन महान छ! 34 | | १ | [FreeCodeCamp लर्न पाइथन](https://www.youtube.com/watch?v=rfscVS0vtbw) | [FreeCodeCamp](https://www.freecodecamp.org/) द्वारा प्रदान गरिएको धेरै अद्भुत स्रोतहरू मध्ये एक | 35 | १ | [पाइथनसँग आफ्नो पहिलो कदम चाल्नुहोस्](https://docs.microsoft.com/learn/paths/python-first-steps/) | 4 घन्टा सिक्ने मार्गले तपाईंलाई पाइथनमा परिचय गराउँछ | 36 | १ | [पाइथनसँग वास्तविक विश्व अनुप्रयोगहरू निर्माण गर्नुहोस्](https://docs.microsoft.com/learn/paths/python-language/) | माइक्रोसफ्ट लर्न रिसोर्समा २ घण्टाको हात 37 | | २ | [गिटको परिचय](https://docs.microsoft.com/learn/modules/intro-to-git/) | Microsoft Learn | द्वारा Git सिक्नको लागि एक महान स्रोत 38 | | २ | [FreeCodeCamp Git पाठ्यक्रम](https://youtu.be/RGOj5yH7evk) | FreeCodeCamp द्वारा Git सिक्न एक महान स्रोत | 39 | 40 | ## परियोजनाहरू 41 | 42 | | शीर्षक | विवरण | 43 | | :------------------------- | -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- | 44 | | [२५ पाइथन परियोजनाहरू शुरुआतीहरूका लागि](https://www.freecodecamp.org/news/python-projects-for-beginners/)| तपाईले चाहानुभएका यी मध्ये धेरै गर्नुहोस्। | 45 | [तपाईंको GitHub प्रोफाइल readme सिर्जना गर्नुहोस्](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme) | अरू मानिसहरूलाई आफ्नो बारेमा बताउन एउटा README सिर्जना गर्नुहोस्। यहाँ [मेरो](https://github.com/madebygps/madebygps) उदाहरणको रूपमा छ। ऋषबसँग पनि राम्रो [एक](https://github.com/rishabkumar7/rishabkumar7) छ। 46 | | [नेटवर्किङ पाइथन परियोजनाहरू](https://youtu.be/FGdiSJakIS4)| केहि पाइथन र नेटवर्किङ कौशल निर्माण गर्नुहोस् 47 | 48 | ## यस चरणको अन्त्यमा तपाईले परिचित हुनै पर्ने कुराहरू 49 | 50 | ### प्रोग्रामिङ 51 | 52 | - Variables 53 | - डाटा प्रकारहरू 54 | - टिप्पणीहरू 55 | - कार्यहरू 56 | - OOP 57 | - सूचीहरू 58 | - मोड्युलहरू 59 | - शब्दकोशहरू 60 | - लूपहरू 61 | - नियन्त्रण बयान 62 | - अपवादहरू 63 | 64 | ### Git 65 | 66 | - स्थानीय रूपमा Git रिपो कसरी सिर्जना गर्ने 67 | - कसरी GitHub रेपो सिर्जना गर्ने र यसलाई स्थानीय रूपमा क्लोन गर्ने। 68 | - कसरी गिट शाखा सिर्जना गर्ने 69 | - कसरी Git शाखामा परिवर्तनहरू थप्नुहोस् 70 | - कसरी Git परिवर्तनहरू मर्ज गर्ने 71 | - README को साथ कोड कसरी कागजात गर्ने 72 | 73 | ## तपाईंले हेर्न चाहनुहुने प्रमाणपत्रहरू 74 | 75 | - [पाइथन इन्स्टिच्युट सर्टिफिकेसन](https://pythoninstitute.org/certification-tracks) 76 | 77 | प्रोग्रामिङ प्रमाणपत्रहरू क्लाउडहरू भन्दा माग/लोकप्रिय छैनन्। कुनै पनि प्रमाणीकरणको रूपमा, तपाइँ यसलाई तपाइँको ज्ञानलाई सुदृढ गर्न प्रयोग गर्न सक्नुहुन्छ, तर यो दायित्व होइन। शून्य प्रमाणीकरणका साथ धेरै क्लाउड इन्जिनियरहरू छन्। 78 | -------------------------------------------------------------------------------- /i18n/ne/docusaurus-plugin-content-docs/current/phase4/README.md: -------------------------------------------------------------------------------- 1 | # चरण 4: DevOps को आधारभूत कुराहरू 2 | 3 | लेखक: [GPS](https://twitter.com/madebygps) 4 | 5 | ## यो चरण क्लाउडमा कसरी लागू हुन्छ? 6 | 7 | DevOps भनेको तपाईको समाधानहरू डिप्लोयमेन्टदेखि अपडेटहरू सम्म कुशलतापूर्वक चलाउनको लागि हो। 8 | यो क्लाउडको लागि विशिष्ट छैन, किनकि तपाईंले DevOps अभ्यासहरू अन-प्रेम र हाइब्रिड वातावरणमा पनि लागू गर्न सक्नुहुन्छ। DevOps एकल भूमिकामा सीमित छैन। यद्यपि अधिकांश कम्पनीहरूले DevOps मा भूमिकाहरू समर्पित गरेका छन्। यदि तपाइँको उद्देश्य एक DevOps ईन्जिनियर बन्ने हो भने, यो चरणले तपाइँलाई सुरु गराउनेछ तर तपाइँ गहिरो जानु पर्छ। 9 | DevOps एक संस्कृति हो, र कुनै विशेष उपकरण वा सेवा होइन। DevOps के हो भनेर पढ्नुहोस्। प्रत्येक क्लाउड प्लेटफर्ममा DevOps उपकरणहरूको सूट हुन्छ, मैले यहाँ केही लेखहरू लिङ्क गरेको छु। 10 | 11 | - [Microsoft - DevOps के हो](https://azure.microsoft.com/overview/what-is-devops/#overview) 12 | - [AWS - DevOps के हो](https://aws.amazon.com/devops/what-is-devops/) 13 | - [IBM - एक DevOps पूर्ण गाइड](https://www.ibm.com/cloud/learn/devops-a-complete-guide) 14 | 15 | मलाई पनि यो पढ्न लायक लाग्छ [The Phoenix Project](https://itrevolution.com/the-phoenix-project/) यो पढ्नको लागि धेरै रमाइलो छ किनभने यो एक काल्पनिक कथा हो तर यसले DevOps को महत्व बताउँछ। तर यदि तपाइँ समान विचारहरूको साथ पाठ्यपुस्तक जस्तै केहि मनपर्छ भने,जाँच गर्नुहोस् [The DevOps Handbook](https://itrevolution.com/the-devops-handbook/). 16 | 17 | तपाईंले पूरा गर्नुपर्थ्यो [Cloud Resume Challenge](https://cloudresumechallenge.dev/) अघिल्लो चरणमा। त्यो परियोजनाले तपाईंलाई DevOps अवधारणाहरूसँग परिचय गराउँछ, यदि तपाईंसँग छैन भने, फिर्ता जानुहोस् र त्यसो गर्नुहोस्। 18 | 19 | ## How to break down this phase 20 | 21 | | अर्डर | विषय | समय प्रतिबद्धता | 22 | |-------|-----------------------|-------------------| 23 | | १ | CI/CD GitHub कार्यहरूको साथ | 1 हप्ता 24 | | २ | Terraform संग IaC | 1 हप्ता | 25 | | 3 | डकरको साथ कन्टेनरहरू | 1 हप्ता | 26 | | 4 | Kubernetes संग कन्टेनर अर्केस्ट्रेशन | 1 हप्ता | 27 | | 5 | Prometheus संग निगरानी | 1 हप्ता | 28 | 29 | निस्सन्देह तपाईले चाहानु भएको धेरै समय खर्च गर्न स्वतन्त्र महसुस गर्नुहोस्, मानिसहरूले टाइमलाइन र ब्रेकडाउनको लागि सोधेका छन् त्यसैले मैले यसलाई थपेको छु। प्रत्येक DevOps अभ्यास मामिला, तर यी एक प्रविष्टि/जुनियर स्तर मा सबै भन्दा बढी प्रयोग गरिन्छ। तपाइँ पहिले नै चरण 2 बाट संस्करण नियन्त्रण संग परिचित हुनुपर्छ। 30 | 31 | ## स्रोतहरू 32 | 33 | | स्रोतहरू | नोटहरु | 34 | | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | 35 | | [GitHub कार्यहरू ट्यूटोरियल - आधारभूत अवधारणाहरू र डकरसँग CI/CD पाइपलाइन](https://www.youtube.com/watch?v=R8_veQiYBjI)|नाना DevOps को रानी हुन् र त्यहाँ केहि उत्कृष्ट DevOps सिकाउने सामग्री सिर्जना गर्छन्। यो ट्यूटोरियलले तपाईंलाई GitHub कार्यहरूमा परिचय गराउनेछ। 36 | | [Terraform कोर्स पूरा गर्नुहोस् - BEGINNER देखि PRO सम्म!](https://www.youtube.com/watch?v=7xngnjfIlK4)| तपाइँको AWS पूर्वाधार स्वचालित गर्न Terraform कसरी प्रयोग गर्ने जान्नुहोस्। 37 | | [शुरुआतीहरूको लागि डकर ट्यूटोरियल](https://youtu.be/3c-iBn73dDE) | धेरै डेमोहरू र पछाडिका अवधारणाहरू व्याख्या गर्दै डकर ह्यान्ड्स-अन कोर्स पूरा गर्नुहोस्, ताकि तपाईंले यसलाई वास्तवमै बुझ्नुहुन्छ। 38 | | [निरपेक्ष शुरुआतीहरूको लागि Kubernetes क्र्यास कोर्स](https://youtu.be/s_o8dwzRlu4) | ह्यान्ड्स-अन Kubernetes ट्यूटोरियल | 1 घण्टामा Kubernetes सिक्नुहोस् - शुरुआतीहरूको लागि Kubernetes पाठ्यक्रम 39 | | [प्रोमेथियस निगरानी ट्यूटोरियल पूरा गर्नुहोस्](https://youtube.com/playlist?list=PLy7NrYWoggjxCF3av5JKwyG7FFF9eLeL4) | प्रोमेथियस निगरानी ट्यूटोरियल पूरा गर्नुहोस् 40 | 41 | ## परियोजनाहरू 42 | 43 | | शीर्षक | स्रोत | 44 | | :----------------------------------------------------------- | --------------------------------------------------------------------------------- | 45 | | [Azure DevOps प्रयोग गरेर DevOps यात्रा](https://github.com/thomast1906/DevOps-Journey-Using-Azure-DevOps) | यो ट्यूटोरियल/ल्याब सेटअपले तपाईंलाई Azure DevOps प्रयोग गरेर DevOps यात्रामा लैजान्छ। तपाइँको पाइपलाइन सेटअप देखि तपाइँको Azure Kubernetes क्लस्टर मा एक आवेदन तैनाती सम्म! | 46 | | [DevOps द हार्डवे - Azure](https://github.com/thomast1906/DevOps-The-Hard-Way-Azure) | यो ट्यूटोरियलले Azure मा अनुप्रयोगहरू र क्लाउड सेवाहरू/क्लाउड पूर्वाधारहरू प्रयोग गर्न DevOps प्रविधिहरू र अभ्यासहरू प्रयोग गर्ने वातावरण सेटअप गर्नको लागि पूर्ण, वास्तविक-विश्व समाधान समावेश गर्दछ। | 47 | | [DevOps द हार्डवे - AWS](https://github.com/AdminTurnedDevOps/DevOps-The-Hard-Way-AWS) | यस ट्यूटोरियलले AWS मा एपहरू र क्लाउड सेवाहरू/क्लाउड पूर्वाधारहरू प्रयोग गर्नका लागि DevOps प्रविधिहरू र अभ्यासहरू प्रयोग गर्ने वातावरण सेटअप गर्नको लागि पूर्ण, वास्तविक-विश्व समाधान समावेश गर्दछ। | 48 | 49 | ## यस चरणको अन्त्यमा तपाईले परिचित हुनै पर्ने कुराहरू 50 | 51 | - प्रत्येक DevOps अभ्यास व्याख्या गर्न सक्षम हुनुहोस् 52 | - किन प्रत्येकले महत्त्वपूर्ण छ। 53 | - प्रत्येकले के पूरा गर्छ। 54 | - प्रत्येक अभ्यास लागि सबैभन्दा लोकप्रिय उपकरण। 55 | 56 | - तपाईंको GitHub मा व्यक्तिगत परियोजनाहरू छन्। तपाईंको कम्तिमा २ परियोजनाहरूको लागि: 57 | - एक CI/CD पाइपलाइन छ। 58 | - प्रत्येक परियोजनाको लागि IaC फाइलहरू छन्। 59 | - प्रत्येकको लागि अनुगमन लागू गर्नुहोस्। 60 | - निश्चित गर्नुहोस् कि तपाइँ लगिङ र मेट्रिक्स डेटा बुझ्न सक्नुहुन्छ। 61 | - यदि तपाइँको परियोजनाको साथ केहि गलत भएको थियो भने, कसरी समस्या निवारण गर्ने भनेर बुझ्नुहोस्। 62 | 63 | ## तपाईंले हेर्न चाहनुहुने प्रमाणपत्रहरू 64 | 65 | - [AWS प्रमाणित DevOps इन्जिनियर - व्यावसायिक](https://aws.amazon.com/certification/certified-devops-engineer-professional/?ch=sec&sec=rmg&d=1) 66 | - [माइक्रोसफ्ट प्रमाणित: DevOps ईन्जिनियर विशेषज्ञ](https://docs.microsoft.com/en-us/learn/certifications/devops-engineer/) 67 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Pacto do Código de Conduta do Colaborador 2 | 3 | ## Nosso Compromisso 4 | 5 | Nós, como membros, colaboradores e líderes, nos comprometemos a fazer a participação em nossa 6 | comunidade uma experiência livre de assédio para todos, independentemente da idade, altura, deficiência visível ou invisível, etnia, características sexuais, identidade de gênero e expressão, nível de experiência, educação, status socioeconômico, nacionalidade, aparência pessoal, raça, casta, cor, religião ou identidade e orientação. 7 | 8 | Comprometemo-nos a agir e interagir de forma a contribuir para um ambiente aberto, acolhedor, com uma comunidade diversificada, inclusiva e saudável. 9 | 10 | ## Nossas Normas 11 | 12 | Exemplos de comportamentos que contribuem para um ambiente positivo para a nossa comunidade incluem: 13 | 14 | * Demonstrar empatia e bondade para com outras pessoas 15 | * Ser respeitoso com as diferentes opiniões, pontos de vista e experiências 16 | * Dar e aceitar de forma respeitosa feedback construtivo 17 | * Aceitar a responsabilidade e pedir desculpas aos afetados por nossos erros, 18 | e aprender com a experiência 19 | * Concentrar-se no que é melhor não apenas para nós como indivíduos, 20 | mas para o geral como comunidade 21 | 22 | 23 | Exemplos de comportamentos inaceitáveis incluem: 24 | 25 | * O uso de linguagem ou imagens sexualizadas, e atenção sexual ou avanços de qualquer tipo 26 | * Comentários provocativos, insultantes ou depreciativos, e ataques pessoais ou políticos 27 | * Assédio público ou privado 28 | * Divulgar informações privadas de terceiros, como endereço físico ou de e-mail, sem permissão explícita 29 | * Outros comportamentos que poderiam ser considerados inapropriados em um ambiente profissional 30 | 31 | 32 | ## Cumprimento de Responsabilidades 33 | 34 | Os líderes da comunidade são responsáveis por esclarecer e fazer cumprir nossos padrões de 35 | comportamento aceitável e tomará as medidas corretivas apropriadas de forma justa a qualquer 36 | comportamento que considerem inadequado, ameaçador, ofensivo, ou prejudicial. 37 | 38 | Os líderes da comunidade têm o direito e a responsabilidade de remover, editar ou rejeitar 39 | comentários, commits, código, edições do wiki, issues e outras contribuições que não 40 | são alinhadas à este Código de Conduta, e comunicará os motivos da moderação 41 | decisões quando apropriado. 42 | 43 | ## Escopo 44 | 45 | Este Código de Conduta aplica-se a todos os espaços comunitários e também quando 46 | um indivíduo está representando oficialmente a comunidade em espaços públicos. 47 | Exemplos de representação de nossa comunidade incluem o uso de um endereço de e-mail oficial, 48 | postar por meio de uma conta oficial de mídia social ou agindo como um 49 | representante em um evento online ou offline. 50 | 51 | ## Cumprimento 52 | 53 | Casos de comportamento abusivo, de assédio ou de outra forma inaceitável podem ser 54 | reportado aos líderes comunitários responsáveis pela fiscalização em gwynethpena@outlook.com. 55 | Todas as reclamações serão analisadas e investigadas prontamente e de forma justa. 56 | 57 | Todos os líderes comunitários são obrigados a respeitar a privacidade e a segurança do 58 | relator de qualquer incidente. 59 | 60 | ## Cumprimento das Diretrizes 61 | 62 | Os líderes comunitários seguirão o Cumprimento das Diretrizes na Comunidade para determinar 63 | as consequências de qualquer ação que considerem violar este Código de Conduta: 64 | 65 | ### 1. Correção 66 | 67 | **Impacto na comunidade**: uso de linguagem imprópria ou outro comportamento considerado 68 | pouco profissional ou indesejável na comunidade. 69 | 70 | **Consequência**: Uma advertência privada por escrito dos líderes da comunidade, fornecendo 71 | clareza sobre a natureza da violação e uma explicação de por que o 72 | comportamento era inadequado. Um pedido de desculpas público pode ser solicitado. 73 | 74 | ### 2. Aviso 75 | 76 | **Impacto na comunidade**: uma violação por meio de um único incidente ou série de 77 | ações. 78 | 79 | **Consequência**: um aviso com consequências para o comportamento continuo. Não 80 | interação com as pessoas envolvidas, incluindo interação não solicitada com 81 | aqueles que aplicam o Código de Conduta, por um período de tempo especificado. Esse 82 | inclui evitar interações em espaços comunitários, bem como canais externos 83 | como as redes sociais. A violação destes termos pode levar a uma suspensão temporária ou permanente 84 | banimento. 85 | 86 | ### 3. Ban Temporário 87 | 88 | **Impacto na comunidade**: uma violação grave dos padrões da comunidade, incluindo 89 | comportamento inadequado sustentado. 90 | 91 | **Consequência**: banimento temporário de qualquer tipo de interação ou comunicação 92 | pública com a comunidade por um determinado período de tempo. Nenhuma interação pública ou 93 | privada com as pessoas envolvidas, incluindo interação não solicitada 94 | com aqueles que aplicam o Código de Conduta, é permitido durante este período. 95 | A violação destes termos pode levar a um banimento permanente. 96 | 97 | ### 4. Ban Permanente 98 | 99 | **Impacto na comunidade**: Demonstrando um padrão de violação do padrões da comunidade, 100 | incluindo comportamento inadequado sustentado, assédio de um indivíduo, ou agressão 101 | ou depreciação de classes de indivíduos. 102 | 103 | **Consequência**: banimento permanente de qualquer tipo de interação pública dentro da 104 | comunidade. 105 | 106 | ## Atribuição 107 | 108 | Este Código de Conduta é adaptado do [Contributor Covenant][homepage], 109 | versão 2.1, disponível em 110 | [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. 111 | 112 | As Diretrizes da Comunidade foram inspiradas por 113 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. 114 | 115 | Para perguntas e respostas comuns sobre este código de conduta, consulte as Perguntas frequentes em 116 | [https://www.contributor-covenant.org/faq][FAQ]. Traduções disponíveis em 117 | [https://www.contributor-covenant.org/translations][translations]. 118 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Como contribuir para o Guia de aprendizado na Nuvem 2 | 3 | O Guia Learn to cloud ainda está em fase inicial e apenas com conteúdo estático. Temos planos para crescer! Por enquanto, estamos procurando por contribuições do Projeto. Em cada fase há um Projetos Comunitários 4 | seção, sinta-se à vontade para abrir uma issue com sua ideia de projeto. 5 | 6 | Obrigado! :heart: :heart: :heart: 7 | 8 | GPS and Rishab 9 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/_coverpage.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![logo](../img/Logo-03.svg) 4 | 5 | [![GitHub license](https://img.shields.io/github/license/learntocloud/learn-to-cloud.svg)](https://github.com/learntocloud/learn-to-cloud/blob/master/LICENSE) 6 | [![PRs são bem vindos](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 7 | 8 | 9 | [![GitHub forks](https://img.shields.io/github/forks/learntocloud/learn-to-cloud.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/network/) 10 | [![GitHub stars](https://img.shields.io/github/stars/learntocloud/learn-to-cloud.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/stargazers/) 11 | 12 | 13 | > Um guia de 6 meses para os fundamentos da computação em nuvem 14 | 15 | - Gratuito e de código aberto 16 | - Fontes, tarefas, e projetos 17 | - Construído a partir da experiência em primeira mão 18 | 19 | [GitHub](https://github.com/learntocloud/learn-to-cloud/) 20 | [Primeiros passos](#bem-vindo) -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/_navbar.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * [Podcast](https://www.youtube.com/channel/UCbEDpkjQYiDn9XfssWGuyHQ/) 4 | 5 | * Redes Sociais 6 | 7 | * [Twitter](https://twitter.com/learntocloud) 8 | * [Discord](https://discord.gg/dr2kvtA726) 9 | * [Instagram](https://www.instagram.com/learntocloudguide/) 10 | 11 | * [Colaboradores](../Contributors.md) 12 | 13 | * Traduções 14 | 15 | * [En](/) 16 | * [Pt](../pt/README.md) 17 | * [Fr](../fr/README.md) 18 | * [Es](../es/) 19 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/_sidebar.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - Comece aqui 4 | - [Bem Vindo](/#bem-vindo) 5 | 6 | - Guia 7 | 8 | - [Fase 0: Começando do zero](/pt/phase0/README.md) 9 | - [Fase 1: Fundamentos de Linux, Redes, and Scripts](/pt/phase1/README.md) 10 | - [Fase 2: Fundamentos de programação](/pt/phase2/README.md) 11 | - [Fase 3: Fundamentos de Cloud Platform](/pt/phase3/README.md) 12 | - [Fase 4: Fundamentos de DevOps](/pt/phase4/README.md) 13 | - [Fase 5: Fundamentos de segurança na nuvem](/pt/phase5/README.md) 14 | 15 | - Fontes 16 | 17 | - [Mais projetos](/pt/projects/README.md) 18 | - [Dicas de estudos](/pt/resources/readme.md) 19 | - [Fontes sobre currículo](/pt/resources/resume-tips.md) 20 | 21 | - Siga o guia 22 | 23 | - [Twitter](https://twitter.com/learntocloud) 24 | - [Instagram](https://instagram.com/learntocloudguide) 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/index.md: -------------------------------------------------------------------------------- 1 | # Bem vindo 2 | 3 | **[Versão Web aqui](https://learntocloud.guide)** 4 | 5 | Essa é um guia baseado em nossas experiências ao adentrar a carreira de Cloud e DevOps. Assim que finalizado, você terá o conhecimento técnico nas carreiras como por exemplo: 6 | 7 | - Administrador de Sistemas 8 | - Engenheiro de Suporte Cloud 9 | - Administrador de Cloud 10 | 11 | Você pode aprender mais sobre nossas jornadas no mundo cloud aqui: 12 | 13 | - [Rishab's jornada de help desk para DevOps engineer sem graduação](https://youtu.be/LZuWZ0SBYm8) 14 | - [Gwyn's journey de help desk para Cloud engineer sem graduação](https://youtu.be/kluKaLXJ2lg) 15 | 16 | Nós tentamos deixar isso o mais genérico e também utilizando as opções mais populares (em termos de conteúdo, comunidade e trabalhos) possíveis. O cronograma de 6 meses é algo que colocamos em prática para ajudar as pessoas com planejamento e responsabilidade. Pode levar mais tempo ou menos tempo para cada fase e, se isso acontecer, tudo bem. 17 | 18 | | Ordem | Tópico | Comprometimento necessário | 19 | |-------|----------------------------------|----------------------------| 20 | | [0](pt/phase0/README.md) | Comece com zero experiência em tecnologia | opcional 21 | | [1](pt/phase1/README.md) | Fundamentos de Linux, Redes, e Scripts | 4 semanas | 22 | | [2](pt/phase2/README.md) | Fundamentos de programação | 4 semanas | 23 | | [3](pt/phase3/README.md) | Fundamentos de Cloud Platform| 8 semanas | 24 | | [4](pt/phase4/README.md) | Fundamentos de DevOps | 8 semanas | 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/more-topics/FAQ.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | ## Qual nuvem aprender? 4 | 5 | Todos os dias você encontrará pessoas discutindo sobre qual é o melhor online. 6 | 7 | Confira as listas de empregos em sua região e escolha aquela com mais resultados. ESCOLHA UM E FIQUE COM ELE. Os fundamentos são os mesmos e nosso conselho é o mesmo. 8 | 9 | Seja qual for a nuvem que você escolher, certifique-se de criar uma conta e configurar alguns orçamentos e alertas para não acordar com surpresas em sua fatura. [Aqui](https://youtu.be/FZD0s7KE83Y) está como fazer isso no portal do Azure e na [AWS](https://www.youtube.com/watch?v=fvz0cphjHjg). 10 | 11 | 12 | ## As plataformas pagas de aprendizado de nuvem valem a pena? 13 | 14 | Existem plataformas como [A Cloud Guru](https://acloudguru.com) e [CloudAcademy](https://cloudacademy.com) que você pode pagar por uma assinatura mensal ou anual e ter acesso a conteúdo e ambientes de laboratório para o seu aprendizado. 15 | 16 | Isso ajuda você a evitar gastar seu próprio dinheiro em suas próprias contas da AWS e do Azure, o que, quando você está começando, é uma coisa boa. No final das contas, cabe a você. 17 | 18 | Eu (GPS) tinha uma assinatura da Cloud Guru e da Linux Academy quando estava começando, mas a empresa que eu trabalhava pagava por isso, talvez esse seja um benefício pelo qual sua empresa também possa pagar. 19 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/phase0/README.md: -------------------------------------------------------------------------------- 1 | # Fase 0: Começando do zero 2 | 3 | Author: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | ## Como essa fase se aplica à Nuvem? 6 | 7 | Se você acha que não tem experiência em tecnologia, mas deseja entrar na computação em nuvem essa fase é para você. Se você já trabalha com tecnologia e está migrando para a nuvem, 8 | [Vá para a Fase 1: Fundamentos de Linux, Redes, e Scripts](../phase1/README.md). 9 | 10 | Vamos começar. 11 | 12 | 1. Acho que um bom primeiro passo é entender os fundamentos de TI e [este playlist](https://youtube.com/playlist?list=PLG49S3nxzAnlGHY8ObL8DiyP3AIu9vd3K&feature=shared) é um fantástico overview. 13 | 14 | 2. O vídeo acima deve lhe dar alguma compreensão do conteúdo, mas vamos mergulhar um pouco mais e entender quais são alguns dos fundamentos da Nuvem. 15 | 16 | - [O que é Linux](https://youtu.be/PwugmcN1hf8) 17 | - [O que é Redes](https://youtu.be/3QhU9jd03a0) 18 | - [O que é Programação](https://youtu.be/ifo76VyrBYo) 19 | - [O que é Computação em Nuvem](https://youtu.be/eZLcyTxi8ZI) 20 | - [O que é DevOps](https://youtu.be/9pZ2xmsSDdo/) 21 | - [O que é um Cloud Engineer e como se tornar um](https://youtu.be/7i1WMGxyt4Q) 22 | 23 | ## Coisas com as quais você deve estar familiarizado no final desta fase 24 | 25 | - Honestamente, neste momento, tudo o que você precisa ter certeza é que quer entrar na área de tecnologia e está preparado para aprender muito. O aprendizado nunca vai parar. 26 | 27 | ## Certificações que você pode querer dar uma olhada 28 | 29 | Um padrão da indústria para quem está entrando na área de tecnologia é o [CompTIA A+](https://www.comptia.org/certifications/a). 30 | 31 | Isso é necessário? Não. É útil? Depende do seu estilo de aprendizagem. Eu tirei o A+? Também não. Isso significa que você não deve fazer? Não. Isso ajuda no seu currículo? Talvez. 32 | 33 | No entanto, algumas pessoas me disseram que isso os ajudou a conseguir papéis de apoio como: 34 | 35 | - Analista de Service Desk 36 | - Técnico de Help Desk 37 | - Administrador de Desktop 38 | - Especialista de Suporte Técnico 39 | - Técnico de Suporte à usuário final 40 | - Técnico de Campo 41 | - Especialista de Suporte à Sistemas 42 | 43 | ## Empregos 44 | 45 | Eu sou um grande fã de começar em tecnologia em uma função de suporte técnico e ir migrando. Esses cargos são amigáveis para iniciantes e muitas vezes estão dispostos a pagar por treinamentos e certificações. 46 | 47 | Além disso, quase todas as empresas têm um helpdesk, então há muitas vagas para começar! 48 | 49 | Dê uma olhada neste vídeo da KevTech sobre [Perguntas da entrevista de Helpdesk](https://youtu.be/McxVgoQaCpU). Assista o canal dele porque ele tem muito conteúdo ótimo! 50 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/phase1/README.md: -------------------------------------------------------------------------------- 1 | # Fase 1: Fundamentos de Linux, Redes, e Scripts 2 | 3 | Author: [GPS](https://twitter.com/madebygps) 4 | 5 | ## Como essa fase se aplica à Nuvem? 6 | 7 | Pode-ser dizer que a nuvem é como um monte de servidores Linux conectados em rede. Aprender os fundamentos de como a rede funciona e como interagir com esses servidores por meio de comandos e automatizar esses comandos por meio de um script é o objetivo desta fase. Se você já é um administrador Linux ou engenheiro de redes, poderá aplicar suas habilidades na cloud. 8 | 9 | ## Como desmembrar essa fase? 10 | 11 | Sugiro dedicar algum tempo a esses três tópicos e a esta linha do tempo: 12 | 13 | | Ordem | Topico | Comprometimento necessário | 14 | |-------|---------------------------------|-------------------| 15 | | 1 | Introdução aos comandos do Linux | 2 Semanas 16 | | 2 | Introdução à Redes | 1 Semana | 17 | | 3 | Introdução aos Scripts bash | 1 Semana | 18 | 19 | Claro, sinta-se à vontade para gastar o tempo que quiser, as pessoas pediram uma linha do tempo e detalhamento, então eu a adicionei. 20 | 21 | ## Fontes 22 | 23 | | Topico | Titulo | Notas | 24 | | :------------- | ---------- | :----------- | 25 | | Linux | [Linux Basics for Hackers](https://nostarch.com/linuxbasicsforhackers) | Este livro tornou o aprendizado do Linux DIVERTIDO! É bem fácil de seguir e fazer um capítulo por dia. Você não precisa ler tudo, os primeiros 9 capítulos cobrem a maior parte do que você precisa saber. | 26 | | Linux | [The Linux Command Line](https://nostarch.com/tlcl2) | Usei isso mais como referência para reforçar tópicos do primeiro livro. | 27 | | Linux | [Linux Journey](https://linuxjourney.com/) | Maneira interativa de aprender Linux e Linux CLI!| 28 | | Networking | [FreeCodeCamp Computer Networking Course](https://youtu.be/qiQR5rTSshw) | Este curso completo de Redes de computadores de nível universitário irá prepará-lo para configurar, gerenciar e solucionar problemas de redes de computadores.| 29 | | Introduction to Bash | [Linux Bash Course by GPS](https://youtu.be/qALScO3E61I) | Uma introdução ao Bash!| 30 | | Bash Scripting | [Introduction to Bash scripting](https://youtu.be/_n5ZegzieSQ) | Fantástica introdução ao script bash, a voz de Joe Collins é um calmante!| 31 | | Bash commands | [Beginner's crash course to Linux Bash](https://youtu.be/qALScO3E61I) | Uma hora de video feito pela Gwyn 32 | 33 | ## Projetos 34 | 35 | Titulo | Fonte | 36 | :---------- | :----------- | 37 | Instale o Linux em um computador | Pesquise uma distro e instale-a (Nós gostamos do [Pop!_OS](https://pop.system76.com/)) | 38 | Configure um [LAMP server](https://en.wikipedia.org/wiki/LAMP_(software_bundle)) | Uma tarefa de administração Linux bastante popular. | 39 | Deploy de um servidor NAS | Confira [FreeNAS](https://www.freenas.org/) | 40 | Deploy da sua própria nuvem | Confira [NextCloud](https://nextcloud.com/) | 41 | Converter arquivos de vídeo | Confira [ffmpeg](https://ffmpeg.org/ffmpeg.html) e use para escrever um script que converte um arquivo .mov para mp4 42 | 43 | ## Coisas com as quais você vai estar familiarizado no final desta fase 44 | 45 | ### Comandos 46 | 47 | - Navegue com o comando `cd`. 48 | - Como listar o conteúdo de um diretório e usando o comando `ls`. 49 | - Crie, copie, mova, renomeie, diretórios e arquivos com comandos `mkdir`, `cp`, `rm` e `touch`. 50 | - Encontre coisas com os comandos `locate`, `whereis`, `which` e `find`. 51 | - Entenda como aprender mais sobre comandos com os comandos `which`, `man` e `--help`. 52 | - Esteja familiarizado com encontrar detalhes de logs em `/var/log` 53 | - Como exibir o conteúdo de um arquivo com `cat`, `less`, `more`, `tail`, `head`. 54 | - Filtragem com `grep` e `sed`. 55 | - Redirecionamento de entrada, saída e erro padrão com o operador `>` e comando `tee`. 56 | - Como usar pipelines com o operador `|`. 57 | - Manipule arquivos com `nano` ou `vim`. 58 | - Instalar e desinstalar pacotes. Depende da distro, uso baseado em debian `apt`. 59 | - Controle de permissões com comandos `chown`, `chgrp`, `chmod`. 60 | - Criando usuários e o comando `sudo`. 61 | - Gerenciamento de processos com `ps`, `top`, `nice`, `kill` 62 | - Gerenciar variáveis definidas pelo usuário do ambiente com comandos `env`, `set`, `export`. 63 | - Adicione diretórios ao seu `PATH`. 64 | - Compressão e arquivamento com `tar`, `gzip`, `gunzip`. 65 | - Como acessar um servidor Linux com `ssh`. 66 | 67 | ### Redes 68 | 69 | Conceitos com os quais você deve estar familiarizado. 70 | 71 | - Modelo OSI 72 | - Endereço IP 73 | - Endereço MAC 74 | - Roteamento e comutação 75 | - TCP/IP 76 | - TCP e UDP 77 | - DNS 78 | - Tunelamento VPN 79 | - TLS e SSL 80 | 81 | ### Script Bash 82 | 83 | - O que é o shell? 84 | - O que é Bash? 85 | - Por que um script tem que começar com #!? 86 | - O que é uma variável e como usá-la 87 | - Como aceitar a entrada do usuário 88 | - Como executar um script 89 | 90 | ## Certificações que você pode querer dar uma olhada 91 | 92 | Existem várias certificações Linux e você pode optar por estudar para qualquer uma delas, mas muitas delas cobrem MUITO mais do que você precisa saber para uma base sólida e são mais focadas em administração Linux. 93 | 94 | - [LPI essentials](https://www.lpi.org/our-certifications/linux-essentials-overview) 95 | - [RedHat](https://www.redhat.com/en/services/training-and-certification) 96 | - [Linux Foundation](https://training.linuxfoundation.org/certification-catalog/) 97 | - [Oracle](https://education.oracle.com/oracle-certification-path/pFamily_358) 98 | - [LPI](https://www.lpi.org/) 99 | - [Comptia Linux+](https://www.comptia.org/certifications/linux) 100 | 101 | Existem também TONELADAS de certificações de redes por aí e, semelhantes às do Linux, elas são mais focadas em fornecer muito conhecimento para que você possa se tornar um engenheiro/especialista em redes, novamente em um nível introdutório, é um pouco exagerado. Se você quiser obter uma, dê uma olhada nas [certificações Cisco ](https://www.cisco.com/c/en/us/training-events/training-certifications/certifications.html) que são praticamente um padrão da indústria e/ou as certificações da [Comptia Network+](https://www.comptia.org/certifications/network) 102 | 103 | No final do dia, se você quiser fazer elas, vá em frente :D 104 | 105 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/phase2/README.md: -------------------------------------------------------------------------------- 1 | # Fase 2: Fundamentos de programação 2 | 3 | Author: [GPS](https://twitter.com/madebygps) 4 | 5 | ## Como esta fase se aplica à nuvem 6 | 7 | Você usará códigos para automatizar tarefas e a infraestrutura de deploy. Você não precisa saber como fazer o build de toda a aplicação mas entender o básico de programação te dará uma vantagem. Existem funções de desenvolvedor dedicadas na nuvem. Para isso, você precisará saber fazer o build de toda a solução. Para mais informações sobre essas funções, assista [esse vídeo](https://youtu.be/WMUAc7bvB7M). 8 | 9 | Na fase anterior, você introduziu e escreveu alguns scripts Bash. Esses scripts são usados para automatizar tarefas e é considerado uma linguagem universal para servidores, já que hoje em dia, Bash é instalado por default em quase todos os servidores Linux. 10 | 11 | Creio que agora seria benéfico aprender alguns skills a mais de programação. 12 | 13 | Existem inúmeras linguagens de programação que são populares na nuvem, como `Go`, `Rust`, `.NET`, `JavaScript`, mas, já que você é um iniciante, eu sugeriria [`Python`](https://www.python.org/). Além de ser uma linguagem muito popular e de existir muitas fontes gratuitas de qualidade por aí para se aprender, é umas das linguagens mais simples para de começar. 14 | 15 | [Git](https://git-scm.com/) é a mais popular ferramenta de controle de versão e uma das práticas de DevOps. É uado para gerenciar e compartilhar o seu código. [GitHub](https://github.com/) é um dos mais populares serviços de hospedagem de repositórios Git. Dedique algum tempo para criar uma conta no GitHub se ainda não tem uma. Ele será o seu portfólio de códigos e você pode colocar quantos projetos você quiser por lá. 16 | 17 | ## Como desmembrar essa fase? 18 | 19 | Eu sugeriria gastar um tempo nesses três tópicos e esta linha do tempo: 20 | 21 | | Ordem | Tópico | Comprometimento necessário | 22 | | :---- | :----- | :-------------------------- | 23 | | 1 | Introdução à programação com Python | 3 semanas | 24 | | 2 | Introdução à Controle de Versão com Git e GitHub | 1 semana | 25 | 26 | Claro, sinta-se livre para gastar o tempo que você quiser. As pessoas pediram uma linha do tempo e detalhamento, então eu a adicionei. 27 | 28 | ## Fontes 29 | 30 | | Ordem | Título | Notas | 31 | | :---- | :----- | :---- | 32 | | Opcional | [Uma introdução à programação](https://docs.microsoft.com/learn/modules/web-development-101-introduction-programming/) | Um ótimo módulo do Microsoft Learn sobre o assunto | 33 | | 1 | [Python Crash Course](https://ehmatthes.github.io/pcc/) | Um excelente livro sobre Pyhton, também tem um um apêndice lá sobre o Git que é ótimo | 34 | | 1 | [FreeCodeCamp Learn Python](https://www.youtube.com/watch?v=rfscVS0vtbw) | Uma de muitas fontes excelentes fornecido pela [FreeCodeCamp](https://www.freecodecamp.org/) | 35 | | 1 | [Mundo 1](https://www.youtube.com/watch?v=S9uPNppGsGo&list=PLHz_AreHm4dlKP6QQCekuIPky1Ciwm), [Mundo 2](https://www.youtube.com/watch?v=nJkVHusJp6E&list=PLHz_AreHm4dk_nZHmxxf_J0WRAqy5Czye) e [Mundo 3](https://www.youtube.com/playlist?list=PLHz_AreHm4dksnH2jVTIVNviIMBVYyFnH) do curso de Python do Curso em Vídeo | Mais uma das inúmeras excelentes fontes fornecido pela [Curso em Vídeo](https://www.cursoemvideo.com/). O destaque aqui vai para a didática incrível. | 36 | 1 | [Dê seus primeiros passos com Python](https://docs.microsoft.com/learn/paths/python-first-steps/) | Uma trilha para introdução à linguagem Python de 4 horas. | 37 | 1 | [Construa aplicações do mundo real com Python](https://docs.microsoft.com/learn/paths/python-language/) | Um mão na massa de 2 horas do Microsoft Learn | 38 | | 2 | [Uma introdução ao Git](https://docs.microsoft.com/learn/modules/intro-to-git/) | Uma ótima fonte para aprender Git fornecida pelo Microsoft Learn | 39 | | 2 | [Curso de Git da FreeCodeCamp](https://youtu.be/RGOj5yH7evk) | Outra excelente fonte para aprender Git. Esta fornecida pela [FreeCodeCamp](https://www.freecodecamp.org/) | 40 | 41 | ## Projetos 42 | 43 | | Título | Descrição | 44 | | :---- | :--------- | 45 | | [25 projetos Python para iniciantes](https://www.freecodecamp.org/news/python-projects-for-beginners/)| Faça quantas dessas você quiser. (Aproveita e já vai montando o seu repositório no GitHub)| 46 | [Crie o seu profile README no GitHub](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme) | Crie um README para dizer às outras pessoas sobre você mesmo. Aqui estão alguns exemplos: [madebygps](https://github.com/madebygps/madebygps); [Rishab](https://github.com/rishabkumar7/rishabkumar7); [ViniViniAntunes](https://github.com/ViniViniAntunes). 47 | | [Curso de programação de rede com Python](https://youtu.be/FGdiSJakIS4)| Desenvolva algumas habilidades de Python e de Redes | 48 | 49 | ## Coisas que você precisa estar familiarizado ao final desta fase 50 | 51 | ### Programação 52 | 53 | - Variáveis 54 | - Tipos de dados 55 | - Comentários 56 | - Funções 57 | - Orientação à Objetos 58 | - Listas 59 | - Módulos 60 | - Dicionários 61 | - Estruturas de repetição (Loops `while`, `for`) 62 | - Declarações de controle (`if`, `else`, `elif`) 63 | - Exceções 64 | 65 | ### Git 66 | 67 | - Como criar um repositório Git localmente (`git init`) 68 | - Como criar um repositório GitHub e cloná-lo localmente (`git clone`) 69 | - Como criar uma branch (`git checkout -b`) 70 | - Como adicionar mudanças nas branches (`git add`) 71 | - Como mesclar essas mudanças (`git merge`) 72 | - Como documentar com um README 73 | 74 | ## Certificações que você pode querer dar uma olhada 75 | 76 | - [Certificação da Python Institute](https://pythoninstitute.org/certification-tracks) 77 | 78 | Certificações de programação não são tão procuradas/populares quanto às de nuvem. Como qualquer certificação, você usá-la para reforçar o seu conhecimento, mas não é uma obrigação. Existem muitos cloud engineers com um total de zero certificações. 79 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/phase4/README.md: -------------------------------------------------------------------------------- 1 | # Fase 4: Fundamentos em DevOps 2 | 3 | Autor: [GPS](https://twitter.com/madebygps) 4 | 5 | ## Como esta fase se aplica à nuvem? 6 | 7 | DevOps é tudo que envolve obter a sua solução para rodar com mais eficiência desde a implementação até as atualizações. 8 | 9 | Não é específico para Cloud, você também pode implementar as práticas DevOps tanto nos modelos on-premise quanto nos híbridos. DevOps não está limitado a um único cargo, embora muitas companhias têm cargos dedicados à DevOps. Se o seu objetivo é se tornar um(a) engenheiro(a) DevOps, nesta fase você vai obter uma introdução mas precisará se aprofundar mais depois. 10 | 11 | DevOps é uma cultura, e não uma ferramenta ou serviço específicos. Leia sobre o que é DevOps. Cada plataforma de nuvem tem a sua suite de ferramentas DevOps, eu linkei alguns artigos aqui: 12 | 13 | - [Microsoft - O que é DevOps?](https://azure.microsoft.com/overview/what-is-devops/#overview) 14 | - [AWS - O que é DevOps?](https://aws.amazon.com/devops/what-is-devops/) 15 | - [IBM - Um gia DevOps completo](https://www.ibm.com/cloud/learn/devops-a-complete-guide) 16 | 17 | Eu também acho que vale a pena ler o [Projeto Phoenix](https://itrevolution.com/the-phoenix-project/). É uma leitura bem divertida porque é uma ficção mas que explica a importância da cultura DevOps. Se você preferir algo mais parecido com um livro didático com ideias similares, dê uma olhada no [Manual DevOps](https://itrevolution.com/the-devops-handbook/). 18 | 19 | Você deveria ter concluído o [Desafio CUrrículo na Nuvem](https://cloudresumechallenge.dev/) da fase anterior. Esse projeto te apresenta os conceitos de DevOps, se você não os conhece, volte e faça. 20 | 21 | ## Como desmembrar esta fase? 22 | 23 | | Ordem | Tópico | Comprometimento | 24 | | :---- | :----- | :-------------- | 25 | | 1 | CI/CD com GitHub Actions | 1 semana | 26 | | 2 | IaC com Terraform | 1 semana | 27 | | 3 | Containers com Docker | 1 semana | 28 | | 4 | Orquestração de containers com Kubernetes | 1 semanas | 29 | | 5 | Monitoramento com Prometheus | 1 semanas | 30 | 31 | Claro, sinta-se livre para gastar o tempo que você quiser. As pessoas pediram uma linha do tempo e detalhamento, então eu os adicionei. Cada prática de DevOps é importante, mas esses são os mais usados para um nível de entrada/júnior. Você já deve estar familiarizado com o controle de versão da [fase 2](../phase2/README.md). 32 | 33 | ## Fontes 34 | 35 | | Fonte | Notes | 36 | | :---- | :---- | 37 | | [Tutorial GitHub Actions - Conceitos básicos e pipeline CI/CD com Docker](https://www.youtube.com/watch?v=R8_veQiYBjI)| Nana é a rainha do DevOpse criou alguns dos melhores conteúdos de aprendizado sobre o assunto que existe por aí. Este tutorial irá lhe introduzir ao GitHub Actions. | 38 | | [Curso completo de Terraform - Do INICIANTE ao PROFISSIONAL!](https://www.youtube.com/watch?v=7xngnjfIlK4)| Aprenda como usar o Terraform para automatizar sua infraestrutura na AWS. | 39 | | [Tutorial Docker para iniciantes](https://youtu.be/3c-iBn73dDE) | Um curso completo e "mão na massa" de Docker com muitas demonstrações e explicações de conceitos por detrás para que você realmente entenda-os. | 40 | | [Curso intensivo de Kubernetes para iniciantes absolutos](https://youtu.be/s_o8dwzRlu4) | Tutorial mão na massa sobre Kubernetes | Aprenda Kubernetes em 1 hora - Um intensivão de Kubernetes para iniciantes. | 41 | | [Tutorial completo sobre monitoramento com Prometheus](https://youtube.com/playlist?list=PLy7NrYWoggjxCF3av5JKwyG7FFF9eLeL4) | Um Tutorial completo sobre monitoramento com Prometheus. | 42 | 43 | ## Projetos 44 | 45 | | Título | Resource | 46 | | :----- | :------- | 47 | | [Jornada DevOps usando Azure DevOps](https://github.com/thomast1906/DevOps-Journey-Using-Azure-DevOps) | Este tutorial/laboratório irá guiá-lo através de uma jornada DevOps usando Azure DevOps. Desde a configuração do seu pipeline até a implementação de uma aplicação de um cluster do Azure Kubernets! | 48 | | [DevOps da maneira difícil - Azure](https://github.com/thomast1906/DevOps-The-Hard-Way-Azure) | Este tutorial contém uma solução completa do mundo real para configurar um ambiente que usa tecnologias e práticas de DevOps para implantar aplicativos e serviços de nuvem/infraestrutura de nuvem na Azure. | 49 | | [DevOps da maneira difícil - AWS](https://github.com/AdminTurnedDevOps/DevOps-The-Hard-Way-AWS) | Este tutorial contém uma solução completa do mundo real para configurar um ambiente que usa tecnologias e práticas de DevOps para implantar aplicativos e serviços de nuvem/infraestrutura de nuvem na AWS. | 50 | 51 | ## Coisas que você deveria estar familiarizado ao final desta fase 52 | 53 | - Ser capaz de explicar cada prática DevOps 54 | - Por que cada uma delas importa 55 | - O que cada uma delas faz 56 | - A mais populares ferramentas de cada uma delas 57 | 58 | - Ter projetos pessoais no GitHub. Para pelo menos 2 dos projetos: 59 | - Ter um pipeline CI/CD 60 | - Ter arquivos IaC para cada projeto 61 | - Ter monitoramento implementado para cada um 62 | - Garanta que você pode entender o registro de logs e os dados das métricas 63 | - Se algo der errado com o seu projeto, saber como solucionar os problemas 64 | 65 | ## Certificações que você pode querer dar uma olhada 66 | 67 | - [Certificação DevOps Engineer da AWS - Professional](https://aws.amazon.com/certification/certified-devops-engineer-professional/?ch=sec&sec=rmg&d=1) 68 | - [Certificação DevOps Engineer Expert da Microsoft](https://docs.microsoft.com/en-us/learn/certifications/devops-engineer/) 69 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/projects/README.md: -------------------------------------------------------------------------------- 1 | # Projetos 2 | 3 | Cada fase tem uma lista que nós recomendamos que você complete. Aqui está uma lista a mais. 4 | 5 | ## Projetos AWS 6 | 7 | | Título | Descrição | Autor | 8 | | :----- | :-------- | :---- | 9 | | [AWS Workshop](https://workshops.aws/) | Amazon Workshops são eventos hands-on destinados a ensinar ou introduzir habilidades práticas, técnicas ou conceitos que você pode usar para solucionar problemas de negócio. | 10 | | [Desafio de currículo na nuvem](https://cloudresumechallenge.dev/) | Construa seu currículo com os serviços da AWS. | [Forrest Brazeal](https://twitter.com/forrestbrazeal) | 11 | [AWS Hands On Tutorials](https://aws.amazon.com/getting-started/hands-on/?getting-started-all.sort-by=item.additionalFields.sortOrder&getting-started-all.sort-order=asc&awsf.getting-started-category=*all&awsf.getting-started-level=*all&awsf.getting-started-content-type=*all) | Inicie com um tutorial passo-a-passo para lançar sua primeira aplicação. | AWS | 12 | | [AWS Architecture Center](https://aws.amazon.com/architecture/) | O AWS Architecture Center fornece diagramas de arquitetura de referência, soluções de arquitetura verificadas, melhores boas práticas, padrões, ícones e mais. | AWS | 13 | | [Cloud Is Free](https://cloudisfree.com) | Configure projetos práticos através de uma documentação interativa e detalhada enquanto tira proveito de free tial da AWS. | [Yassin Dahmouni](https://github.com/ydamni) | 14 | 15 | 16 | ## Projetos Azure 17 | 18 | | Título | Descrição | Autor | 19 | | :----- | :-------- | :---- | 20 | | [Desafio de currículo da nuvem Azure](https://youtu.be/ieYrBWmkfno) | Construa seu currículo com os serviços da Azure. | [GPS](https://twitter.com/madebygps) | 21 | | [Azure Resume API](https://github.com/rishabkumar7/AzureResumeAPI) | Construa uma API para currículo com Azure Functions | [Rishab Kumar](https://twitter.com/rishabk7) | 22 | | [Azure Citadel](https://www.azurecitadel.com/) | Muitos laboratórios hands-on com Azure | [Azure Citadel](https://www.azurecitadel.com/) | 23 | | [Azure Architecture Center](https://docs.microsoft.com/en-us/azure/architecture/browse/) | Diagramas de arquitetura e descrições de tecnologia para referência de arquitetura, exemplos do mundo real de arquitetura na nuvem e ideias de soluções para cargas de trabalhos comuns na Azure. | Microsoft | 24 | | [Laboratórios Azure Networking por Binal Shah](https://github.com/binals/azurenetworking) | Este conjunto de laboratórios Azure Networking são simplificados para demonstrar um único conceito em cada lab, usando o portal Azure ou Azure CLI. | [Binal Shah](https://github.com/binals) | 25 | | [Azure Pet Store by Chris Tremblay](https://chtrembl.github.io/azure-cloud/petstore/) | A Azure Pet Store é composta de aplicações open source hipotéticas desenvolvidas para ajudar você a aprender e construir softwares incríveis na Azure. | [Chris Tremblay](https://github.com/chtrembl) | 26 | | [AZ-104 Labs](https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/)| Laboratórios guiados pela AZ-104 | Microsoft learning | 27 | | [WTH Serverless](https://www.youtube.com/playlist?list=PLmsFUfdnGr3wg9NCWGYGw0IJORaqXhzLP) | Construa uma aplicação na Azure | [GPS](https://twitter.com/madebygps) | 28 | 29 | ## Projetos GCP 30 | 31 | | Title | Description | Author | 32 | | :---- | :---------- | :----- | 33 | | [GCP Architecture Center](https://cloud.google.com/architecture) | Arquiteturas, diagramas, design patterns, orientação e boas práticas para construir ou migrar sua carga de trabalho na Google Cloud. | GCP | 34 | | [GCP Codelabs](https://codelabs.developers.google.com/cloud) | Aprenda sobre a Google Cloud Platform completando codelabs e desafios de codificação. | GCP | 35 | | [GCP Cloud Resume](https://acloudguru.com/blog/engineering/cloudguruchallenge-your-resume-on-gcp) | Construa seu currículo com serviços GCP. | [Mattias Anderson](https://twitter.com/MattiasEh) | 36 | | [Google Cloud Skills Boost](https://www.cloudskillsboost.google/) | Escolha sua trilha, construa suas habilidades e valide seu conhecimento sobre a GCP. | GCP | 37 | 38 | ## Projetos DevOps 39 | 40 | | Title | Description | Author | 41 | | :---- | :---------- | :----- | 42 | | [Implante um app para Azure com ARM](https://github.com/SoniaConti/ContosoFinance-Demo) | ARM é uma ferramenta IaC usada com Azure. | [Sonia Conti](https://github.com/SoniaConti/ContosoFinance-Demo) | 43 | | [Ticket Crypto-dot-net Ticket Dockerizado](https://github.com/rishabkumar7/crypto-ticker-dotnet) | Nós Dockerizamos o ticker crypto-dot-net ticker que construimos na fase 3. | [Rishab Kumar](http://twitter.com/rishabk7) | 44 | | [DevOps-Exercises](https://github.com/bregman-arie/devops-exercises) | Este repositório, [devops-exercises](https://github.com/bregman-arie/devops-exercises), contém questões e exercícios sobre vários tópicos técnicos relacionados a DevOps e SRE | [Arie Bregman](https://github.com/bregman-arie) | 45 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/resources/README.md: -------------------------------------------------------------------------------- 1 | # Fontes de estudo 2 | 3 | | Título | Fonte | 4 | | :----- | :---- | 5 | | [Learning how to learn](https://barbaraoakley.com/books/learning-how-to-learn/) | Um excelente livro que me ajudou a melhorar como eu aprendo. | 6 | | [Deep work](https://www.calnewport.com/books/deep-work/) | Outro ótimo livro, desta vez sobre como focar e conseguir se aprofundar no trabalho no seu dia. | 7 | | [How I study for certs](https://youtu.be/fpPCZqfOBJs) | Um vídeo com algumas dicas que eu peguei pelo caminho. | 8 | | [Pomodoro technique](https://en.wikipedia.org/wiki/Pomodoro_Technique) | Um bom método para quebrar o seu tempo de estudo. | 9 | | [How I study for certifications](https://acloudguru.com/blog/engineering/from-student-to-engineer-how-to-study-smarter-for-cloud-cert) | Algumas dicas para estudar para certificações cloud. | 10 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/resources/flowcharts.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/resources/resume-tips.md: -------------------------------------------------------------------------------- 1 | # Fontes sobre currículo 2 | 3 | Autor: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | 6 | | Título | Fonte | 7 | | :----- | :---- | 8 | | [My cloud engineer resume](https://youtu.be/HiKQHDUUmTI) | Eu te conduzo pelo meu currículo na nuvem e pelas boas práticas que tenho. | 9 | | [My FAANGM resume \| Resume that got me into Google](https://youtu.be/LEbqEwhsRWE) | Uma visão geral do currículo de @rishabkumar7 | 10 | | [20+ tech resume checklist](https://twitter.com/TiffanyJachja/status/1528081140422266887) | Uma incrível thread no Twitter criada por [Tiffany Jachja](https://twitter.com/TiffanyJachja) com muitas melhores práticas sobre montar seu currículo. | 11 | | [Tech resume and cover letter tips](https://youtu.be/yTfrEpeBjAs) | Mais dicas feitas por mim. | 12 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/_sidebar.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - Починаєм 4 | - [Вітаємо](/#Вітаємо) 5 | 6 | - Посібник 7 | 8 | - [Етап 0: Починаємо з нуля](phase0/README.md) 9 | - [Етап 1: Основи Лінукс та мереж](ua/phase1/README.md) 10 | - [Етап 2: Основи програмування](ua/phase2/README.md) 11 | - [Етап 3: Основи Хмарних платформ](ua/phase3/README.md) 12 | - [Етап 4: Основи DevOps](ua/phase4/README.md) 13 | 14 | - Ресурси 15 | 16 | - [Більше проектів](projects/README.md) 17 | - [Поради та ресурси для навчання](resources/readme.md) 18 | - [Ресурси для резюме](resources/resume-tips.md) 19 | 20 | - Слідкувати за посібником 21 | 22 | - [Twitter](https://twitter.com/learntocloud) 23 | - [Instagram](https://instagram.com/learntocloudguide) 24 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | 6 | [![GitHub license](https://img.shields.io/github/license/learntocloud/learn-to-cloud.svg)](https://github.com/learntocloud/learn-to-cloud/blob/master/LICENSE) 7 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 8 | 9 | [![GitHub forks](https://img.shields.io/github/forks/learntocloud/learn-to-cloud.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/network/) 10 | [![GitHub stars](https://img.shields.io/github/stars/learntocloud/learn-to-cloud.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/learntocloud/learn-to-cloud/stargazers/) 11 | 12 | ## Що таке Learn to Cloud? 13 | 14 | Learn to Cloud - це ПОСІБНИК (а не книга чи курс), створений на основі [цього твіту](https://twitter.com/madebygps/status/1406258053427740672?lang=en). Його мета - надати загальний огляд навичок, які вам потрібно засвоїти, щоб почати працювати у сфері хмарних обчислень. По закінченню ви повинні мати технічні знання для таких ролей, як: 15 | 16 | - Системний адміністратор. 17 | - Інженер з підтримки хмарних технологій. 18 | - Хмарний адміністратор. 19 | 20 | ## Чи можу я потрапити в Cloud, будучи самоучкою? 21 | 22 | Так, дивіться [це](https://youtu.be/kluKaLXJ2lg) 23 | 24 | ## Питання? Коментарі? Відгуки? 25 | 26 | Будь ласка, відкрийте [Issue](https://github.com/learntocloud/learn-to-cloud/issues) 27 | 28 | ## Етапи 29 | 30 | | Порядок | Тема | 31 | |-------|---------------------------------| 32 | | [за бажанням](phase0/) | Почніть з нульового технічного досвіду | 33 | | [1](phase1/) | Bash та Основи Мереж| 34 | | [2](phase2/) | Основи програмування | 35 | | [3](phase3/) | Основи Хмарних технологій| 36 | | [4](phase4/) | Основи DevOps | 37 | | [5](phase5/) | Основи безпеки у Хмарі | 38 | 39 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/phase0/README.md: -------------------------------------------------------------------------------- 1 | # Етап 0: Починаємо з нуля 2 | 3 | Автор: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | ## Як цей етап застосовується до Хмарних технологій? 6 | 7 | Якщо ви відчуваєте що в вас нульовий технічний досвід, але ви хочете працювати із Хмарними Обчислюваннями. Цей етап для вас. Якщо ви вже працюєте в сфері технологій і переходите до праці із хмарними технологіями - 8 | [Перейти до Етапу 1: Основи Linux та мереж](../phase1/README.md). 9 | 10 | 11 | Почнемо. 12 | 13 | 1. Я думаю, що гарним першим кроком є розуміння основ ІТ. [Цей плейлист](https://www.youtube.com/playlist?list=PLG49S3nxzAnlGHY8ObL8DiyP3AIu9vd3K) є чудовим оглядом. 14 | 15 | 2. Відео вище повинно дати вам якесь розуміння, але давайте дещо глибше поринемо і зрозуміємо, які є основні складові Хмарних Обчислень. 16 | 17 | - [Що таке Лінукс](https://youtu.be/PwugmcN1hf8) 18 | - [Що таке Мережа](https://youtu.be/3QhU9jd03a0) 19 | - [Що таке Програмування](https://youtu.be/ifo76VyrBYo) 20 | - [Що таке Хмарні Обчислювання](https://youtu.be/eZLcyTxi8ZI) 21 | - [Що таке DevOps](https://youtu.be/9pZ2xmsSDdo/) 22 | - [Хто такий Хмарний Інженер та як їм стати](https://youtu.be/7i1WMGxyt4Q) 23 | 24 | 25 | ## Теми з якими ви повинні бути знайомі наприкінці цього етапу 26 | 27 | - Чесно кажучи, на даний момент, все що вам потрібно – це переконатися що ви хочете почати займатися сферою технологій. Та готові багато чому навчатися. Навчання ніколи не припиниться. 28 | 29 | ## Сертифікати, на які варто звернути увагу 30 | 31 | Галузевим стандартом для людей, які починають працювати в сфері технологій, є [CompTIA A+](https://www.comptia.org/certifications/a). 32 | 33 | Це необхідно? Ні. Чи корисно? Залежить від вашого стилю навчання. Чи здала я А+? Теж ні. Це означає, що не варто його здавати? Ні. Це допоможе вашому резюме? Можливо. 34 | 35 | Однак деякі люди розповідали мені, що це допомогло їм отримати роботу у підтримці, таку як: 36 | 37 | - Аналітик служби підтримки 38 | - Технічний спеціаліст служби підтримки 39 | - Адміністратор підтримки настільних комп'ютерів 40 | - Спеціаліст технічної підтримки 41 | - Комп'ютерний технік кінцевого користувача 42 | - Виїзний технічний спеціаліст 43 | - Технік служби підтримки 44 | - Спеціаліст з системної підтримки 45 | 46 | ## Вакансії 47 | 48 | Я велика прихильниця того, щоб починати працювати в технічній сфері з підтримки і рухатися вгору. Компанії доброзичливо ставляться до початківців і часто готові платити за навчальні матеріали та сертифікати. 49 | 50 | Крім того, майже в кожній компанії є служба підтримки, тож є безліч вакансій, з яких можна почати роботу! 51 | 52 | Подивіться це відео від KevTech на [Helpdesk interview questions](https://youtu.be/McxVgoQaCpU). Переглядайте його канал, тому що у нього стільки чудового контенту! 53 | 54 | ## Що далі 55 | 56 | 57 | [Перейти до Етапу 1: Основи Лінукс та мереж](../phase1/README.md) 58 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/phase2/README.md: -------------------------------------------------------------------------------- 1 | # Етап 2: Основи програмування 2 | 3 | Автор: [GPS](https://twitter.com/madebygps) 4 | 5 | ## Як цей етап застосовується до Хмарних технологій? 6 | 7 | Ви будете використовувати код для автоматизації завдань та розгортання інфраструктури. Вам не потрібно знати, як створювати повноцінні додатки, але розуміння основ програмування дасть вам перевагу. У хмарних технологіях існують спеціальні ролі розробників. Для тих, кому потрібно знати, як створювати повноцінні рішення, перегляньте [це відео](https://youtu.be/WMUAc7bvB7M) щоб дізнатися більше про цю роль. 8 | 9 | 10 | 11 | 12 | На попередньому кроці ви познайомилися з Bash і написали кілька скриптів. Скрипти Bash використовуються для автоматизації завдань і вважаються універсальною мовою для серверів, оскільки в наш час Bash встановлений за замовчуванням майже на кожному сервері Linux. 13 | 14 | Я думаю, що тепер було б корисно навчитися ще деяким навичкам програмування. 15 | 16 | Існує кілька мов програмування, які популярні в хмарах, наприклад, Go, Rust, .NET, JavaScript, але оскільки ви початківець, я б рекомендував [Python] (https://www.python.org/). Це дуже популярна мова, і є багато якісних безкоштовних ресурсів для її вивчення, і це одна з найпростіших мов для початку. 17 | 18 | [Git] (https://git-scm.com/) - найпопулярніший інструмент контролю версій та одна з практик DevOps. Він використовується для управління та обміну кодом. GitHub - один з найпопулярніших сервісів хостингу репозиторіїв Git. Витратьте трохи часу на створення облікового запису [GitHub](https://github.com/), якщо у вас його ще немає. Це буде ваше портфоліо коду, і ви можете розмістити там стільки проектів, скільки захочете. 19 | 20 | ## Як подолати цей етап 21 | 22 | Я б радила присвятити час цим трьом темам і в цьому порядку: 23 | 24 | | Порядок | Тема | 25 | |-------|---------------------------------| 26 | | 1 | Знайомство із програмуванням мовою Python | 27 | | 2 | Знайомство із керуванням версіями за допомогою Git та GitHub | 28 | 29 | Звичайно, не соромтеся витрачати стільки часу, скільки забажаєте, люди просили надати хронологію та розбивку, тому я додала їх. 30 | 31 | ## Ресурси 32 | 33 | | Порядок | Назва | Нотатки | 34 | | :---- | :--------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | 35 | | За бажанням | [An introduction to Programming](https://docs.microsoft.com/learn/modules/web-development-101-introduction-programming/) | Чудовий модуль Microsoft Learn на цю тему. | 36 | | 1 | [Python Crash Course](https://ehmatthes.github.io/pcc/) | Чудова книга про Python, в ній також є додаток про Git, який просто чудовий! 37 | | 1 | [FreeCodeCamp Learn Python](https://www.youtube.com/watch?v=rfscVS0vtbw) | Один з багатьох чудових ресурсів, наданих [FreeCodeCamp](https://www.freecodecamp.org/) | 38 | 1 | [Python for Beginners](https://youtu.be/jFCNu1-Xdsw) | Серія з 44 частин, що знайомить вас з Python | 39 | | 2 | [An introduction to Git](https://docs.microsoft.com/learn/modules/intro-to-git/) | Чудовий ресурс для вивчення Git'у від Microsoft Learn |. 40 | | 2 | [FreeCodeCamp Git course](https://youtu.be/RGOj5yH7evk) | Чудовий ресурс для вивчення Git від FreeCodeCamp | 41 | 42 | ## Проекти 43 | 44 | | Назва | Опис | 45 | | :------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | 46 | | [25 проектів на Python для початківців](https://www.freecodecamp.org/news/python-projects-for-beginners/)| Зробіть стільки, скільки хочете | 47 | [Створіть readme вашого профілю на GitHub](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme) | Створіть README щоб розповісти іншим людям про себе. Ось [мій](https://github.com/madebygps/madebygps) як приклад. В Рішаба теж дуже [крутий](https://github.com/rishabkumar7/rishabkumar7). 48 | | [Networking Python Projects](https://youtu.be/FGdiSJakIS4)| Набути навичок роботи з Python та мережею 49 | 50 | ## Теми з якими ви повинні бути знайомі наприкінці цього етапу 51 | 52 | ### Програмування 53 | 54 | - Змінні 55 | - Типи даних 56 | - Коментарі 57 | - Функції 58 | - ООП 59 | - Списки 60 | - Модулі 61 | - Словники 62 | - Цикли 63 | - Керуючі оператори 64 | - Виключення 65 | 66 | ### Git 67 | 68 | - Як створити Git-репозиторій локально 69 | - Як створити репозиторій GitHub та клонувати його локально. 70 | - Як створити гілку git'а 71 | - Як додати зміни до гілки git'а 72 | - Як об'єднати зміни в Git'і 73 | - Як документувати код за допомогою README 74 | 75 | ## Сертифікати, на які ви можете звернути увагу 76 | 77 | - [Python Institute certifications](https://pythoninstitute.org/certification-tracks) 78 | 79 | Сертифікати з програмування не такі затребувані/популярні, як хмарні. Як і будь-яка інша сертифікація, ви можете використовувати її для поглиблення своїх знань, але це не є обов'язковим. Є багато хмарних інженерів з нульовими сертифікатами. 80 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/phase4/README.md: -------------------------------------------------------------------------------- 1 | # Етап 4: Основи DevOps 2 | 3 | Автор: [GPS](https://twitter.com/madebygps) 4 | 5 | ## Як цей етап застосовується до Хмарних технологій? 6 | 7 | DevOps - це забезпечення ефективної роботи ваших рішень на всіх етапах від розгортання до оновлення. 8 | Ці практики використовують не тільки для хмарних технологій, оскільки ви можете впроваджувати практики DevOps як в локальних, так і в гібридних середовищах. DevOps не обмежується однією роллю. Однак більшість компаній мають спеціальні ролі для DevOps. Якщо ваша мета - стати інженером DevOps, цей етап допоможе вам почати, але вам доведеться піти глибше. 9 | 10 | 11 | 12 | DevOps - це культура, а не конкретний інструмент чи сервіс. Дізнайтеся, що таке DevOps. Кожна хмарна платформа має набір інструментів DevOps, я дала посилання на кілька статей тут: 13 | 14 | - [Microsoft - What is DevOps](https://azure.microsoft.com/overview/what-is-devops/#overview) 15 | - [AWS - What is DevOps](https://aws.amazon.com/devops/what-is-devops/) 16 | - [IBM - A DevOps complete guide](https://www.ibm.com/cloud/learn/devops-a-complete-guide) 17 | 18 | Я також вважаю, що варто прочитати [The Phoenix Project](https://itrevolution.com/the-phoenix-project/) це досить цікава книга, тому що це вигадана історія, але вона пояснює важливість DevOps. Але якщо ви віддаєте перевагу чомусь на кшталт підручника зі схожими ідеями, перегляньте [The DevOps Handbook](https://itrevolution.com/the-devops-handbook/). 19 | 20 | Ви повинні були закінчити [Cloud Resume Challenge](https://cloudresumechallenge.dev/) на попередньому етапі. Цей проект знайомить вас з концепціями DevOps, якщо ви цього не зробили, поверніться і зробіть його. 21 | 22 | ## Як подолати цей етап 23 | 24 | | Порядок | Тема | 25 | |-------|-----------------------| 26 | | 1 | CI/CD з GitHub Actions | 27 | | 2 | IaC з Terraform | 28 | | 3 | Контейнерізація з Docker | 29 | | 4 | Оркестрація контейнерів з Kubernetes | 30 | | 5 | Моніторинг з Prometheus та Grafana | 31 | 32 | Звичайно, не соромтеся витрачати стільки часу, скільки забажаєте, люди просили надати хронологію та розбивку, тому я додала їх. Кожна практика DevOps має значення, але ці є найбільш використовуваними на entry/junior рівні. Ви вже повинні бути знайомі з контролем версій з Етапа 2. 33 | 34 | ## Ресурси 35 | 36 | | Посилання | Нотатки | 37 | | :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | 38 | | [GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker](https://www.youtube.com/watch?v=R8_veQiYBjI)|Nana - королева DevOps і створює одні з найкращих навчальних матеріалів про DevOps. Цей підручник познайомить вас з GitHub actions. 39 | | [Complete Terraform Course - From BEGINNER to PRO!](https://www.youtube.com/watch?v=7xngnjfIlK4)| Дізнайтеся, як використовувати Terraform для автоматизації інфраструктури AWS. 40 | | [Docker tutorial for Beginners](https://youtu.be/3c-iBn73dDE) | Повний практичний курс Docker з великою кількістю демонстрацій та поясненням концепцій, щоб ви дійсно зрозуміли його. 41 | | [Kubernetes Crash Course for Absolute Beginners](https://youtu.be/s_o8dwzRlu4) | Практичний посібник з Kubernetes | Вивчіть Kubernetes за 1 годину - курс Kubernetes для початківців 42 | | [Complete Prometheus Monitoring Tutorial](https://youtube.com/playlist?list=PLy7NrYWoggjxCF3av5JKwyG7FFF9eLeL4) | Повний посібник з моніторингу Prometheus 43 | 44 | ## Проекти 45 | 46 | | Назва | Посилання | 47 | | :----------------------------------------------------------- | --------------------------------------------------------------------------------- | 48 | | [DevOps Journey Using Azure DevOps](https://github.com/thomast1906/DevOps-Journey-Using-Azure-DevOps) | Цей навчальний посібник/лабораторна проведе вас через DevOps за допомогою Azure DevOps. Від налаштування конвеєра до розгортання програми на кластері Azure Kubernetes! | 49 | | [DevOps the Hardway - Azure](https://github.com/thomast1906/DevOps-The-Hard-Way-Azure) | Цей посібник містить повне, реальне рішення для налаштування середовища, яке використовує технології та практики DevOps для розгортання програм і хмарних сервісів/хмарної інфраструктури в Azure. | 50 | | [DevOps the Hardway - AWS](https://github.com/AdminTurnedDevOps/DevOps-The-Hard-Way-AWS) | Цей посібник містить повне, реальне рішення для налаштування середовища, яке використовує технології та практики DevOps для розгортання програм і хмарних сервісів/хмарної інфраструктури в AWS. | 51 | 52 | ## Теми з якими ви повинні бути знайомі наприкінці цього етапу 53 | 54 | - Вміти пояснити кожну практику DevOps 55 | - Чому кожен з них має значення. 56 | - Що кожна з них досягає. 57 | - Найпопулярніші інструменти для кожної практики. 58 | 59 | - Мати власні проекти на GitHub. Щонайменше 2 проекти: 60 | - Мати конвеєр CI/CD. 61 | - Мати IaC-файли для кожного проекту. 62 | - Впровадьте моніторинг для кожного проекту. 63 | - Переконайтеся, що ви можете зрозуміти дані логування та метрики. 64 | - Якщо щось піде не так у вашому проєкті, розуміти, як усунути несправності. 65 | 66 | ## Сертифікати, на які ви можете звернути увагу 67 | 68 | - [AWS Certified DevOps Engineer - Professional](https://aws.amazon.com/certification/certified-devops-engineer-professional/?ch=sec&sec=rmg&d=1) 69 | - [Microsoft Certified: DevOps Engineer Expert](https://docs.microsoft.com/en-us/learn/certifications/devops-engineer/) 70 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/resources/FAQ.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | ## Якого Хмарного провайдера вивчати? 4 | 5 | Щодня в інтернеті можна зустріти людей, які сперечаються про те, який з них краще. 6 | 7 | Перегляньте списки вакансій у вашому регіоні та оберіть того, який має найбільше шансів на успіх. ВИБЕРІТЬ ОДИН І ДОТРИМУЙТЕСЬ ЙОГО. Основи однакові, і наші поради однакові. 8 | 9 | Яку б хмару ви не обрали, обов'язково створіть обліковий запис і налаштуйте бюджет та сповіщення, щоб не прокинутися з несподіваним рахунком [Тут](https://youtu.be/FZD0s7KE83Y) як це робити в Azure portal, і тут в [AWS](https://www.youtube.com/watch?v=fvz0cphjHjg). 10 | 11 | 12 | ## Чи варті платні хмарні навчальні платформи того? 13 | 14 | Існують такі платформи, як [A Cloud Guru](https://acloudguru.com) та [CloudAcademy](https://cloudacademy.com), на яких ви можете оплатити місячну або річну підписку і отримати доступ до контенту та лабораторних середовищ для навчання. 15 | 16 | Вони допоможуть вам не витрачати власні кошти на власні акаунти AWS та Azure, що на початковому етапі є дуже корисним. Зрештою, якщо ви підпишетеся на один з них, то це залежить від вас. 17 | 18 | У мене (GPS) була підписка на A Cloud Guru та Linux Academy, коли я починав працювати, але це оплачувала моя робота, тож, можливо, на вашій роботі також буде такий привілей. -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/resources/readme.md: -------------------------------------------------------------------------------- 1 | # Ресурси для навчання 2 | 3 | | Назва | Ресурс | 4 | | :------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | 5 | | [Learning how to learn](https://barbaraoakley.com/books/learning-how-to-learn/)| Чудова книга, яка допомогла мені покращити моє навчання. 6 | | [Deep work](https://www.calnewport.com/books/deep-work/) | Ще одна чудова книга, цього разу про те, як зосередитися і виділити час на роботу. | 7 | | [How I study for certs](https://youtu.be/fpPCZqfOBJs) | Відео з деякими порадами, які я вивчаю по ходу. | 8 | [Pomodoro technique](https://en.wikipedia.org/wiki/Pomodoro_Technique) |Чудовий спосіб розбити свій час навчання. 9 | | [How I study for certifications](https://acloudguru.com/blog/engineering/from-student-to-engineer-how-to-study-smarter-for-cloud-cert) | Кілька порад щодо підготовки до хмарних сертифікацій. 10 | 11 | 12 | -------------------------------------------------------------------------------- /i18n/ua/docusaurus-plugin-content-docs/current/resources/resume-tips.md: -------------------------------------------------------------------------------- 1 | # Ресурси для резюме 2 | 3 | Автор: [Gwyneth Pena-Siguenza](https://twitter.com/madebygps) 4 | 5 | 6 | Назва | Ресурс | 7 | :---------- | :----------- | 8 | [my cloud engineer resume](https://youtu.be/HiKQHDUUmTI) | Я ознайомлю вас з моїм резюме та найкращими практиками, які я маю | 9 | [My FAANGM resume Resume that got me into Google](https://youtu.be/LEbqEwhsRWE) | Rishab's - огляд резюме| 10 | [20+ tech resume checklist](https://twitter.com/TiffanyJachja/status/1528081140422266887) | Дивовижний допис у Твіттері від [Tiffany Jachja](https://twitter.com/TiffanyJachja) з великою кількістю найкращих практик резюме. | 11 | [Tech resume and cover letter tips](https://youtu.be/yTfrEpeBjAs) | Більше порад від мене | -------------------------------------------------------------------------------- /img/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/img/.DS_Store -------------------------------------------------------------------------------- /img/Logo-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/img/Logo-01.png -------------------------------------------------------------------------------- /img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/img/favicon.png -------------------------------------------------------------------------------- /img/which.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/img/which.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-website", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start --host 0.0.0.0", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids", 15 | "typecheck": "tsc" 16 | }, 17 | "dependencies": { 18 | "@docusaurus/core": "3.7.0", 19 | "@docusaurus/plugin-google-analytics": "^3.7.0", 20 | "@docusaurus/plugin-ideal-image": "^3.7.0", 21 | "@docusaurus/preset-classic": "3.7.0", 22 | "@mdx-js/react": "^3.1.0", 23 | "clsx": "^2.1.1", 24 | "docusaurus2-dotenv": "^1.4.0", 25 | "prism-react-renderer": "^2.4.1", 26 | "react": "^19.0.0", 27 | "react-dom": "^19.0.0" 28 | }, 29 | "devDependencies": { 30 | "@docusaurus/module-type-aliases": "3.7.0", 31 | "@tsconfig/docusaurus": "^2.0.3", 32 | "dotenv": "^16.4.7", 33 | "typescript": "^5.7.3" 34 | }, 35 | "browserslist": { 36 | "production": [ 37 | ">0.5%", 38 | "not dead", 39 | "not op_mini all" 40 | ], 41 | "development": [ 42 | "last 1 chrome version", 43 | "last 1 firefox version", 44 | "last 1 safari version" 45 | ] 46 | }, 47 | "engines": { 48 | "node": ">=16.14" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | // @ts-check 13 | 14 | /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ 15 | const sidebars = { 16 | // By default, Docusaurus generates a sidebar from the docs folder structure 17 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 18 | 19 | // But you can create a sidebar manually 20 | /* 21 | tutorialSidebar: [ 22 | 'intro', 23 | 'hello', 24 | { 25 | type: 'category', 26 | label: 'Tutorial', 27 | items: ['tutorial-basics/create-a-document'], 28 | }, 29 | ], 30 | */ 31 | }; 32 | 33 | module.exports = sidebars; 34 | -------------------------------------------------------------------------------- /src/components/HomepageApi/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from 'react'; 2 | import styles from './styles.module.css'; 3 | 4 | export default function HomepageApi() { 5 | const [words, setWords] = useState(); 6 | 7 | const getData = () => { 8 | fetch('https://clouddictionary.azurewebsites.net/api/GetDefinitionOfTheDay?code=be7QaipGAxWEMBYN-rSXHcTNrOrIcwDbL3sgWvh5EG9pAzFuTW0wNg==' 9 | , { 10 | headers: { 11 | 'Content-Type': 'application/json', 12 | 'Accept': 'application/json' 13 | } 14 | } 15 | ) 16 | .then((response) => response.json()) 17 | .then((result) => { 18 | setWords(result.Data); // Access the "Data" property of the result 19 | console.log(result.Data); // Log the "Data" property of the result 20 | }) 21 | .catch((err) => { 22 | console.log(err.message); 23 | }) 24 | }; 25 | 26 | useEffect(() => { 27 | getData() 28 | }, []); 29 | 30 | return ( 31 |
32 |
33 |

{words?.Word}

34 |
{words?.Content}
35 |
- {words?.Author.Name}
36 |
37 |
38 | ); 39 | } -------------------------------------------------------------------------------- /src/components/HomepageApi/styles.module.css: -------------------------------------------------------------------------------- 1 | .flex { 2 | display: flex; 3 | justify-content: space-around; 4 | padding-bottom: 1em; 5 | padding-top: 1em; 6 | padding-right: 2em; 7 | padding-left: 2em; 8 | } 9 | 10 | .card { 11 | width: 700px; 12 | box-sizing: border-box; 13 | padding: 2em; 14 | font-family: Ubuntu; 15 | border-radius: 25px; 16 | color: white; 17 | line-height: 25px; 18 | box-shadow: 5px 5px 10px #ccc; 19 | float: left; 20 | background: linear-gradient(150deg, #124c99, #124c99 100%); 21 | margin-left: auto; 22 | margin-right: auto; 23 | } 24 | 25 | .word, .definition, .author { 26 | text-align: center; 27 | } 28 | 29 | .word { 30 | font-size: 20px; 31 | text-align: left; 32 | font-weight: bold; 33 | color:#fff; 34 | } 35 | 36 | .definition { 37 | font-size: 14px; 38 | text-align: left; 39 | } 40 | 41 | .author { 42 | font-size: 15px; 43 | text-align: right; 44 | color: #fff; 45 | } 46 | 47 | button { 48 | text-transform: uppercase; 49 | width: 250px; 50 | display: block; 51 | margin: 0 auto; 52 | color: #0C7DF6; 53 | border-radius: 50px; 54 | padding: 1em; 55 | background: white; 56 | border: none; 57 | font-weight: bold; 58 | } -------------------------------------------------------------------------------- /src/components/HomepageFeatures/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './styles.module.css'; 4 | 5 | type FeatureItem = { 6 | title: string; 7 | //Svg: React.ComponentType>; 8 | //description: JSX.Element; 9 | }; 10 | 11 | const FeatureList: FeatureItem[] = [ 12 | { 13 | title: '💵 Free and Open Source', 14 | //Svg: require('@site/static/img/undraw_open_source.svg').default, 15 | 16 | }, 17 | { 18 | title: '📝 Resources, tasks, and projects', 19 | // Svg: require('@site/static/img/undraw_organizing_projects.svg').default, 20 | 21 | }, 22 | { 23 | title: '👷🏽‍♀️ Built from first hand experience', 24 | // Svg: require('@site/static/img/undraw_co-working.svg').default, 25 | 26 | }, 27 | ]; 28 | 29 | function Feature({ title, Svg, description }: FeatureItem) { 30 | return ( 31 |
32 | 33 |
34 |

{title}

35 |
36 |
37 | ); 38 | } 39 | 40 | export default function HomepageFeatures(): JSX.Element { 41 | return ( 42 |
43 |
44 |
45 | {FeatureList.map((props, idx) => ( 46 | 47 | ))} 48 |
49 |
50 |
51 | ); 52 | } 53 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding-top: 0%; 5 | padding-bottom: 2rem 0; 6 | width: 100%; 7 | } 8 | 9 | .featureSvg { 10 | height: 200px; 11 | width: 200px; 12 | } 13 | 14 | .featureImg { 15 | width: 90% 16 | } -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | /* You can override the default Infima variables here. */ 8 | :root { 9 | --ifm-color-primary: #0066cc; 10 | --ifm-color-primary-dark: #0073e6; 11 | --ifm-color-primary-darker: #198dff; 12 | --ifm-color-primary-darkest: #3399ff; 13 | --ifm-color-primary-light: #4da6ff; 14 | --ifm-color-primary-lighter: #66b3ff; 15 | --ifm-color-primary-lightest: #80c0ff; 16 | --ifm-code-font-size: 95%; 17 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 18 | --ifm-hero-bg-color: #ffffff; 19 | } 20 | 21 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 22 | [data-theme='dark'] { 23 | --ifm-color-primary: #50e6ff; 24 | --ifm-color-primary-dark: #2fe1ff; 25 | --ifm-color-primary-darker: #1edfff; 26 | --ifm-color-primary-darkest: #00c9eb; 27 | --ifm-color-primary-light: #72ebff; 28 | --ifm-color-primary-lighter: #82edff; 29 | --ifm-color-primary-lightest: #b4f4ff; 30 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 31 | --ifm-hero-bg-color: rgb(27, 27, 29); 32 | } 33 | 34 | .header-github-link:hover { 35 | opacity: 0.6; 36 | } 37 | 38 | .header-github-link::before { 39 | content: ''; 40 | width: 24px; 41 | height: 24px; 42 | display: flex; 43 | background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 44 | no-repeat; 45 | } 46 | 47 | [data-theme='dark'] .header-github-link::before { 48 | background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 49 | no-repeat; 50 | } 51 | 52 | /* navbar changes on small screens */ 53 | @media screen and (max-width: 1190px) { 54 | .navbar__item { 55 | font-size: 12px; 56 | } 57 | } 58 | 59 | @media screen and (max-width: 1062px) { 60 | .navbar__item { 61 | font-size: 9px; 62 | } 63 | 64 | .navbar { 65 | /* increase navbar height */ 66 | height: 60px; 67 | } 68 | } 69 | 70 | /* navbar toggle when small screen */ 71 | .navbar__toggle { 72 | margin-top: 0; 73 | margin-right: auto; 74 | margin-left: 0; 75 | } 76 | 77 | /* close navbar button */ 78 | .navbar-sidebar__close { 79 | margin-top: 0; 80 | align-items: end; 81 | width: 25px; 82 | margin-left: 0; 83 | margin-right: 0; 84 | } 85 | 86 | /* dark theme toggles */ 87 | .navbar-sidebar__brand div button { 88 | margin-top: 0; 89 | margin-left: auto; 90 | margin-right: 0; 91 | } 92 | 93 | .navbar-sidebar__brand .navbar-sidebar__close { 94 | margin-left: auto; 95 | } -------------------------------------------------------------------------------- /src/pages/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## How to contribute to Learn to Cloud Guide 2 | 3 | Hello lovely contributors, 4 | 5 | The guide content wise is finished and we are no longer looking for contributions there. Where we could always use help is in projects and translations. 6 | 7 | Please feel free to add a project in [this page](https://github.com/learntocloud/learn-to-cloud/blob/main/projects/README.md). 8 | 9 | If you'd like to help translate the guide, please open [an issue](https://github.com/learntocloud/learn-to-cloud/issues) and have a look at our [Language Support Page](https://github.com/learntocloud/learn-to-cloud/wiki/Language-Support-for-LTC) 10 | 11 | Thanks! :heart: :heart: :heart: 12 | 13 | GPS and Rishab 14 | -------------------------------------------------------------------------------- /src/pages/_index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Link from '@docusaurus/Link'; 4 | import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 5 | import Layout from '@theme/Layout'; 6 | import HomepageApi from '../components/HomepageApi'; 7 | import HomepageFeatures from '@site/src/components/HomepageFeatures'; 8 | 9 | import styles from './index.module.css'; 10 | 11 | import Image from '@theme/IdealImage'; 12 | import bannerImg from '../../static/img/LTC-HQ1.png'; 13 | 14 | function HomepageHeader() { 15 | const { siteConfig } = useDocusaurusContext(); 16 | return ( 17 |
18 |
19 | {/* 20 |

{siteConfig.title}

21 | */} 22 |

{siteConfig.tagline}

23 |
24 |
25 | ); 26 | } 27 | 28 | export default function Home(): JSX.Element { 29 | const { siteConfig } = useDocusaurusContext(); 30 | return ( 31 | 33 | 34 |

CLOUD DEFINITION OF THE DAY:

35 | 36 |
37 | 40 | Go to Guide 41 | 42 |

43 | 46 | Submit a definition 47 | 48 |
49 |
50 | 51 | 52 |
53 |
54 | ); 55 | } 56 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * CSS files with the .module.css suffix will be treated as CSS modules 3 | * and scoped locally. 4 | */ 5 | 6 | .heroBanner { 7 | padding-bottom: 0rem; 8 | text-align: center; 9 | position: relative; 10 | overflow: hidden; 11 | background-color: var(--ifm-hero-bg-color); 12 | } 13 | 14 | @media screen and (max-width: 996px) { 15 | .heroBanner { 16 | padding: 2rem; 17 | } 18 | } 19 | 20 | .buttons { 21 | display: flex; 22 | align-items: center; 23 | justify-content: center; 24 | padding-bottom: 3rem; 25 | } 26 | 27 | .button { 28 | padding-right: 1rem; 29 | } 30 | 31 | .featureImg { 32 | width: 10%; 33 | position: relative; 34 | display: block; 35 | margin-left: auto; 36 | margin-right: auto; 37 | } 38 | 39 | .hero__subtitle { 40 | color: white; 41 | } 42 | 43 | .btngrad { 44 | background-color: #134D99; 45 | margin: 10px; 46 | padding: 15px 45px; 47 | text-align: center; 48 | text-transform: uppercase; 49 | transition: 0.5s; 50 | border-radius: 10px; 51 | display: block; 52 | color:#fff; 53 | } 54 | .btngrad2 { 55 | background-color: #2DBACF ; 56 | margin: 10px; 57 | padding: 15px 45px; 58 | text-align: center; 59 | text-transform: uppercase; 60 | transition: 0.5s; 61 | border-radius: 10px; 62 | display: block; 63 | color:#fff; 64 | } 65 | 66 | .btngrad:hover, .btngrad2:hover { 67 | background-color: #33A1FD; 68 | color: #fff; 69 | text-decoration: none; 70 | } 71 | 72 | /* gradient text for modern browsers */ 73 | @supports (background-clip: text) { 74 | .gradientText { 75 | background-image: radial-gradient(circle farthest-corner at center center, #30CFD0 0%, #1B39CF 100%); 76 | background-clip: text; 77 | color: transparent; 78 | font-family: 'Poppins', sans-serif; 79 | text-align: center; 80 | font-size: 1rem; 81 | font-weight: 800; 82 | } 83 | } -------------------------------------------------------------------------------- /src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/static/.nojekyll -------------------------------------------------------------------------------- /static/img/LTC-HQ1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/static/img/LTC-HQ1.png -------------------------------------------------------------------------------- /static/img/Logo-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/static/img/Logo-01.png -------------------------------------------------------------------------------- /static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/static/img/docusaurus.png -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learntocloud/learn-to-cloud/d9465d87da2eb1306e6305c2e65449474357a085/static/img/favicon.ico -------------------------------------------------------------------------------- /static/img/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@tsconfig/docusaurus/tsconfig.json", 4 | "compilerOptions": { 5 | "baseUrl": "." 6 | } 7 | } 8 | --------------------------------------------------------------------------------