bookmarks/sections/devops.md

159 KiB
Raw Blame History

Table of Contents

DevOps / CICD

Table of contents

News

  • HashiCorp - HashiCorp Blog
  • CloudBees - CloudBees Blog
  • Jenkins CI - Jenkins CI Youtube Channel
  • CloudBees - CloudBees TV Youtube Channel
  • DZone - DZone Devops latest articles
  • /r/devops - Everything Devops on reddit
  • /r/cicd - Everything CI/CD on reddit
  • Netflix - NetFlix Technology Blog
  • Netflix - Netflix TechBlog
  • DEV - DevOps related articles on dev.to()
  • DevOps'ish - DevOps, Cloud Native, Open Source, and the ish in between.
  • Stack Exchange - DevOps questions & answers
  • ThoughtWorks - Technology radar : trends, insights into tools, frameworks, languages, techniques & platforms shaping the future
  • Puppet Blog - educates readers on configuration management, cloud migration and cloud management, DevOps, security, compliance, Windows ...
  • Hacker News - last year DevOps news
  • InfoWorld - information, news, how-to advices about DevOps
  • Medium - DevOps Stories on medium
  • DevOpsLinks - The Must-Read Publication for Aspiring DevOps Professionals
  • All Things Distributed - Werner Vogels' (Amazon' CTO) weblog on building scalable and robust distributed systems.
  • GoCD Blog - Continuous Delivery techniques, thoughts, learnings
  • Redgate Blog - Database / DevOps articles
  • Pivotal - featured news & stories about DevOps, Cloud, Containers, Software etc.
  • Build to Adapt at Pivotal - Stories and insights on how software is changing the way society and businesses are built, from Pivotal.
  • Praqma Stories - Newest stories of The Continuous Delivery Company
  • The Continuous Delivery Aliance - a community of Continuous Delivery and DevOps companies who work together to learn and facilitate best practices shared among the members.
  • GitLab - Blog archives, mixed content about GitLab, DevOps and CI/CD
  • Codeship - Codeship Blog, about CI/CD
  • ThoughtWorks Insights - ThoughtWorks Insights
  • ThoughtWorks Insights - ThoughtWorks Insights on continuous delivery
  • Paul Hammant - articles about CD, DevOps, etc. Specific sections : Continuous_Delivery and DevOps
  • Stackify - all posts tagged as DevOps
  • Jessie Frazelle - articles about DevOps, Containers, Linux, etc
  • Ansible - Ansible Blog
  • OpenShift Blog - OpenShift latest news
  • Red Hat Blog - Official Red Hat Blog
  • CloudPassage Blog - insights for a unsecure world / news & tips on protecting critical assets
  • Electric Cloud Blog - DevOps, Continuous Delivery, and all that jazz...
  • Continuous Discussions (#c9d9) - A community podcast, discussing Agile, DevOps & Continuous Delivery
  • fabric8 Blog - Blog of fabric8, the open source microservices platform for developers, based on Docker, Kubernetes and Jenkins
  • sysadvent - One article for each day of December, ending on the 25th article | great articles about systems administration topics written by fellow sysadmins.
  • SysAdvent Calendar - Pre Christmas Tips and Tricks for Sysadmins
  • AWS News Blog
  • GOTO Blog - Created for developers, by developers, GOTO is focused on bringing together the best minds in the software community and the most interesting topics to light.
  • HangOps - is a large, active DevOps slack community.
  • Devops Engineers - A group of engineers talking about devops related topics in a Slack channel
  • DevOpsChat - Get involved with the Largest DevOps Slack Community
  • SweetOps - is a collaborative DevOps community for engineers of all skill levels, sponsored by Cloud Posse.
  • A Cloud Guru Blog - Cloud Technology Updates and More | Stay up to date on what's happening in technology, industry insights, technical skills development and all things cloud learning, and cloud certifications.
  • Honeycomb Blog - Honeycomb helps engineering teams deeply understand their own production systems through observability. Their mission : Give all software engineering teams the observability they need to eliminate toil and delight their users.
  • DevOps Newsletters - a one stop shop for the best DevOps news content from around the world.
  • [The Shipt It! Podcast](https://changelog.com/shipit - A podcast about getting your best ideas into the world and seeing what happens.
  • Devops Weekly - A weekly slice of devops news

Learn

  • Derek E. Weeks - 21 DevOps and Docker Reference Architectures
  • Derek E. Weeks - 31 Reference Architectures for DevOps and Continuous Delivery. Slides here
  • Olivier Mallassi, Rudy Krol - [FR] 🇫🇷 Les Patterns des Grands du Web DevOps
  • Martin Rusev - (2015) How I Replaced SSH with ZeroMQ and Salt
  • Martin Rusev - (2015) SaltStack - Review and how it fares against Ansible and Puppet?
  • Josh Dreyfuss - Deployment Management Tools: Chef vs. Puppet vs. Ansible vs. SaltStack vs. Fabric
  • Engin Yöyen - Service Discovery : Choosing the Right Tool
  • Viktor Farcic - (2017) The Ten Commandments Of Continuous Delivery. Bonus from Jenkins World 2017 : video * Viktor Farcic - The Ten Commandments Of Continuous Delivery. Bonus from Jenkins World 2017 : video & my notes my notes
  • Pushkar Singh - [PNG] (2015) Devops Maturity Model
  • DevOpsGuys - (2013) Maturing the Continuous Delivery Pipeline
  • Tony Bradley - (2017) DevOps is More Than Just Automation
  • Don Macvittie - Moving That Big Project to CI/CD
  • Yaniv Yehuda - 7 Highly Effective Continuous Delivery Principles
  • Automatic Software - DevOps Maturity model assessment : Where are you on your DevOps journey?
  • Phillip Holmes - (2015) Fourth - The Build System
  • Phillip Holmes - (2015) The Build Methodology Decision
  • Michael Hedgpeth - (2017) Why Habitat? - Chef Blog
  • Samuele Resca - Continuous Delivery using feature toggle
  • Per-Gustaf Stenberg [PDF] (Master's thesis) Container-based Continuous Delivery for Clusters, interesting for some parts
  • Nathan Hurst - (2015) From 10 Hours to 10 Minutes: Scaling Release Automation at Teachers Pay Teachers
  • Chris Short - 5 laws every aspiring DevOps engineer should know
  • Viktor Farcic - Service Discovery (The DevOps 2.0 Toolkit)
  • Josh @ Overseer - The DevOps tool arsenal: Results from ~100 DevOps/SRE surveys
  • Josh @ Overseer - Clouds, containers & microservices: infra and architecture from ~100 DevOps/SRE surveys
  • Josh @ Overseer - Fears and favorites from 100+ DevOps/SRE surveys
  • Gregg Caines - (2013) Release-ophobia
  • Gregg Caines - (2012) Your Team Probably Doesn't Have the Same DVCS Requirements as Linus
  • Sqreen - The DevOps Security Checklist
  • David Mytton - How we do HumanOps at Server Density
  • kahun/awesome-sysadmin - A curated list of amazingly awesome open source sysadmin resources
  • n1trux/awesome-sysadmin - (fork of kahun/awesome-sysadmin)
  • DevOps on Slack - DevOps fans on Slack
  • DevOpsLinks on Slack - Where “software DEVelopment” meets “information technology OPerationS”
  • Joran Le Cren - (2017) 7 Specific Suggestions to Sabotage DevOps Simply
  • Mattias Geniar - Why do we automate?
  • Aaron Boodman - how the team responsible for Google Chrome ships software
  • Vishal Naik - Enabling Trunk Based Development with Deployment Pipelines / learn from deployment pipeline anti patterns
  • Phu Ha - Continuous Integration: Part 1 - Setting Up VMs, Docker, and Jenkins
  • Phu Ha - Continuous Integration: Part 2 - Setup a Jenkins Slave, Docker Registry, and Jenkinsfile (Pipeline)
  • Suzie Prince - (2017) It's not CI, it's just CI Theatre
  • Maxime Choffat - [Slides] Introduction to DevOps - presentation of first Belgium DevOps Meetup
  • XebiaLabs - The Ultimate DevOps Tool Chest
  • Drue Placette - (2015) 51 Best DevOps Tools for #DevOps Engineers
  • Electric Cloud - Continuous Integration Best Practices: Vision and Reality
  • Electric Cloud - Build Automation: Top 3 Problems and How to Solve Them
  • Damon Edwards - (2014) Jenkins is for Development. Rundeck is for Operations.
  • DevOps Topologies. There is no right team topology, but several bad topologies for any one organisation. Original article -> Matthew Skelton - (2013) What Team Structure is Right for DevOps to Flourish?
  • RedHat - [Videos] RedHat Summit 2017 Breakout Sessions, topics being DevOps, OpenShift, Development, OpenStack...
  • aelsabbahy/goss - goss : Quick and Easy server testing/validation
  • Ahmed Elsabbahy - Tutorial: How to test your docker image in half a second
  • Stack Exchange - How to test provisioning and configuration in Ansible setup?
  • Pedro Artino - (2016) Test Driven Infrastructure with Goss
  • drone - Drone is a Continuous Delivery platform built on Docker, written in Go
  • chassing/linux-sysadmin-interview-questions - Linux System Administrator/DevOps Interview Questions
  • kevindeasis/awesome-fullstack - Learn front-end, middle-tier, back-end tier, algorithms, and continuous delivery
  • ciandcd/awesome-ciandcd - list of resources about Continuous Integration and Continuous Delivery
  • Pascal Welsch - Use different build numbers for every buildautomatically using a gradle script
  • Derek Weeks - Embedding Ownership: A DevOps Best Practice
  • E.G. Nadhan - (2017) 9 key phrases of DevOps
  • DevelopIntelligence Blog - DevOps Simplified for Non-Technical People
  • Jan Krag - (2017) Survival of the Fittest; Evolution in the CI ecosystem
  • Derek Greer - (2016) Separation of Concerns: Application Builds * Derek Greer - Separation of Concerns: Application Builds & Continuous Integration Continuous Integration
  • The Pragmatic Programmers - [PDF] Pragmatic Project Automation Summary Road Map / good one-page summary of Pragmatic Project Automation book
  • Slant - Best CI (Continuous Integration) tools
  • Stackify - (2017) Top Continuous Integration Tools: 51 Tools to Streamline Your Development Process, Boost Quality, and Enhance Accuracy
  • mr-mig/going-to-production - A checklist for topics which should be covered before going to production.
  • TotalCloud - A collection of DevOps checklists
  • Microsoft Docs - DevOps Checklist
  • Aymen El Amri - The 15-point DevOps Check List
  • Steve Pereira - The DevOps Checklist
  • Fagner Martins Brack (fagnerbrack) - [IMG] The Periodic Table Of Software Engineering
  • John Allspaw - (2009) [Slides] 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
  • Patrick Debois - (2010) [Slides] Devops: The War is over - If you want it
  • Ian Miell - (2017) A Checklist for Docker in the Enterprise (Updated)
  • Blueprint - a config mgmt tool that reverse-engineers servers by figuring out what you've done manually, commit them to git + generates code that can replicate your efforts
  • arvind - (2017) In DevOps, Dev is Killing Ops // read the full article + conclusion to have a better understanding
  • All Day DevOps - [Videos] All Day DevOps 2017 videos
  • Jeff Geerling - (2017) dockrun oneshot — quick local environments for testing infrastructure
  • Alex Zhitnitsky - (2014) 15 Tools Java Developers Should Use After a Major Release
  • Keith Cirkel - (2014) Why we should stop using Grunt & Gulp
  • Doug Tedder - (2017) Ops, just get out of the way
  • Doug Tedder - (2017) The Seven Silent Killers of the IT Organization
  • Doug Tedder - (2017) The CAB is Dead. Long Live the CAB.
  • Aymen El Amri - The Most Popular DevOps Stories In 2016
  • eon01/DevOpsLinks-Is-Awesome - curated list of useful resources for DevOps, SysAdmin and Full Stack Developers
  • The Disciplined Agile (DA) Framework - Disciplined DevOps
  • Werner Vogels - (2016) 10 Lessons from 10 Years of Amazon Web Services
  • Container Journal - (2017) Using CI/CD Over Containerization to Drive Down Pre-Production Costs
  • Devhints - collection of Rico's cheatsheets about programming, DevOps, etc.
  • csabapalfi/release-it - notes for the book titled 'Release It!' by Michael T. Nygard
  • Steve Smith - (2017) Aim for Operability, not DevOps As A Cult
  • Russ Collier - (2013) A DevOps Checklist
  • Russ Collier - (2013) It Takes Dev and Ops to Make DevOps
  • Cindy Sridharan - (2017) Everyone is not Ops
  • Carlos Leon - (2017) Semantic versioning and Tagging Docker images the right way
  • James Wade - curated list of Devops Best Practices
  • Raymond Rutjes - (2017) Pragmatic Releasing: Less Worry, More Shipping
  • Ask Hacker News - (2017) How do you deal with operational work as a software engineer?
  • Manisha Sahasrabudhe - (2017) Are you stuck in the new DevOps matrix from hell? | about complexity of env-app configuration management
  • ripienaar/free-for-dev - list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev. Bonus : Website
  • kelseyhightower/confd - confd is a lightweight configuration management tool to keep local config files up-to-date using either etcd, consul, dynamodb, redis, vault, zookeeper, aws ssm parameter store or env vars
  • Eric Myhre - You probably don't really want CI-triggered CD
  • StackStorm Exchange - Automate all the things you already know and use with dozens of ready-made integration packs. Cloud providers, monitoring services, lightbulbs. Its extendable, flexible, and built with love for DevOps and ChatOps
  • Dag Sonstebo - (2017) Configuration Management Best Practices
  • Concourse CI - CI that scales with your project.
  • Buildbot - The Continuous Integration Framework
  • JP La Torre - 50+ Useful Docker Tools
  • Asaf Yigal - (2017) SRE vs. DevOps — a False Distinction?
  • Nicolas De Nayer - (2017) The Duty Guy: the key to empowering engineers
  • Jérôme Petazzoni - (2017) DevOps, Docker, and Empathy | Just because were using containers doesnt mean that we “do DevOps.”
  • Google - [Book] Site Reliability Engineering | free book about how SRE at Google build, deploy, monitor, and maintain some of the largest software systems in the world.
  • Pivotal - What are Cloud-Native Applications?
  • Bryan Friedman - (2017) Infrastructure as Code is Not Enough: Comparing BOSH, Ansible, and Chef - Part 1. See also : Part 2
  • GROWS Method - What is GROWS?
  • Grant Fritchey - (2017) Youre not delivering DevOps to the database

Please, developers, dont get smug. Im starting with you because youre a core part of the problem here. Go back and re-read the definitions of DevOps … Ill wait … You have to notice one salient point. Nowhere does it say, “Developers rule the world”, or “Developers have SA privileges”, or “We get to ignore the Operations side of IT and do anything we want”. No, instead, it talks about cooperation.

DevOps does not equal Developers managing Production

  • Jason Bloomberg - (2017) Is #DevOps Falling into the Maturity Trap?
  • Catherine Louis - (2017) 20 questions DevOps hiring managers should be prepared to answer
  • Carlos Nunez - (2018) How to get into DevOps
  • Thomas Steinborn - (2018) The future of DevOps is mastery of multi-cloud environments
  • Angie Jones - (2018) 6 reasons to co-locate your app and automation code
  • Maxime Choffat - (2018) [Slides] of You said DevOps ? - Introduction to DevOps Meetup
  • CloudBees - (2014) [PDF] Infographic on Continuous Delivery: Are you really doing it? 41% think they are, only 8% truly are
  • Thierry de Pauw - (2017) [Video] + [Slides] Feature Branching considered Evil. Bonus : Recent slides - 2018
  • DZone - (2018) [Book] [PDF] DZone's free 50 pages Guide to DevOps: Culture and Process
  • Steve Ropa - (2018) A Craftsman looks at continuous integration
  • Mark Pundsack - (2017) Beyond CI/CD: GitLab's DevOps vision | How we're building GitLab into the complete DevOps toolchain.
  • GitLab - Auto DevOps is next via (2017) Sid Sijbrandij From 2/3 of the self-hosted Git market, to the next-generation CI system, to Auto DevOps
  • Paul Johnston - (2017) Serverless is about Automation, not Functions
  • Subbu Allamaraju - (2016) Dont Build Private Clouds
  • Matthew Setter - (2018) Best Practices When Versioning a Release
  • Martin Fowler - (2006) Continuous Integration
  • Ben Putano - (2018) 8 Best Practices for Agile Software Deployment
  • Ben Putano - (2018) Proven Steps to Achieving Deployment Nirvana
  • Matt Watson - (2017) What Is Site Reliability Engineering and Why You Should Embrace It
  • Matt Watson - (2017) What is Web Operations? How Does it Relate to DevOps and SRE?
  • Matt Watson - (2017) 15 Metrics for DevOps Success
  • Matt Watson - (2014) Supporting Production Applications the DevOps Way
  • Matt Watson - (2017) What is DevOps? Give Your Development Team Ownership
  • Red Hat - [Videos] Webinar Archives
  • Red Hat - Red Hat Events & Webinars
  • Red Hat - [Videos] Red Hat Summit Youtube Channel
  • Bob Reselman - (2018) Why the promise of low-code software platforms is deceiving

Low-code/no-code platforms mean anyone can code, right? Wrong. This is a dangerous thought for enterprises.

  • OpenStack Summit - All Videos archives
  • Jamie Maguire - (2018) Software Release Management Best Practices
  • Kevin London - (2016) DevOps from Scratch, Part 1: Vagrant & Ansible
  • Kevin London - (2016) DevOps from Scratch, Part 2: Amazon & Terraform
  • Continuous Delivery Service (CDS) - Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform, by OVH. CDS is open-source and completely free.
  • Frederik Andersson - (2017) Updating a Maintainable NPM Module with Continuous Integration
  • Devoxx Belgium - (2017) The Top-100 rated Devoxx Belgium 2017 talks
  • Coda Hale - (2017) Risky Business Requires Active Operators | about the risks of automation in order to successfully and safely wield its power.
  • Dan McKinley - (2016) No Way Out But Through | how Skyliner deploys applications and why they built it like that
  • Dan McKinley - (2017) You Cant Have a Rollback Button | The internet is a big truck. Its really hard to drive it backwards.
  • Paul Hammond - (2010) [Slides] Always ship trunk | Managing change in complex websites
  • Theo Schlossnagle - (2010) Online Application Deployment: Reducing Risk
  • Sasha Friedenberg - (2017) How Etsy Ships Apps
  • Gregg Caines - (2015) Continuous Testing
  • Gregg Caines - (2015) Reclaiming Value From Bugs and Outages: Thoughts on Post-Mortems
  • Zach Holman - (2012) Unsucking Your Team's Development Environment
  • Zach Holman - (2018) How to Deploy Software | Make your teams deploys as boring as hell and stop stressing about it.
  • Zach Holman - [Slides] move fast & break nothing | a talk about code, teams & process
  • Jim Bird - (2016) DevOpsDays: Empathy, Scaling, Docker, Dependencies and Secrets | interesting takeaways
  • Zach Holman - [Slides] (2011) How GitHub Uses GitHub to Build GitHub
  • Mirco Hering - (2018) Why you are probably not as advanced in your Agile/DevOps journey as you think you are
  • Mike Loukides - (2017) The evolution of DevOps
  • Kate Matsudaira - (2016) Bad Software Architecture is a People Problem | When people don't work well together they make bad decisions.
  • Bridget Kromhout - (2018) Containers Will Not Fix Your Broken Culture (and Other Hard Truths) | Complex socio-technical systems are hard;
  • Kode Vicious - (2010) Broken Builds | Frequent broken builds could be symptomatic of deeper problems within a development project.
  • Mandi Walls - (2017) Configuration Management is Old and Boring
  • Pavan Belagatti - (2017) DevOps Resources: 5 Books Every DevOps Enthusiast Must Read! | + the SRE book
  • Nathen Harvey - (2017) The Journey to Continuous Automation
  • Nathen Harvey - (2017) Compliance as Code
  • Katie Ballinger - (2017) Onboarding New Site Reliability Engineers
  • Alice Goldfuss - (2017) Center stage: Best practices for staging environments
  • Increment Staff - (2017) What its like to be a developer at …
  • Amy Blais - (2017) 27 things enterprises can learn from startups to increase productivity
  • Joe McKendrick - (2017) Time to move on from DevOps and continuous delivery, says Google advocate
  • Mike Bursell - (2018) Tackling the most important issue in a DevOps transformation | Why culture is the most important issue in a DevOps transformation
  • Ian Miell - (2018) Five Things I Did to Change a Teams Culture
  • Armon Dadgar - (2018) Why We Need Dynamic Secrets | how applications do a terrible job keeping secrets, and why we need to embrace ephemeral credentials, or "Dynamic Secrets" in Vault.
  • Dan Barker - (2018) Your DevOps attempt will fail without these 7 departments buying in | Achieving customer value requires more than just software development and IT operations.
  • Michael Cote - (2018) The many-faced god of operational excellence, DevOps and now 'site reliability engineering'
  • Anna Kennedy - (2017) Testing Packer builds with Serverspec
  • Alice Goldfuss - (2016) No More On-Call Martyrs
  • Rob Kinyon - (2016) What does Operations do?
  • Jennifer Riggins - (2018) On Call Rotations: How Best to Wake Devs Up in the Middle of the Night
  • Robert Treat - (2017) sysadmins - the evolution of a role amidst revolutionary hype.
  • Etienne Tremel - (2017) Deployment Strategies
  • bridgetkromhout/devops-against-humanity - DevOps Against Humanity (an expansion for Cards Against Humanity)
  • Continuous Delivery - What is / Why Continuous Delivery ?
  • Ask HN - (2018) Which books describe modern devops?
  • Jamie Maguire - (2018) AWS Top 10 Security Tips
  • Josh Johnson - (2015) DevOps Is Bullshit: Why One Programmer Doesnt Do It Anymore
  • Yevgeniy Brikman - (2016) Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation
  • James Shore - (2005) Continuous Integration is an Attitude, Not a Tool
  • Yegor Bugayenko - (2014) Why Continuous Integration Doesnt Work | Don't forget it's Yegor writing this... :-)
  • James Shore - (2006) Continuous Integration on a Dollar a Day
  • Michal Charemza - (2017) Non atomic deployments | Cron-free deferred delete of obsolete static resources | The best infrastructure is the one that doesn't exist
  • Hacker News - (2018) Ask HN: How do you keep track of releases/deployments of dozens micro-services?
  • Ontrack - Continuous delivery monitoring : a tool for keeping track of deployments without losing anything, and make good usage of all data generated by CI/CD activities Bonus : Slides of presentation in Belgium and Github Repo and nemerosa website.
  • chris-short/DevOps-README.md - What to Read to Learn More About DevOps
  • Jim Leonardo - (2017) Is it DevOps? What is DevOps and what is not DevOps
  • Dmitriy Samovskiy - (2011) Complex Systems: Generalists and Specialists | on diagnosing problems
  • Dmitriy Samovskiy - (2010) The Rise of DevOps
  • Dmitriy Samovskiy - (2016) The Rise of New Operations
  • Electric Cloud - (2014) Continuous Integration Best Practices: Vision and Reality | Are you really practicing the principles of Continuous Integration?
  • Angela Stringfellow - (2017) Mistakes to Avoid on Your DevOps Resume: Tips from 20 DevOps Leaders and Hiring Managers
  • Google - Why devops is bad | interesting search results
  • Helen Beal - (2017) The Industry Just Can't Decide about DevOps Teams
  • Joshua Kerievsky - (2014) Benefits of Continuous Deployment : Lower Stress, Greater Flow, Less WIP, Easier Recovery
  • A. Mokhov, N. Mitchell, Simon Peyton Jones - (2018) [PDF] Build Systems à la Carte | is excel a build system too ? study of various old and model build systems
  • Aymen El Amri - (2018) 50 Best DevOps & SRE Blog Posts & Tutorials Of 2017
  • Jeff Knupp - (2014) How 'DevOps' is Killing the Developer
  • Didier Caroff - (2018) How We Switched to a Continuous Delivery Pipeline in 3 months
  • Naresh Jain - (2011) Impact of Continuous Integration on Team Culture
  • RightScale - Cloud Comparison : Google Cloud Platform vs AWS vs Azure vs IBM Cloud
  • Balaji Vajjala - (2017) continuous delivery patterns & antipatterns
  • Cody Boggs - (2016) Deploying a private PaaS: The good, the meh, and the aw crap

"moving to a PaaS is certainly not a decision to be made lightly but its still probably the right decision."

  • ThoughtWorks - How to build your ThoughtWorks Radar
  • Balaji Vajjala - (2014) 6 Challenges in implementing Enterprise Continuous Delivery
  • Katacoda - Learn new technologies right in your browser | Interactive Learning and Training Platform for Software Engineers
  • OpenShift - [Book] DevOps with OpenShift
  • DevOps.com - (2016) 7 Best Practices for Continuous Delivery Success
  • Vladimir Fedak - (2018) 10 disruptive DevOps trends of 2018
  • Chris Hill - (2018) Security in the Cloud: What I learned when AWS (almost) billed me for $29,594 in one day.
  • Aymen El Amri - (2016) The 15-point DevOps Check List
  • New Relic - [Book] Site Reliability Engineering | Philosophies, Habits, and Tools for SRE Success
  • Matthew Setter - (2018) Best Practices When Versioning a Release
  • Stephen Mann - (2018) Don't Do This in Production
  • Cameron van Orman - (2014) DevOps is not a synonym for application development
  • Carla Rudder - (2018) 10 bad DevOps habits to break
  • Alison DeNisco Rayome - (2018) 10 bad habits DevOps admins must break
  • Alex Aitken - (2018) SRE role in team
  • Carla Rudder - (2018) How to be a stronger DevOps leader: 9 tips
  • Daniel Oh - (2018) 6 DevOps mistakes to avoid
  • Cornelia Davis - (2018) DevOps Who Does What
  • Adolfo Nunes - (2018) In the Loop: How a Release Team Centralizes and Aligns Processes
  • Mark Seemann - (2013) Semantic Versioning with Continuous Deployment | Versioning is a programmer decision
  • semantic-release/semantic-release - that tool automate the whole package release workflow including: determining the next version number, generating the release notes and publishing the package.
  • Sacha Labourey, Nigel Willie - (2018) DevOps Technician Training: Think Requirements, Not Solutions
  • trimstray/test-your-sysadmin-skills - A collection of *nix Sysadmin Test Questions and Answers for Interview/Exam (2018 Edition).
  • Software Engineering Stack Exchange - Why is build.number an “abuse” of semantic versioning?
  • Dustin Barnes - (2014) Java Release Process with Continuous Delivery | maven-release-plugin sucks
  • Gabe Hicks - (2017) 6 Ways to Control Cloud Costs
  • CI/CD Life - Continuous Integration / Continuous Delivery 4 Life - tips & tricks
  • Philipp Hauer - (2016) Version Numbers for Continuous Delivery with Maven and Docker
  • Beau Lyddon - (2018) Stop Wasting Your Beer Money | Why are engineers so bad at paying other engineers for their work?
  • Jeroen van Wilgenburg - (2018) Lessons learned after serving thousands of concurrent users in a devops team for a year
  • Darío Blanco - (2018) DevOps is counterintuitive | Reliability without sacrificing speed
  • IdeasForDevOps/100IdeasForDevOps - 100 Ideas to bring DevOps into an Organization
  • Eser Gozcu - (2018) DevOps and Behind the Scenes | BEST EFFORT != BEST PRACTICE | DevOps starts with a real communication. Moving towards a common goal requires social engineering
  • Gary Woodfine - (2018) You are not a DevOps Engineer | Your organisation wont be saved by a terminal wonder kid in a hoody churning awesome BASH scripts during his lunch break. | Changing your department names form Software Development and IT operations and moving them to a co-located zone with a pool & Ping Pong tables, open plan kitchen and bean bags and then calling them DevOps is not really going to make your customers any happier.
  • Antonio Cangiano - (2018) Building Better Software With Info-Ops: An Interview With Daniel B. Markham
  • AJ Ross, Adrian Hilton, Dave Rensin - (2017) SLOs, SLIs, SLAs, oh my - CRE life lessons | for DevOps professionals / SRE
  • Tim Hall - (2018) Why Automation Matters : Lost Time
  • Linux Academy - Courses: Master your Linux and cloud stack. | Azure, OpenStack, DevOps, Big Data, Containers, Security, AWS, Google Cloud Platform, Linux, ... Examples : AWS Certification Training
  • open-guides/og-aws - 📙 Amazon Web Services — a practical guide
  • Jerry Hargrove - AWS | Cloud Diagrams & Notes
  • Hacker News - Ask HN: What best practices for in-house Docker Registry? | examples of using labels and tags when building the docker images
  • Ted Dziuba - (2011) Devops Is a Poorly Executed Scam

You need to change the culture the hard way, or replace people as necessary until the culture works.

When adopting continuous delivery, problems related to system design are common, critical and little studied. The found problems, causes and solutions can be used to solve problems when adopting continuous delivery in practice.

  • Redbubble - DevOps stickers
  • Smooth Sailing with Kubernetes - An online comic to learn about Kubernetes and how you can use it for continuous integration and delivery.
  • topics/awesome-ci - GitHub repositories matching awesome-ci topic
  • Gruntwork - A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more
  • bregman-arie/devops-exercises - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization
  • Thomas Nyambati - (2017) How to Avoid Handover Nightmares | I totally adhere to those principles in my daily work... they are well known but still deserve a reminder :-) ...
  • Keep things simple.
  • Document everything.
  • Adopt workflow and best practices.
  • Employ separation of concerns.
  • Avoid using personal accounts or credentials.
  • Automate as much as you can.
  • Write good code.
  • The math of frequent rollouts.
  • Some things, like laundry, are cheaper when you do them all at once.
  • But if those things interact, like software changes, then the cost of each may rise non-linearly.
  • Be careful what you batch!
  • Its like DevOps and CI/CD: more frequent deploys are safer.
  • Christian Melendez - (2019) What Is CICD? Whats Important and How to Get It Right | a good reminder (one again) of the most important principles
  • Fred Hébert - (2020) Complexity Has to Live Somewhere

When dealing with build tools, a few things become apparent:

  • if you make the build tool simple, it won't handle all the weird edge cases that exist out there
  • if you want to handle the weird edge cases, you need to deviate from whatever norm you wanted to establish
  • if you want ease of use for common defaults, the rules for common defaults must be shared between the tool and the users, who shape their systems to fit the tool's expectations
  • if you allow configuration or scripting, you give the users a way to specify the rules that must be shared, so the tool fits their systems
  • if you want to keep the tool simple, you have to force your users to only play within the parameters that fit this simplicity
  • if your users' use cases don't map well to your simplicity, they will build shims around your tool to attain their objectives
  • Dave Farley - (2018) Continuous Integration and Feature Branching
  • TLDR; Any form of branching is antithetical to Continuous Integration.
  • Paul Hammant - (2017) Trunk Based Development : This site attempts to collect all the related facts, rationale and techniques for Trunk-Based Development together in one place, complete with twenty-five diagrams to help explain things. All without using TBD as an acronym even once twice.
  • A Cloud Guru - (2020) [Audio] Operations: Past, Present, and Glorious Future Webinar, with Charity Majors aka mipsytipsy | This session covers the many guises of Ops work, picking the right companies, unexpected ways to apply that expertise, and how to make proactive career decisions that get you where you want to be.
  • Ian Miell - (2020) GitOps Decisions
  • upgundecha/howtheysre - A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE)
  • LinkedIn - School of SRE : LinkedIn, uses this curriculum for onboarding their entry-level talents into the SRE role. Source code linkedin/school-of-sre
  • The Downtime Project - (2021) 7 Lessons From 10 Outages
  • Kevin Riggle - (2021) How to write an internal production failure incident communication | What do you say when the system is down ?
  • DevOps Salaries - Let's make global salaries in DevOps a bit more open and transparent
  • mumble.org.uk - (2022) Infrastructure in this post-DevOps world ?
  • Patrick Debois - (2022) Shades of DevOps - Related Job titles | A quick overview of the titles/roles use to related to devops related subject matter experts.
  • I will stick with my definition of devops regardless of job title:

  • Dev(sec)Ops: everything you do to overcome the friction created by silos … All the rest is plain engineering

  • The evolution of job titles is definitely one lens through which you can observe devops influence. This post nicely visualises the current state of titles from development to operations.

