Skip to content

oleksandrsirenko/cloud-native-foundations

Folders and files

NameName
Last commit message
Last commit date
Aug 5, 2021
Apr 13, 2023
Oct 10, 2021
Jun 12, 2023
Jul 9, 2021
Oct 10, 2021
Oct 10, 2021
Oct 10, 2021
Jul 9, 2021
Oct 10, 2021
Oct 10, 2021

Repository files navigation

Welcome to Cloud Native Foundations Workshop!

Documentation Status

Learn how to structure, package, and release an application to a Kubernetes cluster using an automated CI/CD pipeline.

πŸ’€ About

Cloud Native Foundations Workshop is an educational guide for students learning cloud-native application development.

This learning guide relates to SUSE Cloud Native Foundations Scholarship Program from Udacity and covers all hands-on exercises in the Cloud Native Foundations Course.

🎯 Objective

The main goal of this project is to build a knowledge base and help students solve technical issues outside the scope of the Cloud Native Foundation Course.

πŸ—ƒοΈ Content

The workshop contains exercises and solutions on selected topics that will help you understand the basics of building, deploying, and maintaining cloud-native applications. This is NOT a comprehensive guide, but rather a focused look at a few key topics:

  • Flask web development best practices.
  • App containerization with Docker.
  • Releasing applications to a Kubernetes cluster.
  • Automation software development workflows with GitHub Actions.
  • Using ArgoCD to build reliable CI/CD pipelines.

πŸ“₯ Documentation

The documentation is the core of the workshop. You can generate it automatically with a single line of code and use it locally without internet access. Moreover, you can edit and improve documentation, contributing to this project, or build your own knowledge base. You can also download the documentation in the following formats:

Find out the online version of Cloud Native Foundations Workshop on the Read the Docs.

Cloud Native Foundations Workshop

πŸ‘¨β€πŸŽ“ Required Knowledge

  • Python
  • Flask web development (introductory level)
  • Networking (REST, protocols, HTTP methods)
  • Git (basic commands, working with remote repositories)
  • Linux shell commands

πŸ’» Required Tools

πŸ“‚ Project Organization (main tree)

β”‚
β”œβ”€β”€ docs               <- Workshop documetation
β”œβ”€β”€ exercises          <- Boilerplate code for exercises
β”œβ”€β”€ solutions          <- Complete solution code
β”‚
β”œβ”€β”€ .gitignore         <- Set of patterns for files/directories to ignore
β”œβ”€β”€ .readthedocs.yaml  <- Read the Docs configuration file
β”œβ”€β”€ LICENSE            <- License information
β”œβ”€β”€ README.md          <- The top-level README for developers
β”œβ”€β”€ requirements.txt   <- The requirements file for reproducing environment
β”œβ”€β”€ test_env.py        <- Script to test Python environment setup
β”‚
└── Vagrantfile        <- Virtual machine config file (base template)

πŸš€ How to Get Started

At the moment, the workshop includes two main sections: exercises and solutions. The quickest way to get started is to open the Cloud Native Foundations Workshop on the Read the Docs and walk through the tutorial. There you will find everything you need to get the job done and create your own cloud-native development solutions.

πŸ“₯ Obtain Data

  1. Fork the workshop repository.
  2. On GitHub, navigate to your fork of the workshop repository and copy the URL.
  3. Clone forked repository to your local machine using git clone command. It will look like this, with your GitHub username instead of YOUR_USERNAME:
git clone https://github.com/YOUR_USERNAME/cloud-native-foundations

See details on how to fork and clone the repository.

βš™οΈ Set Up Environment

  1. Open the workshop folder with IDE and run terminal.
  2. Create the virtual environment: python3 -m venv venv
  3. Activate the virtual environment: source venv/bin/activate
  4. Install dependencies: pip install -r requirements.txt

πŸ“˜ Generate Docs

  1. Change the working directory to docs: cd docs
  2. Generate a local copy of workshop documentation by running make html
  3. Open the local copy of the documentation in a web browser: firefox build/html/index.html

πŸ’― Now you have everything you need to get the most out of this workshop! πŸŽ‰