Source code ≠ deployable infrastructure
• Build once, deploy many
• Immutable, auditable modules
• Clean promotion paths
• Environment consistency
Stop promoting Git branches. Start promoting artifacts.
devoptimize.org/cloud/tf-art...
Source code ≠ deployable infrastructure
• Build once, deploy many
• Immutable, auditable modules
• Clean promotion paths
• Environment consistency
Stop promoting Git branches. Start promoting artifacts.
devoptimize.org/cloud/tf-art...
• Have questions about optimizing deployment or packaging? Drop them below!
• Have tips to help other packagers? We’d love to hear!
• Read other people’s tips, or answer any questions you know the answer to!
devoptimize.org/posts/202506...
• Have questions about optimizing deployment or packaging? Drop them below!
• Have tips to help other packagers? We’d love to hear!
• Read other people’s tips, or answer any questions you know the answer to!
devoptimize.org/posts/202506...
devoptimize.org/tools/terrag...
devoptimize.org/tools/terrag...
This cheatsheet covers `for_each`, `dynamic` blocks, `templatefile`, `terraform_remote_state`, CI/CD patterns, and more.
Build scalable, testable, production-grade IaC.
devoptimize.org/bibliography...
This cheatsheet covers `for_each`, `dynamic` blocks, `templatefile`, `terraform_remote_state`, CI/CD patterns, and more.
Build scalable, testable, production-grade IaC.
devoptimize.org/bibliography...
Clear boundaries improve security and scalability
* Dev/Test/Stage/Prod environments
* Workload or function-based accounts
* Map to business units
You’ll thank yourself later when access and billing stay clean
Clear boundaries improve security and scalability
* Dev/Test/Stage/Prod environments
* Workload or function-based accounts
* Map to business units
You’ll thank yourself later when access and billing stay clean
1/
Manual steps matter—even in automation-heavy setups.
Before spinning up VPCs or deploying IaC, you need a secure AWS root and organization setup. Here’s how to lay the foundation with clarity and future-proofing.
devoptimize.org/aws/aws-root...
1/
Manual steps matter—even in automation-heavy setups.
Before spinning up VPCs or deploying IaC, you need a secure AWS root and organization setup. Here’s how to lay the foundation with clarity and future-proofing.
devoptimize.org/aws/aws-root...
Structure it like you’ll run 10 apps, even if you're starting with one.
devoptimize.org/cloud/intro/
Structure it like you’ll run 10 apps, even if you're starting with one.
devoptimize.org/cloud/intro/
Why: Installing isn’t the same as packaging
• You need clean boundaries
• Consistent promotions
• Repeatable builds
• Portability across stages
Treat models like code—versioned, immutable, auditable.
devoptimize.org/ai/hugging-f...
Why: Installing isn’t the same as packaging
• You need clean boundaries
• Consistent promotions
• Repeatable builds
• Portability across stages
Treat models like code—versioned, immutable, auditable.
devoptimize.org/ai/hugging-f...
Red Hat just launched a containerized AI workflow built on RHEL. You can now train, fine-tune, and serve models using GPU-accelerated containers—no glue scripts required. Here’s how it works 👇
devoptimize.org/bibliography...
Red Hat just launched a containerized AI workflow built on RHEL. You can now train, fine-tune, and serve models using GPU-accelerated containers—no glue scripts required. Here’s how it works 👇
devoptimize.org/bibliography...
It’s all about the Art of Packaging in modern software delivery.
If you get a minute, check it out and let me know what you'd be most interested in seeing covered. Always curious what clicks with other engineers.
It’s all about the Art of Packaging in modern software delivery.
If you get a minute, check it out and let me know what you'd be most interested in seeing covered. Always curious what clicks with other engineers.
Break complex configs into logical units.
Place files in drop-in dirs.
System merges them.
Vendor & custom configs stay separate.
Updates stop being scary.
Break complex configs into logical units.
Place files in drop-in dirs.
System merges them.
Vendor & custom configs stay separate.
Updates stop being scary.
The make install technique bridges development and deployment seamlessly.
• Create a standard Makefile
• Define installation paths
• Add custom install targets
• Use DESTDIR for package building
No more manual copying.
devoptimize.org/practices/ma...
The make install technique bridges development and deployment seamlessly.
• Create a standard Makefile
• Define installation paths
• Add custom install targets
• Use DESTDIR for package building
No more manual copying.
devoptimize.org/practices/ma...
Common conventions for building local packages.
Why you should care? Because clean builds, simple installs, and easy packaging depend on them.
devoptimize.org/bibliography...
🧵 Read on:
Common conventions for building local packages.
Why you should care? Because clean builds, simple installs, and easy packaging depend on them.
devoptimize.org/bibliography...
🧵 Read on:
devoptimize.org/python/intro/
devoptimize.org/python/intro/
Please comment, like, and share!
devoptimize.org/rpm/make-sou...
Please comment, like, and share!
devoptimize.org/rpm/make-sou...
devoptimize.org/tools/mock/
devoptimize.org/tools/mock/
devoptimize.org/rpm/peter-go...
devoptimize.org/rpm/peter-go...
devoptimize.org/tools/rpmvenv/
devoptimize.org/tools/rpmvenv/
devoptimize.org/tools/nexus/
devoptimize.org/tools/nexus/
devoptimize.org/tools/artifa...
devoptimize.org/tools/artifa...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/bibliography...
devoptimize.org/fpm/index.html
devoptimize.org/fpm/index.html