Ansible

Ansible Vault

  • brianshumate/ansible-vault - Ansible role for Vault
  • Michael DeHaan - (2014) Introducing Ansible Vault : keeping encrypted data in Playbooks
  • Patrice Laurent - [FR] 🇫🇷 Ansible Vault : Automatiser le chiffrement avec Git
  • Dan Tehranian - (2015) Managing Secrets with Ansible Vault The Missing Guide (Part 1 of 2)
  • Dan Tehranian - (2015) Managing Secrets with Ansible Vault The Missing Guide (Part 2 of 2)
  • Marvin Pinto - (2016) Using git diff with Ansible Vault encrypted files
  • Michel Blanc - Transparent encryption with ansible vault revisited
  • Tristan Fisher - Working with ansible-vault : A short tutorial on how to use Vault in your Ansible workflow
  • Chris Short - Improve your DevOps security game with Ansible Vault

Argo CD

  • Hakan Kurtulus - (2021) How to install ArgoCD on Kubernetes Cluster?

AWS

See also Infrastructure

News

  • AWS News Blog
  • All Things Distributed - Werner Vogels' (Amazon' CTO) weblog on building scalable and robust distributed systems.
  • AWS.NZ - Michael Ludvig's Blog - focused on Architecting, Designing and Implementation of Amazon Web Services solutions for customers of various sized and various AWS adoption levels.

