Overview
Course Week 1 - Open Stack and CSCloud
Watch the course introduction and read the Study Guide.
Start working and getting acquainted with our cscloud environment.
Goal for course week:
- Be acquinted with the CSCloud environment
- Be able to create a machine (incl. network, router and security groups) in CSCloud
- Install a web server on that machine that answeres on a port (80 or 8080 for example)
- Make sure that you can reach the web page from your browser
Even though you should never use http alone without also setting up certificates to be able to use https, in this case we ignore that
Course Week 2 - Automated Provisioning and configuration
Start of by watching the Standup vlogg:
Goals
Theory
- Understand the benefits of automating the deployment and management of computing infrastructure. Infrastructure as Code (IaC)
- What is “Infrastructure as Code” (IaC)
- Motivation. Benefits of using IaC.
- Languages for IaC.
- Properties of infrastructure code (e.g., idempotency)
Practice
- Get familiarity with a tool that automates and manages the creation of computing infrastructure. (manually created previous week)
- Install Terraform
- Create a .tf-file used for creating the same infrastructure as course week 1.
Course Week 3 - Automated configuration
Start of by watching the Standup vlogg:
Theory
- Continue with the theory on IaC principles, benefits, etc. from last week if you have not completed it. This week is on IaC too.
Practice
- Get familiarity with a tool that automates and manages the software provisioning and configuration of the computing infrastructure.
- Install Ansible
- Install nginx or apache2, vange the default listening prot and put our website on the Ubuntu machine created på terraform last week.
Course Week 4 - CI/CD Pipelines
Start of by watching the Standup vlogg:
Theory
- Understand the concept, principles, and benefits of Continuous Integration/Delivery/Deployment (CI/CD). Understand the concept of a Deployment Pipeline and its relation to the CI/CD
Practice
- Get familiarity with a tool that supports CI/CD and create our first Deployment Pipeline, which will automatically execute every time that we do a change (push) to our software project.
- Create a CI/CD pipeline
- After every change in our application that is pushed to the repository, our CI/CD pipeline will automatically execute a series of operations.
- Taking advantage of our experience last week with Ansible, we will focus on automating the operations that deploy the newest version of our application in a staging environment (pre-production)
Course Week 5 - 6 - Assignment 1
It is time to start working on Assignment 1. Read more about the assignment here.