l3 Build & Containerization Flashcards
Open Container Initiative (OCI)
Contains 2 standards:
Runtime Specification
Image Specification
Running OCI containers
best practices for building images
SBOM
Software bill of materials
* Components in the artifact
* List for licensing and security
* “Supply chain” for software
Syft generates SBOM
Grype for vulnerabilities
Multistage Build
discard intermidiate builds
FROM golang:1.18-alpine as builder
…
FROM alpine:latest
…
COPY –from=builder /app/myapp .
…
Buildpacks
+:
* Dockerimage without
Dockerfile
* Auto Detect of Frameworks
-:
* New project, bugs occur
* Complicated architecture,
hard to track errors in
framework
Monorepo VS Polyrepo
Monorepo:
Entire microservice architecture in one
repository
* Self containing
* Sharing of common dependencies
* Easier, large scale refactorings
Polyrepo:
Each microservice is on one repository
* Share of one microservice to other
architectures
* Scaling of size of repositoriy
* Security / Visibility / Atomicity is more
natural
* Decoupling things that do not belong
together
Three Pillars of observability
Reproducible builds
Release Strategy
Why should you use a CI-System for releasing
Automated Status
Credential Handling
Independant Plattform for technical integration
Bus factor