Learn

  • Don MacAskill - (2011) How SmugMug survived the Amazonpocalypse
  • Werner Vogels - (2016) 10 Lessons from 10 Years of Amazon Web Services
  • Kevin London - (2016) DevOps from Scratch, Part 2: Amazon & Terraform
  • Linux Academy - Courses: Master your Linux and cloud stack. | Azure, OpenStack, DevOps, Big Data, Containers, Security, AWS, Google Cloud Platform, Linux, ... Examples : AWS Certification Training
  • Denny Cherry - (2017) Another Cloud Outage (#awsdown this time) Another Group of Companies Show They Dont Have DR
  • open-guides/og-aws - 📙 Amazon Web Services — a practical guide
  • Chris Hill - (2018) Security in the Cloud: What I learned when AWS (almost) billed me for $29,594 in one day.
  • Ciro S. Costa - (2018) How to publish a blog using AWS
  • Jonathan Block - (2018) Scaling Jenkins | good tips for AWS, infrastructure design...
  • Jamie Maguire - (2018) AWS Top 10 Security Tips
  • Boris Serebrov - (2018) SSH Tunnels | on AWS, EC2 and SSH tunnels
  • Cody Parker - (2017) How To Force HTTPS in NGINX behind a classic AWS Load Balancer
  • HashiCorp Learn - Getting Started - AWS | In this introduction to Terraform, you will learn how to use Terraform to build infrastructure in AWS.
  • AWS - Security Resources
  • Rosemary Wang - (2019) Test-Driven Development for Infrastructure
  • Ryan Armstrong - (2017) Inline vs. discrete rules for AWS Security Groups in Terraform
  • terraform-best-practices - Terraform Best Practices for AWS users
  • Gruntwork - A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more

Tools

  • Boto Docs - Boto is the Amazon Web Services (AWS) SDK for Python. It enables Python developers to create, configure, and manage AWS services, such as EC2 and S3. Boto provides an easy to use, object-oriented API, as well as low-level access to AWS services.
  • Amazon Web Services Simple Monthly Calculator - estimate your monthly AWS bill more efficiently. Using this tool, you can add, modify and remove services from your 'bill' and it will recalculate your estimated monthly charges automatically. The calculator also shows common customer samples and their usage, such as Disaster Recovery and Backup or Web Application.
  • toniblyx/prowler - Tool for assessing AWS Security Best Practices, Auditing, Hardening and Forensics Readiness Tool. It follows guidelines of the CIS Amazon Web Services Foundations Benchmark and DOZENS of additional checks including GDPR and HIPAA (+90). Bonus : Official CIS for AWS guide
  • milo-minderbinder/AWS-PlantUML - PlantUML sprites, macros, and other includes for AWS components.
  • Amazon S3 Tools - S3cmd usage (as shown if you type s3cmd -h). To access all the options and commands listed below, you'll need s3cmd version 2.0 or newer
  • AWS Trusted Advisor - Think of Trusted Advisor as a tool to help you plan new infrastructure, optimize existing ones, or simply run scans to make sure your deployments meet the AWS security standards. Given how hard it is to do this on even a single server manually, Trusted Advisor is one of the hidden gems among lesser-known AWS offerings.
  • donnemartin/saws - A supercharged AWS command line interface (CLI).
  • Rodion Chachura - (2018) System testing: Localstack + Terraform
  • dtan4/terraforming - Terraforming allows to export existing AWS resources to Terraform style (tf, tfstate)
  • k1LoW/awspec - RSpec tests for your AWS resources.
  • localstack/localstack - 💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline
  • localstack/awscli-local - 💲 "awslocal" - Thin wrapper around the "aws" command line interface for use with LocalStack
  • toniblyx/my-arsenal-of-aws-security-tools - List of open source tools for AWS security: defensive, offensive, auditing, DFIR, etc.
  • Cloudcraft - Visualize your cloud architecture like a pro | Create smart AWS diagrams
  • antonbabenko/modules.tf-lambda - Infrastructure as code generator - from visual diagrams created with Cloudcraft.co to Terraform
  • Yevgeniy Brikman - (2018) Open sourcing Terratest: a swiss army knife for testing infrastructure code | Tools to test Terraform, Packer, Docker, AWS, and much more
  • Yevgeniy Brikman - (2019) [Slides] [Video] Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
  • AWS Favicon Update - This extension for Chrome displays a different favicon for every AWS service tab opened in the browser so your tabs make more sense
  • EC2Instances.info - Easy Amazon EC2 Instance Comparison
  • Gruntwork Docs - How to use the Gruntwork Infrastructure as Code Library
  • ec2.shop - Hacker way to compare ec2 instances price
  • AWS Pricing Calculator - lets you explore AWS services, and create an estimate for the cost of your use cases on AWS.
  • AWS Compute Optimizer - Identify optimal AWS Compute resources for your workloads
  • AWS Global Accelerator - is a service that improves the availability and performance of your applications. This tool compares Global Accelerator to the public internet. Choose a file size to see the time to download a file from application endpoints in different AWS Regions to your browser.
  • 99designs/aws-vault - A vault for securely storing and accessing AWS credentials in development environments
  • Edouard Kachelmann and Anthony Pasquariello - (2020) Enhance programmatic access for IAM users using a YubiKey for multi-factor authentication

Tips

  • AWS Docs - determine your instance's IPv4 addresses using instance metadata :
    1. Connect to your instance.
    2. Use the following command to get its private IP address: curl http://169.254.169.254/latest/meta-data/local-ipv4
    3. Use the following command to get its public IP address: curl http://169.254.169.254/latest/meta-data/public-ipv4
  • MorganGeek - My Network cheatsheet
  • MorganGeek - My AWS cheatsheet
  • Pēteris Ņikiforovs - (2017) Persisting state between AWS EC2 spot instances | Persisting state between AWS EC2 spot instances using Docker on an external volume
  • Bill Wang - (2018) Terraform best practices | Terraform Best Practices for AWS users.
  • Henna Abbas - (2021) How to Add Temporary AWS Session Tokens in Terraform
  • AWS Docs - Using temporary credentials with AWS resources

Containers

News

Learn

  • Derek E. Weeks - 21 DevOps and Docker Reference Architectures
  • Deni Bertovic - Handling Permissions with Docker Volumes
  • Docker Store - Containers from verified source
  • Denis Gladkikh - (2015) Collecting docker logs and stats with Splunk
  • Denis Gladkikh - (2015) Splunk Logging Driver for Docker
  • Yohan Liyanage - (2015) Docker Clean Up After Yourself!
  • Flux7 Labs - 10 Docker Remote API Commands for Images
  • Stack Overflow - Docker error : no space left on device
  • James Coyle - Export and Import a Docker Image Between Nodes
  • rhmjs/satellite5-docker - RHEL6 containers on a RHEL7 host registered to Satellite 5
  • Red Hat Customer Portal - Red Hat Container Catalog
  • Red Hat Customer Portal - working with containers in Red Hat Satellite
  • Pradipta Kumar Banerjee - Howto create a Docker Image for RHEL
  • Derek Chamorro - (2016) Common Dockerfile Mistakes
  • Nicolas Schoemaeker - Docker: Taming the Beast - Part II
  • Nicolas Schoemaeker - Docker: Taming the Beast - Part III: Building Images
  • Evin - (2016) Using ansible to build and orchestrate clean docker images
  • strothj/vault/ - Vault Unofficial Docker Image
  • Sreenivas Makam - (2017) Compare Docker for Windows options
  • Dan Tehranian - (2015) How Should I Get Application Configuration into my Docker Containers?
  • Neil Batlivala - Why Docker Is Not Enough. See also : tehranian/docker-atlassian-jira - Docker build for Atlassian Jira
  • Martin Rusev - (2015) Docker in production for the average DevOps
  • Nitin Agarwal - Docker Containers Filesystem Demystified
  • Nitin Agarwal - Why use Docker for Development
  • Nitin Agarwal - Understanding the Docker Internals
  • Nitin Agarwal - Lifecycle of Docker Container
  • Nitin Agarwal - Docker Usecases
  • Gianluca Borello - Container isolation gone wrong
  • Stephane Manciot - [FR] 🇫🇷 DevOps avec Ansible et Docker
  • Thomas Graf - DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
  • Brendan D. Gregg - Awesome 60s perf analysis cheatsheet : Host Perf Analysis in 60s
  • Brendan D. Gregg - [Video] Container Performance Analysis at DockerCon 2017 + Slides
  • Per-Gustaf Stenberg [PDF] Master's thesis: Container-based Continuous Delivery for Clusters, interesting for some parts
  • Scott Coulton - If its in a container its secure right ?
  • vfarcic/ms-lifecycle - an interesting project of Viktor Farcic used for demonstration in book The DevOps 2.0 Toolkit, where you can learn how to use Docker, Ansible & Vagrant to create a complete infrastructure
  • Justyna Ilczuk - (2015) Debugging - into rabbit hole with docker containers
  • Nathan Leclaire - (2015) Using Ansible with Docker Machine to Bootstrap Host Nodes
  • Red Hat Customer Portal - Differences between RHEL Server and RHEL Atomic Host
  • Red Hat Customer Portal - Using Red Hat Base Container Images (standard and minimal)
  • Thierry Carez - What makes OpenStack relevant in a container-driven world. Related Video
  • CoreOS Docs - Running CoreOS Container Linux on Vagrant
  • Sysdig - troubleshooting and visibility tool for linux, windows and mac osx with native support for containers technologies
  • aelsabbahy/dgoss-examples - dgoss examples
  • Nathan Osman - (2017) A 1 KB Docker Container
  • Julia Evans - (2016) Running containers without Docker
  • Visakh S - CoreOS & Docker An easy way to deploy secure, scalable web application infrastructure
  • Docker Docs - Docker security : running your app in production
  • Maxfield Stewart - Tutorial: Building With Jenkins Inside an Ephemeral Docker Container
  • Viktor Farcic - (2016) Docker Flow Walkthrough
  • Jérôme Petazzoni - Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
  • Lachlan Evenson - 5 minutes dabbling with Docker Distributed Application Bundles (DAB)
  • Janakiram MSV - DockerCon 2016: Dockers Plan to Dominate the Enterprise Data Center
  • Jorge Morales Pou - (2015) ...Docker and devicemapper's thinpool in RHEL 7
  • Jérôme Petazzoni - (2014) Setting up a transparent proxy for your Docker containers
  • Scott McCarty - (2016) Container Tidbits: Understanding the docker-latest Package
  • Dan Walsh - (2015) Why we don't let non-root users run Docker in CentOS, Fedora, or RHEL
  • Ian Miell - (2017) Convert a Server to a Docker Container (Update II)
  • Scott McCarty - (2016) Container Tidbits: When Should I Break My Application into Multiple Containers?
  • Eric Chiang - (2017) Containers from Scratch Bonus : Talk
  • Julian Friedman - (2016) Build Your Own Container Using Less than 100 Lines of Go
  • Container Journal - (2017) Using CI/CD Over Containerization to Drive Down Pre-Production Costs
  • Tatiana Kochedykova - (2016) 5 reasons to use Docker for productivity software installation
  • George Bolo - (2017) Building Tiny Secure Docker Containers
  • Carlos Leon - (2017) Semantic versioning and Tagging Docker images the right way
  • Erez Yaary - (2017) How to secure the container lifecycle
  • GoogleCloudPlatform/distroless - Language focused docker images, minus the operating system.
  • Tom Donohue - (2017) Deploy and use the Nexus Docker registry in OpenShift
  • Cloud Native Computing Foundation website - Sustaining and integrating open source technologies like Kubernetes and Prometheus
  • Diogo Mónica - (2017) Why you shouldn't use ENV variables for secret data
  • Scott McCarty - (2015) Architecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters
  • Laurens Van Houtven - (2015) Don't expose the Docker socket (not even to a container)
  • Jérôme Petazzoni - (2017) DevOps, Docker, and Empathy | Just because were using containers doesnt mean that we “do DevOps.”
  • Jérôme Petazzoni - (2016) Go + Docker = ♥ | tips and tricks showing how Docker can be useful when working with Go code
  • The HFT Guy - (2016) Docker in Production: A History of Failure
  • Jennifer Riggins - (2018) 6 Lessons from Bitnamis Transition to Container-Based Ops
  • can I haz non-privileged containers? - Advocacy site for the uptake of using non-privileged containers.
  • praqmatim - Atlassian high availability as code | Containerized Data Center on Kubernetes
  • David Appelbaum - (2018) Its 2018 and your Docker containers need to be secure
  • Alex Ellis - (2017) Builder pattern vs. Multi-stage builds in Docker
  • Andrew Lock - (2017) Home, home on the range: Installing Kubernetes using Rancher 2.0
  • Alex Ellis - (2017) Colorisebot and OpenFaaS
  • Finnian Anderson - (2017) Colourising Video with OpenFaaS Serverless Functions
  • Alex Ellis - (2017) What you need to know: Kubernetes and Swarm
  • Docker Community - Docker Captains
  • Coda Hale - (2016) The Happy Genius Of My Household | approach to containers and the economics underlying that approach.
  • Marc Campbell - (2016) Refactoring a Dockerfile for Image Size
  • Stephane Manciot - 🇫🇷 [FR] [Slides] (2015) DevOps avec Ansible et Docker
  • Bridget Kromhout - (2018) Containers Will Not Fix Your Broken Culture (and Other Hard Truths) | Complex socio-technical systems are hard;
  • James Turnbull - (2017) An introduction to local development with containers
  • Jérôme Petazzoni - [Slides] (2013) Docker and Go: why did we decide to write Docker in Go?
  • Venkatesan Murugan - (2018) Top 10 Benefits You Will Get by Using Docker
  • Praveen Durairaj - (2018) An Exhaustive Guide to Writing Dockerfiles for Node.js Web Apps
  • Shahidh K Muhammed - (2018) The Ultimate Guide to Writing Dockerfiles for Go Web-apps
  • Daniel Oh - (2017) 10 layers of Linux container security
  • Dieter Adant - [Video] (2018) How Collibra uses Docker to Encourage Teamwork, at Docker Belgium Meetup
  • Docker - [Videos] content from DockerCon 2017
  • Mike Ensor - (2018) Containers: The Software Development Life Cycles Last Mile
  • Philipp Hauer - (2016) Version Numbers for Continuous Delivery with Maven and Docker
  • Play with Docker Classroom - The Play with Docker classroom brings you labs and tutorials that help you get hands-on experience using Docker
  • Gruntwork - A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more
  • Yevgeniy Brikman - (2019) [Slides] [Video] Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
  • JTK - (2022) Let's talk about Docker

Best practices

  • Docker Docs - Best practices for writing Dockerfiles
  • Project Atomic - Container Best Practices
  • Nitin Agarwal - Best Practices for working with Dockerfiles
  • Tony Bradley - (2016) 5 Docker Best Practices You Should Follow
  • Docker Docs - Best practices for writing Dockerfiles
  • Carl Boettiger - (2014) Docker tricks of the trade and best practices thoughts
  • Diogo Monica - [Video] (2016) Best practices for building secure Docker images
  • Hacker News - Ask HN: What best practices for in-house Docker Registry? | examples of using labels and tags when building the docker images
  • Théo Chamley - (2018) 7 best practices for operating containers
  • Google Cloud - (2018) Best Practices for Building Containers
  • Tibor Vaas and Sebastiaan van Stijn - (2019) DCSF19 Dockerfile Best Practices
  • Sonatype - KISSSSS : good approach to ensure you're successful with containers
  • Faheetah - Docker patterns/anti-patterns : Generic Dockerfile demonstrating good practices
  • Ian Miell - (2017) A Checklist for Docker in the Enterprise (Updated)

Tips

  • Mike Simons - Mikes monster list of docker tips
  • Carl Boettiger - (2014) Docker tricks of the trade and best practices thoughts
  • Pēteris Ņikiforovs - (2017) Persisting state between AWS EC2 spot instances | Persisting state between AWS EC2 spot instances using Docker on an external volume
  • tcnksm/docker-alias - Docker aliases
  • Brian DeHamer - [Slides] (2015) Optimizing Docker Images
  • Csaba Palfi - (2014) 24 random docker tips
  • C.J. Scarlett aka Scarlz - (2016) Tricks of the Trades : Docker - Data Volumes and Data Containers
  • James Turnbull - (2014) Useful Docker Bash Functions And Aliases
  • Lucas Carlson - (2014) 15 Quick Docker Tips
  • LZone - Docker Cheat Sheet
  • Docker Forums - Command to remove all unused images
  • Jason Wilder - (2014) Squashing Docker Images
  • Alex Hanson - Lessons Learned with Docker
  • Sreenivas Makam - Docker Networking - Common Issues and Troubleshooting Techniques
  • Aymen El Amri - My Docker Cheat Sheet
  • Maxime Greau - Tips & Tricks to migrate hundred maven jenkins jobs to Pipeline as code with Docker, Goss / Dgoss
  • Ahmed Elsabbahy - Tutorial: How to test your docker image in half a second
  • wsargent/docker-cheat-sheet - Docker Cheat Sheet on GitHub
  • Aboullaite Mohammed - 15 Docker Hacks & Tips!
  • Jorge Morales Pou - (2014) ...use a Proxy for speeding up docker images creation
  • Dan Walsh - (2016) Secure Your Containers with this One Weird Trick
  • Jeff Geerling - (2017) Stopping Docker containers via fuzzy matching on the name
  • Jeff Geerling - (2017) dockrun oneshot — quick local environments for testing infrastructure
  • Jeff Geerling - (2016) How I test Ansible configuration on 7 different OSes with Docker
  • Rafael Benevides - (2016) 10 things to avoid in docker containers
  • Kim Hirokuni - (2014) Gotchas in Writing Dockerfile
  • Center for Internet Security (CIS) - CIS Benchmarks: 100+ free downloadable configuration guidelines for various technology groups to safeguard systems against todays evolving cyber threats. | Lot of useful information to harden windows/linux operating systems, secure server softwares, docker containers, etc.
  • Cliff Turner - (2018) These 10 tips will ensure your containers are compliant
  • Andrew Lock - (2018) Handy Docker commands for local development - Part 1
  • Andrew Lock - (2018) Handy Docker commands for local development - Part 2
  • Stack Overflow - Docker - Cannot remove dead container | rm: cannot remove /var/lib/docker/overlay/<hash>/merged: Device or resource busy Solution : grep /proc/*/mountinfo then find the pid of and kill it
  • Gerred Dillon - (2017) Even Smaller Docker Image Sizes
  • Sean Kane - (2018) 6 creative ways to solve problems with Linux containers and Docker
  • Jérôme Petazzoni - (2020) 🇫🇷 [FR] Chérie, j'ai rétréci Docker - part 1/3
  • Jérôme Petazzoni - (2020) 🇫🇷 [FR] Chérie, j'ai rétréci Docker - part 2/3.

Tools

GCP

Gradle

  • Viktor Farcic - (2014) Java Build Tools: Ant vs Maven vs Gradle
  • Spring Initializr - bootstrap your application now : Generate Maven / Gradle projects with Groovy / Java / Kotlin and Spring Boot
  • Jim Bird - (2017) Essential (and free) security tools for Docker
  • Jakub Skałecki - (2017) How to write excellent Dockerfiles
  • emerosa/versioning - Gradle plug-in to generate version information from the SCM branch (Git or Svn)
  • MorganGeek - My cheatsheet for Portainer

Kubernetes

News

Learn

  • Stack Overflow - Newest "kubernetes" Questions
  • Bilgin Ibryam - The Microservices Hierarchy of Needs and Where Kubernetes fits
  • OpenShift - OpenShift platform / Features matrix : How Does OpenShift Extend Kubernetes?
  • Jesse Newland - Kubernetes at GitHub
  • William Jimenez - (2017) Kubernetes: Because Everyone is Doing It
  • Cloud Native Computing Foundation website - Sustaining and integrating open source technologies like Kubernetes and Prometheus
  • Alex Ellis - (2017) Colorisebot and OpenFaaS
  • Finnian Anderson - (2017) Colourising Video with OpenFaaS Serverless Functions
  • Alex Ellis - (2017) What you need to know: Kubernetes and Swarm
  • Sachin Arote - (2017) Kubernetes Best Practices
  • Sandeep Dinesh - [Slides] (2017) Kubernetes Best Practices
  • Sandeep Dinesh - (2018) Top 5 Kubernetes Best Practices From Sandeep Dinesh (Google)
  • Ádám Sándor - (2018) Propagating configuration from Terraform to Kubernetes Apps
  • CNCF [Cloud Native Computing Foundation] - [Video] videos from KubeCon + CloudNativeCon 2018 - Copenhagen
  • freach/kubernetes-security-best-practice - Kubernetes Security - Best Practice Guide
  • Théo Chamley - (2018) 7 best practices for operating containers
  • ZooBab - Kubernetes Workshop / introduction guide
  • Daniel Lebrero - (2018) Kubernetes explained in pictures: the theme park analogy | This is an attempt to explain Kubernetes core concepts (pods, nodes, services, resources, ...) with an theme park analogy. Ilya Dmitrichenko - (2018) Kubernetes anti-patterns: Let's do GitOps, not CIOps!
  • Mark Ramm - (2019) Managing Secrets in Kubernetes
  • Anita Buehrle - (2019) Delivering Quality at Speed With GitOps
  • Andreas Grabner - (2018) Optimizing Jenkins to ensure fast build times with Dynatrace | Tips for using Jenkins on Kubernetes
  • Bartłomiej Antoniak - (2018) Think twice before using Helm | Beyond hypea critical look at Helm
  • Kubernetes Failure Stories - A compiled list of links to public failure stories related to Kubernetes | Most recent publications on top
  • dekorateio/dekorate - Java annotation processors for Kubernetes
  • ahmetb/kubectx - Switch faster between clusters and namespaces in kubectl
  • vmware-tanzu/velero - Backup and migrate Kubernetes applications and their persistent volumes
  • Kubernetes Academy - courses are composed of a series of bite-size video lessons developed by expert instructors. These courses will help you understand new Kubernetes concepts for free—no strings attached.
  • Smooth Sailing with Kubernetes - An online comic to learn about Kubernetes and how you can use it for continuous integration and delivery.
  • Ross Kukulinski - (2017) 10 Most Common Reasons Kubernetes Deployments Fail (Part 1) - (Part 2)
  • Peter Benjamin - (2018) How do you keep up with Kubernetes?
  • Tomasz Cholewa - (2019) 10 most important differences between OpenShift and Kubernetes
  • Sasha Jeltuhin - (2018) The Challenges of Monitoring Kubernetes and OpenShift
  • @memenetes - Twitter account publishing kubernetes dank memes / humor if that's something
  • Tammy Bryant Butow - (2020) Site Reliability Engineering for Kubernetes
  • Eyar Zilberman - (2021) A Deep Dive Into Kubernetes Schema Validation
  • learnk8s - Kubernetes production best practices | A curated checklist of best practices designed to help you release to production
  • Eric Khun - (2020) Kubernetes: Make your services faster by removing CPU limits. See also Kubernetes Failure Stories
  • Fayiz Musthafa - (2020) CPU limits and aggressive throttling in Kubernetes. See also Kubernetes Failure Stories
  • knrt10/kubernetes-basicLearning - Understand kubernetes step by step. A simple repo for beginners 🔥
  • Daniele Polencic - (2021) A visual guide on troubleshooting Kubernetes deployments
  • Kubernetes By Example - otherwise known as KBE. Apart from providing what they believe to be the broadest and most informative Kubernetes tutorials, news, and community interaction available, the site is designed so that you can learn by, well, example. Each lesson emphasizes an absorb by doing approach, enriching your Kubernetes operator or developer understanding by allowing you to practice skills as they are explored and explained. | KBE has been a popular Red Hat sponsored site since 2017
  • Komodor - Kubernetes Troubleshooting: The Complete Guide
  • Komodor - Learning resources for Kubernetes
  • Maik Zumstrull - (2021) No, we dont use Kubernetes
  • Nelson Elhage aka nelhage - (2022) Two reasons Kubernetes is so complex
  • Wojtek Krzywiec - (2021) Automating quality checks for Kubernetes YAMLs
  • Michael Coté - (2022) A Better Kubernetes Experience for Developers is Key in 2022
  • Ivan Velichko - (2022) Working with Kubernetes API
  • Stéphane Robert - 🇫🇷 [FR] (2022) Introduction a Helm | Helm est le gestionnaire de paquets officiel de Kubernetes, écrit en Go, qui permet de gérer le cycle de vie dune application au sein dun cluster Kubernetes
  • Stéphane Robert - 🇫🇷 [FR] (2022) Ecrire son premier Chart Helm
  • Kentaro Wakayama - (2021) 13 Best Practices for using Helm | Helm is an indispensable tool for deploying applications to Kubernetes clusters. But it is only by following best practices that youll truly reap the benefits of Helm. Here are 13 best practices to help you create, operate, and upgrade applications using Helm.
  • Stéphane Robert - 🇫🇷 [FR] (2022) Ecrire ses premiers manifests Kubernetes
  • Stéphane Robert - 🇫🇷 [FR] (2021) Progresser dans lécriture des manifests Kubernetes
  • Ivan Velichko - (2021) Exploring Kubernetes Operator Pattern
  • Piotr Perzyna - (2020) Kubernetes Operators Explained. Via (2022) A Tour of The Kubernetes Ecosystem
  • Deep Datta - 🇫🇷 [FR] (2021) 10 Tutoriels Helm pour Démarrer votre Parcours Kubernetes
  • NSA - [PDF] (2021) Kubernetes Hardening Guidance
  • [Davide Benvegnù aka CoderDave] https://dev.to/n3wt0n/avoid-problems-with-kubernetes-best-practices-enforcement-with-datree-4p2f) - (2021) AVOID Problems with Kubernetes: Best Practices Enforcement with Datree
  • Nana Janashia - (2021) How to enforce Kubernetes Best Practices with Datree
  • Antoine Veuiller - (2021) When to Use Kubernetes (And When Not to) | Should you use Kubernetes for your next project?
  • Network Policy Editor! (Tutorial) - Learn How To Create Network Policies for Kubernetes : An online editor and visualisation tool, along with a built-in tutorial, for writing Kubernetes network policies.
  • Ivan Velichko - (2022) How To Call Kubernetes API using Go - Types and Common Machinery
  • Benjamin Muschko - (2019) Writing your first kubectl plugin with Go

Tips

Tools

  • Kubernetes on Slack - Slack community about Kubernetes
  • Stackpoint.io on Slack - Slack community about NetApp Kubernetes Service, a Web-based interface for deployment of Kubernetes cluster. See also Official website
  • Fabric8 on Slack - Open source integrated development platform for Kubernetes
  • ramitsurana/awesome-kubernetes - Awesome Kubernetes resources
  • CRI-O - a lightweight alternative to using Docker as the runtime for kubernetes. Implements Kubernetes CRI (Container Runtime Interface) & enables OCI (Open Container Initiative) compatible runtimes.
  • praqmatim - Atlassian high availability as code | Containerized Data Center on Kubernetes
  • codecentric/helm-charts - This chart install Jenkins on Kubernetes | It allows Jenkins to be completely configured as code that does not require any further manual configuration in the UI. While not required, it is meant to be used with the configuration-as-code plugin and/or Groovy init scripts.
  • Andrew Lock - (2017) Home, home on the range: Installing Kubernetes using Rancher 2.0
  • vmware-tanzu/octant - A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters. **See also : ** Official website
  • derailed/k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!
  • derailed/popeye - 🧭 A Kubernetes cluster resource sanitizer helper
  • instrumenta/helm-conftest - A Helm plugin for testing Helm Charts using Open Policy Agent
  • instrumenta/kubeval - Validate your Kubernetes configuration files, supports multiple Kubernetes versions
  • instrumenta/conftest - Write tests against structured configuration data using the Open Policy Agent Rego query language. See also Official Website
  • Kaspar von Grünberg - (2020) Your Helm Zoo Will Kill You | There is a fundamental design flaw with Helm, leading to dramatic long-term consequences and you have to solve this now.
  • Harshit Mehndiratta - (2021) Top Kubernetes YAML Validation Tools
  • kubevious/kubevious - Kubevious : application centric Kubernetes UI and continuous assurance provider
  • kuberhealthy/kuberhealth - Kuberhealthy is an operator for running synthetic checks as pods. Works great with Prometheus!
  • Amit Saha - (2020) Validating Kubernetes YAML for best practice and policies
  • devopsspiral/KubeLibrary - Kubernetes library for Robot Framework | RobotFramework library for testing Kubernetes cluster
  • Raul Sevilla Canavate - (2021) Introducing kube-burner, A tool to Burn Down Kubernetes and OpenShift
  • Dinuka Arseculeratne - (2020) Integrating Kubernetes YAML validation to our CI/CD pipeline at Track.Health
  • HighwayofLife/kubernetes-validation-tools - All-in-one collection of tools to run linting, validation, static code analysis, security scanning, tests, auditing, kustomize build, and dry run configuration for Kubernetes Manifests.
  • The Chief I/O - (2020) Kubernetes YAML: Enforcing best practices and security policies in CI/CD and GitOps pipelines
  • doc.crds.dev - Automatic documentation for CustomResourceDefinitions
  • Jonathan Cross and Carlos Robles - (2021) Conductor: Why We Migrated from Kubernetes to Nomad
  • Kubernetes instance calculator - Explore the best instance types for your Kubernetes cluster interactively.
  • Vasily Marmer - (2021) Open Source solutions for chaos engineering in Kubernetes
  • Datree - Prevent Kubernetes misconfigurations from reaching production (again 😤 )! Datree is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organizations policies. **See also : ** docs and source code, official website
  • Javier Ramos - (2021) Kubernetes Essential Tools: 2021
  • Rajesh Kumar - (2020) List of Popular Tools and Applications in Kubernetes ecosystem
  • Kubewarden - a new tool for managing K8S policies, programmatically. **See also : ** Example with mutation policy
  • Antoine Veuiller - (2022) A Tour of The Kubernetes Ecosystem | some tools broadly used by the community, and showcase a fully automated integration of Kubernetes.
  • ArtifactHUB - Find, install and publish Kubernetes packages

Microservices

  • Bilgin Ibryam - The Microservices Hierarchy of Needs and Where Kubernetes fits
  • Martin Fowler - MonolithFirst
  • mfornos/awesome-microservices - curated list of Microservice Architecture related principles and technologies.
  • Milen Dyankov - [Video] Microservices and Modularity or the difference between treatment and cure!
  • Richard Clayton - (2014) Failing at Microservices. | Please avoid our mistakes!
  • Martin Nally - (2016) The 12 Goals of Microservices
  • Brian Kelly - Building Resilient Microservices from the Fallacies of Distributed Computing
  • Brian Kelly - Creating a Microservice? Answer these 10 Questions First
  • Sumit Maingi - (2016) Building Microservices? Here is what you should know
  • Ben Stopford - (2016) The Data Dichotomy: Rethinking the Way We Treat Data and Services
  • IcaliaLabs/guides - Monolithic vs Micro Repos
  • Matt Butcher - (2015) Why We Should Not Return to Monolithic Repositories
  • Avi Cavale - (2016) Our journey to microservices: mono repo vs multiple repositories
  • Manisha Sahasrabudhe - (2017) 7 things to consider while moving to a microservices architecture
  • Hacker News - (2018) Ask HN: How do you keep track of releases/deployments of dozens micro-services?
  • Zhamak Dehghani - (2018) How to break a Monolith into Microservices | What to decouple and when
  • Shalitha Suranga - (2022) Building microservices in Go with Gin

OpenShift

SecOps

  • Pete Cheslock - How to Create a Security-Minded DevOps Organization: Three Best Practices
  • Chris Hill - (2018) Security in the Cloud: What I learned when AWS (almost) billed me for $29,594 in one day.
  • Jaikumar Vijayan - How to securely scale ChatOps in the enterprise

Site Reliability Engineering

News

  • SRE Weekly - is a newsletter devoted to everything related to keeping a site or service available as consistently as possible. | SRE (Site/Service Reliability Engineering) isnt just about automated failover or fault-tolerant architectures — although of course those are important. Its about a holistic view of reliability that takes into account everything from servers to human factors to processes to automation and more.
  • Break Things on Purpose - A podcast about the practice of Chaos Engineering.
  • The Downtime Project - A podcast about why things break on the Internet.

Learn

  • Josh @ Overseer - The DevOps tool arsenal: Results from ~100 DevOps/SRE surveys
  • Josh @ Overseer - Clouds, containers & microservices: infra and architecture from ~100 DevOps/SRE surveys
  • Josh @ Overseer - Fears and favorites from 100+ DevOps/SRE surveys
  • Asaf Yigal - (2017) SRE vs. DevOps — a False Distinction?
  • Google - [Book] Site Reliability Engineering | free book about how SRE at Google build, deploy, monitor, and maintain some of the largest software systems in the world.
  • Matt Watson - (2017) What is Web Operations? How Does it Relate to DevOps and SRE?
  • Pavan Belagatti - (2017) DevOps Resources: 5 Books Every DevOps Enthusiast Must Read! | + the SRE book
  • Aymen El Amri - (2018) 50 Best DevOps & SRE Blog Posts & Tutorials Of 2017
  • New Relic - [Book] Site Reliability Engineering | Philosophies, Habits, and Tools for SRE Success
  • Alex Aitken - (2018) SRE role in team
  • AJ Ross, Adrian Hilton, Dave Rensin - (2017) SLOs, SLIs, SLAs, oh my - CRE life lessons | for DevOps professionals / SRE
  • Krishelle Hardson-Hurley - (2017) So you want to be an SRE?
  • bregman-arie/devops-exercises - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization
  • upgundecha/howtheysre - A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE)
  • LinkedIn - School of SRE : LinkedIn, uses this curriculum for onboarding their entry-level talents into the SRE role. Source code linkedin/school-of-sre
  • Matt Watson - (2017) What Is Site Reliability Engineering and Why You Should Embrace It
  • Katie Ballinger - (2017) Onboarding New Site Reliability Engineers
  • Michael Cote - (2018) The many-faced god of operational excellence, DevOps and now 'site reliability engineering'
  • OpsStack - [Slides] (2017) Monitoring the SRE Golden Signals | Actually Getting the Metrics from Common Services
  • Kubernetes Failure Stories - A compiled list of links to public failure stories related to Kubernetes | Most recent publications on top
  • The Downtime Project - (2021) 7 Lessons From 10 Outages
  • Tammy Bryant Butow - (2020) Site Reliability Engineering for Kubernetes
  • Vasily Marmer - (2021) Open Source solutions for chaos engineering in Kubernetes

Tools

Terraform

See also Infrastructure

News

Learn

  • HashiCorp - Resource Library | Learn how to provision, secure , connect , and run any infrastructure for any application
  • Kevin London - (2016) DevOps from Scratch, Part 2: Amazon & Terraform
  • Yevgeniy Brikman - (2016) Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation
  • Ádám Sándor - (2018) Propagating configuration from Terraform to Kubernetes Apps
  • Terraform Best Practices - [Book] free book with most of best-practices and recommendations for Terraform users. Bonus Source code examples
  • Anton Babenko - [Videos] (2019) Codifying infrastructure with Terraform for the future | be aware of principles related to management of Terraform resources, Terraform modules best-practices and some CI/CD principles applicable to infrastructure management and deployments.
  • HashiCorp Learn - Getting Started - AWS | In this introduction to Terraform, you will learn how to use Terraform to build infrastructure in AWS.
  • Regis Wilson - (2019) The Terrors and Joys of Terraform
  • Rodion Chachura - (2018) System testing: Localstack + Terraform
  • gruntwork-io/terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules. See also : [https://www.gruntwork.io](Gruntwork website)
  • Yevgeniy Brikman - (2019) Terragrunt: how to keep your Terraform code DRY and maintainable | Terragrunt is helpful at solving problems such as :
  • the lack of locking for Terraform state
  • the lack of a way to configure your Terraform state as code.
  • how to keep your Terraform code DRY and maintainable...
  • dtan4/terraforming - Terraforming allows to export existing AWS resources to Terraform style (tf, tfstate)
  • Carlos Nunez - (2017) Top 3 Terraform Testing Strategies for Ultra-Reliable Infrastructure-as-Code
  • Rosemary Wang - (2019) Test-Driven Development for Infrastructure
  • mbranniga - (2016) Terraform Style Guide
  • Anton Babenko - [Slides] (2018) Terraform modules and best-practices
  • Ryan Armstrong - (2017) Inline vs. discrete rules for AWS Security Groups in Terraform
  • Nic Jackson - (2018) HashiCorp Terraform: Modules as Building Blocks for Infrastructure
  • Chris Pisano - (2018) Deploying Multiple Environments with Terraform
  • LeapBeyond/terraform-tutorials - terraform-tutorials wiki!
  • Yevgeniy Brikman - (2016) Terraform tips & tricks: loops, if-statements, and gotchas
  • terraform-best-practices - Terraform Best Practices for AWS users
  • Dave Kerr - (2019) Dynamic and Configurable Availability Zones in Terraform
  • Terratest - is a Go library that provides patterns and helper functions for testing infrastructure, with 1st-class support for Terraform, Packer, Docker, Kubernetes, AWS, GCP, and more | Automated tests for your infrastructure code.
  • Terragrunt - Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state. | DRY and maintainable Terraform code.
  • antonbabenko/terragrunt-reference-architecture - Terragrunt Reference Architecture - This repository contains rather complete infrastructure configurations where Terragrunt is used to manage infrastructure for Acme Corporation.
  • Anton Babenko - (2018) Make Terraform faster — skip unnecessary checks (AWS and S3)
  • Anton Babenko - [Slides] (2019) Terraform modules and some of best-practices | Slides of his talk at DevOps Singapore meetup in March 2019
  • shuaibiyy/awesome-terraform - A curated list of resources on HashiCorp's Terraform
  • eerkunt/terraform-compliance - a lightweight, security focused, BDD test framework against terraform
  • bridgecrewio/checkov - Prevent cloud misconfigurations during build time - Terraform static analysis
  • liamg/tfsec - 🔒🌍 Static analysis powered security scanner for your terraform code
  • antonbabenko/modules.tf-lambda - Infrastructure as code generator - from visual diagrams created with Cloudcraft.co to Terraform
  • Gruntwork - A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more
  • Yevgeniy Brikman - (2018) Open sourcing Terratest: a swiss army knife for testing infrastructure code | Tools to test Terraform, Packer, Docker, AWS, and much more
  • shuaibiyy/awesome-terraform - Curated list of resources on HashiCorp's Terraform
  • Charity Majors aka mipsytipsy - (2016) Terraform, VPC, and why you want a tfstate file per env
  • Yevgeniy Brikman - (2017) Reusable, composable, battle-tested Terraform modules
  • Yevgeniy Brikman - (2019) [Slides] [Video] Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
  • camptocamp/terraboard - 🌍 📋 A web dashboard to inspect Terraform States
  • Bill Wang - (2018) Terraform best practices | Terraform Best Practices for AWS users.
  • antonbabenko/pre-commit-terraform - pre-commit git hooks to take care of Terraform configurations
  • Yevgeniy Brikman - (2018) 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code
  • Gruntwork Docs - How to use the Gruntwork Infrastructure as Code Library
  • antonbabenko - (2020) Make your terragrunt output useful
  • Michael Crilly - (2020) Understanding (Terraform) State
  • Gruntwork Docs - How to configure a production-grade AWS account structure using Gruntwork AWS Landing Zone | Guide for configuring a production-grade AWS account structure, including how to manage multiple environments, users, permissions, and audit logging. Well also discuss how to implement a Landing Zone solution that lets you quickly spin up new AWS accounts that all implement a security baseline that enforces your companys policies.
  • gruntwork-io/terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code. See also Official Website
  • Emre Erkunt - (2020) terraform, mono-repo and compliance as code
  • elmundio87/terraform_validate - Terraform Validate is a python package that allows users to define Policy as Code for Terraform configurations | Assists in the enforcement of user-defined standards in Terraform
  • uber/astro - Astro is a tool for managing multiple Terraform executions as a single command

Features:

  • Declarative configuration for modules to execute
  • Dependencies between modules
  • Fast, concurrent executions of Terraform operations
  • Safe Terraform upgrades and state file migrations
  • cesar-rodriguez/terrascan - Collection of security and best practice test for static code analysis of terraform templates
  • Rosemary Wang - (2019) [Slides] Test-Driven Development (TDD) for Infrastructure
  • instrumenta/conftest - Write tests against structured configuration data using the Open Policy Agent Rego query language. See also Official Website
  • mattray/inspec-iggy - InSpec CLI plugin for generating compliance controls from Terraform and CloudFormation
  • terraform-linters/tflint - TFLint is a Terraform linter focused on possible errors, best practices, etc. (Terraform >= 0.12)
  • chanzuckerberg/fogg - Fogg is an opinionated tool for managing infrastructure-as-code repositories using Terraform | fogg was built to automate infrastructure management best practices and scale to a larger pool of engineers who don't have to be terraform experts to use it safely.

A few of the things fogg standardizes

  • repository layout
  • remote state (locking coming soon)
  • resource naming
  • resource isolation
  • 28mm/blast-radius - Interactive visualizations of Terraform dependency graphs using d3.js
  • Andrey Devyatkin - (2020) [Sildes] HashiCorp Vault configuration as code via HashiCorp Terraform: Stories from Trenches (HashiConf Digital 2020)
  • Fernanda Martins - (2020) [Slides] The hitchhiker's guide to terraform your infrastructure
  • Anton Babenko - (2019) [Video] Terraform best practices with examples and arguments
  • CloudSkiff - (2019) Terraform Code Quality | Key Steps to a good quality for your Infrastructure Code.
  • Sam Savage - (2020) Terraform is not Infrastructure As Code and it kills DevOps

"why anyone would want to throw away 50 years of developments in computer science and language theory"

  • Tiexin Guo - (2021) On DevOps — 9. Infrastructure as Code — Clean Code, Terraform Introduction, and Best Practices
  • CloudSkiff - (2020) Terraform Code Quality | Key Steps to a good quality for your Infrastructure Code. Related : Original talk from Cloud Native London, 3 June 2020
  • George Richardson - (2022) How Infrastructure as Code Should Feel
  • Nitin Aggarwal - (2021) My pet peeves with Terraform
  • Rosemary Wang - (2021) Testing HashiCorp Terraform : Learn testing strategies for HashiCorp Terraform modules and configuration, and learn how to run tests against infrastructure.
  • craftvscruft/tfrefactor - Automated refactoring for Terraform
  • Pier - (2021) From Terralith to Terraservice with Terraform
  • Stéphane Robert - 🇫🇷 [FR] (2021) Regula loutil dAnalyse Statique pour lInfra As Code
  • Adarsh Shah - (2020) Principles, Patterns, and Practices for Effective Infrastructure as Code | Deliver Infrastructure and Software running on it Rapidly and Reliably at Scale

Tips

Vault (by HashiCorp)

  • HashiCorp - HashiCorp Blog
  • strothj/vault/ - Vault Unofficial Docker Image
  • Vault Docs - Deploy Vault
  • Aun Raza - How to Securely Store Passwords and Api Keys Using Vault
  • Katacoda - Interactive Course : Docker in Production - Store Secrets using HashiCorp Vault
  • Vyacheslav Voronenko - Using Vault to Secure Your Deployment Secrets
  • brianshumate/ansible-vault - ansible-vault : Ansible role for HashiCorp Vault
  • HashiCorp - Vault 0.6 Release announcement
  • Sreenivas Makam - (2016) Vault Use cases
  • Peter A. Tierno - HashiCorp Vault Plugin for Jenkins
  • Seth Vargo - Codifying Vault Policies and Configuration
  • Martin Rusev - (2016) Managing all your secrets with Vault - Review and Walkthrough
  • Raffaele Spazzoli - Managing Secrets on OpenShift Vault Integration
  • Armon Dadgar - (2018) Why We Need Dynamic Secrets | how applications do a terrible job keeping secrets, and why we need to embrace ephemeral credentials, or "Dynamic Secrets" in Vault.
  • Armon Dadgar - [Podcast] (2017) SE-Radio Episode 311: Armon Dadgar on Secrets Management
  • Andrey Devyatkin - (2020) [Sildes] HashiCorp Vault configuration as code via HashiCorp Terraform: Stories from Trenches (HashiConf Digital 2020)