Skip to content

timebertt/talk-platform-engineering

Repository files navigation

Platform Engineering Course

A Practical Guide to the Cloud Native Toolkit

Netlify Status

Take me to the slides!

About

This is a university course by Tim Ebert at DHBW Mannheim. It is the first part of the Data Engineering module (third year) of the Data Science and Artificial Intelligence course. Code and solutions for the lab exercises can be found in the platform-engineering-lab repository.

Abstract

As the first part of the Data Engineering course, this lecture introduces the fundamental concepts and practices of platform engineering, serving as a solid foundation for modern data engineering. The course covers essential cloud native technologies and platform engineering principles required to build and operate scalable and resilient platforms. Students will learn how to leverage Kubernetes as the de-facto standard for building cloud native platforms, orchestrating not only containers but also entire application landscapes and infrastructure. By the end of the course, students will have a solid understanding of popular cloud native tools based on practical experiences with hands-on labs. The course aims at teaching students how to apply platform engineering principles to build platforms for enabling other teams to focus on what they do best – be it software development or data science.

Presenting and Editing the Slides

Slides are built in Markdown using reveal.js, packaged with webpack, and deployed with Netlify.

Prerequisites

Install a recent node version. Preferably, the one specified in .nvmrc (e.g., using nvm).

nvm use

Install the dependencies:

npm install

Present Locally

Perform a production build and serve the slides from the dist folder:

NODE_ENV=production npm run build
npm run serve

Important: Set NODE_ENV=production to yield the same build outputs as in production deploys to Netlify. If you don't set it, the QR will link to a local IP instead of the canonical URL, for example.

Edit Locally

Run a dev server with hot-reload and open the slides in the browser:

npm start

Alternatively, use the preconfigured start run configuration for JetBrains IDEs in .run.

Now, start editing the content files. When saving, slides are automatically rebuilt and refreshed in the browser.

Note, that npm start doesn't write the output to dist.

Build Locally

Run a full build and write output files to dist:

npm run build

Now, output files can be inspected in the dist folder. Also, the slides can be served locally from the dist folder (no hot-reload):

npm run serve

Using the above will output non-minimized files. Set NODE_ENV=production to enable minimization as it is done in Netlify builds:

NODE_ENV=production npm run build

Netlify Deploys

Netlify builds and publishes new commits to the main branch on https://talk-platform-engineering.netlify.app/.

https://github.com/timebertt/talks contains a Netlify proxy configuration to make the slides available at https://talks.timebertt.dev/platform-engineering/.

The Netlify site is configured to publish deploy previews for pull requests to the main branch and for pushes to arbitrary other branches.

About

Platform Engineering: A Practical Guide to the Cloud Native Toolkit

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •