No description
  • JavaScript 81.2%
  • Shell 16.1%
  • Dockerfile 2.1%
  • HTML 0.6%
Find a file
2026-05-09 22:01:33 +01:00
lab1 typo 2026-02-10 11:41:58 +00:00
lab2 week2 2026-02-02 20:42:36 +00:00
lab3 Update lab3/lab3.2-k3s-pods-hello.md 2026-02-17 11:56:46 +00:00
lab4 lab4 2026-02-17 13:01:34 +00:00
lab5 fix 2026-05-09 22:01:33 +01:00
lab6 week 6 2026-02-27 15:33:41 +00:00
lab7 week 7 2026-03-10 11:24:14 +00:00
lab8 labs8-12 2026-03-14 13:54:02 +00:00
lab9 labs8-12 2026-03-14 13:54:02 +00:00
lab10 labs8-12 2026-03-14 13:54:02 +00:00
lab11 labs8-12 2026-03-14 13:33:05 +00:00
lab12 labs8-12 2026-03-14 13:33:05 +00:00
.gitignore fix 2026-05-09 22:01:33 +01:00
README.md labs8-12 2026-03-14 13:33:05 +00:00

Enterprise Architecture Design

M.Sc. 2026

General Information

Lecturer: Enda Lee
Contact/ Email: enda.lee@tudublin.ie

Labs

Week 1

📄 1.1 - Set up a virtualized Linux server environment

📄 1.2 - Install the Docker engine and deploy an application

📄 1.3 - Container Management

📄 1.4 - Advanced Linux Tools

Week 2

📄 Lab 2 - Overview

📄 Lab 2.1 - Monolithic web app

📄 Lab 2.2 - Microservice version of the app

📄 Lab 2.3 - Latency Testing and Comparison

Week 3

Read and try for this lab: VS Code Remote Development using SSH

📄 Lab 3.1 - Overview

📄 Lab 3.2 - K3 Pods

📄 Lab 3.3 - Deployment

📄 Lab 3.4 - Operations and Configuration

📄 Lab 3.5 - Persistence (PVC)

📄 Lab 3.6 - Microservices

📄 Lab 3.7 - Testing & Troubleshooting

Week 4

📄 Lab 4 - Overview

📄 Lab 4.1 - Nanoservices on Docker Compose

📄 Lab 4.2 - Deploy the Nanoservices App to K3s

📄 Lab 4.3 - Compare Compose vs Kubernetes

Week 5

📄 Lab 5.0 - Overview

📄 Lab 5.1 - KEDA scale-to-zero

📄 Lab 5.2 - Apply scale-to-zero to the Lab 4 checkout

📄 Lab 5.3 - Tracing basics (Request IDs) + Persistence

Week 6

📄 Lab 6.1 - Concepts/ Overview

📄 Lab 6.2 - RabbitMQ

📄 Lab 6.3 -Kafka

📄 Lab Resources - example apps and Manifests

Week 7

📄 Lab 7a - Zero Trust request path and Kubernetes identity hardening

📄 Lab 7b - Shift-left security pipeline

📄 Lab 7c - Staging DAST + runtime detection + incident drill

Week 8 - 12

📄 Lab 8 - IAM with Keycloak, OIDC, JWT Validation, and Workload Identity

📄 Lab 9 - Build a secure gateway entry path with Ingress, TLS, and IAM

📄 Lab 10 - Build edge APIs with REST, BFF, GraphQL, and RPC-style patterns

📄Lab 11 - Build traffic control and resilience with rate limiting, timeouts, retries, circuit breakers, and observability

📄 Lab 12: Build east-west controls, egress policy, mTLS concepts, and a simple service-mesh example

Reading

Linux Journey (Highly Recommended)

  • Why: The absolute best starting point. It breaks Linux down into small, bite-sized modules. It covers permissions, processes, and text processing visually.
  • Focus: Complete the "Command Line" and "Text" sections for this module.

OverTheWire: Bandit Wargame (Gamified)

  • Why: A game where you learn Linux commands to "hack" into the next level. Level 1 requires SSH, Level 2 requires file reading, etc.
  • Focus: Levels 0–10 are perfect for practicing SSH, grep, find, and file permissions.

The Linux Command Line (Free Book)

  • Why: The standard textbook for Linux. The author, William Shotts, offers the PDF for free.
  • Focus: Chapter 6 (Redirection) and Chapter 19 (Regular Expressions/Grep).

Docker Curriculum

  • Why: A comprehensive, plain-English tutorial created by a developer, not a corporation. It covers everything from "Hello World" to deploying on AWS.
  • Focus: Sections 1 through 4 (Basics to Docker Compose).

Play with Docker

  • Why: An official browser-based sandbox. If your local VM breaks or you don't have enough RAM, you can spin up a Docker instance inside your web browser for free (requires Docker Hub account).
  • Focus: Use this to practice multi-container networking without breaking your own laptop.
Print these out or keep them bookmarked during Labs.

🔗 World's Biggest Data Breaches & Hacks

🔗 https://webutils.io/

🔗Mobile Communications Best Practice Guidance