Learn how to structure, package, and release an application to a Kubernetes cluster using an automated CI/CD pipeline.
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.
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.
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.
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.
- Python
- Flask web development (introductory level)
- Networking (REST, protocols, HTTP methods)
- Git (basic commands, working with remote repositories)
- Linux shell commands
│
├── 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)
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.
- Fork the workshop repository.
- On GitHub, navigate to your fork of the workshop repository and copy the URL.
- Clone forked repository to your local machine using
git clone
command. It will look like this, with your GitHub username instead ofYOUR_USERNAME
:
git clone https://github.com/YOUR_USERNAME/cloud-native-foundations
See details on how to fork and clone the repository.
- Open the workshop folder with IDE and run terminal.
- Create the virtual environment:
python3 -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Change the working directory to docs:
cd docs
- Generate a local copy of workshop documentation by running
make html
- Open the local copy of the documentation in a web browser:
firefox build/html/index.html