initialCapacity[]

Welcome to Cloud Native Weekend

Our content library is packed with code examples, exercises, and reading material. Practice cloud native essentials in a hands-on, immersive learning environment while building real applications.

Software Engineering Overview

In this module you will learn the basics of modern software engineering. You will learn how our industry progresses over time, practices test driven development, and implement widely used data structures.

Learning objectives

Welcome

Introduction to the workshop.

Day-in-the-life

Ideal lifecycle for modern software development.

Practices

Practices, principles, and values.

No silver bullet article

Essence and Accidents of Software Engineering.

Testing basics

Test driven development overview.

Simple aged cache

Test drive a cache data structure.

Testing with doubles

An overview of test doubles.

The "unit" in unit testing

Examining units of isolation

Cache revisited

Testing with test doubles.

Blockchain

An overview of blockchain.

Blockchain codebase

Test drive a blockchain.

Secure code

A secure coding discussion.

Fundamentals of Software Architecture

In this module you will learn the fundamentals of software architecture. You will learn how to evolve software over time and how to work within a large codebase.

Learning objectives

App Continuum

Introduction to evolutionary architecture.

Continuum article

Evolution of a cloud native architecture.

Continuum codebase

Continuum codebase with step-by-step commits.

Provenance

Working with big systems.

Functional concepts

Basic concepts of functional programming.

Functional codebase

Implementing an Elm Architecture.

Fundamentals of Production Software

In this module you will learn the fundamentals of monitoring software in production. You will learn how to create reliable background jobs, how to calculate and communicate service availability, and how to implement production metrics and monitoring.

Learning objectives

Provenance Metrics

Metrics with Prometheus and Grafana.

Fresh Cloud

The basics of a modern application platform.

Fresh Cloud deployed

An example of a modern application platform.

Continuous integration

Deploy early and often

Fundamentals of Software Architecture for Big Data

In this module you will learn the fundamentals of production quality databases and messaging systems. You will learn to understand the tradeoffs between consistency and availability, how to implement database transactions to improve consistency, and how to implement messaging systems to improve availability.

Learning objectives

The CAP Thereom

Examining and understanding the CAP thereom

The Milk Problem

A case study about inventory management.

One-phase commit

One-phase commit with PostgreSQL.

The Milk Problem continued

A case study about inventory management continued.

Best case messaging

Best case one-phase commit with RabbitMQ.

Big architecture

A case study of a high-throughput architecture.

Email verifier

An example of large architecture.

Additional materials

jump-start

An exercise to prepare your machine for Cloud Native Weekend.

Kotlin ktor starter

Starter application using kotlin and ktor.

Further reading

A collection of supporting documentation.

A workshop by

Initial Capacity