-
Notifications
You must be signed in to change notification settings - Fork 427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Infrastructure as code #2
Comments
Hi Göran, Thanks for your suggestion. Among Ansible, Puppet, Chef and Salt, what's the one with the best documentation, in particular getting started and tutorials pages to your opinion? |
Terminology: infrastructure as code (IaC) #22 |
Reading material:
|
We've done this with Ansible and Salt in a couple of big projects, only to end up with huge amounts of stuff just to get the actual stuff working. TerraformThe move to Terraform and Hashicorp Configuration Language (HCL) made life a lot easier https://www.terraform.io/. |
We're running Salt extensively on thousands of nodes. It's working great for us and gives us great power in controlling our "standard" environments |
I have seen this implemented with puppet, both badly and very well, in different organisations. |
How good is your puppet? an empirically defined and validated quality model for puppet |
Molecule is a tool for testing ansible scripts |
Using Testinfra with Ansible to verify server state |
Python library to create AWS CloudFormation descriptions |
Pulumi - Infrastructure as Code |
The 'as Code' Activities: Development Anti-patterns for Infrastructure as Code |
Automating web applications proxying, DNS registration and TLS termination with ansible |
kustomize lets you customize raw, template-free YAML files for multiple purposes |
Free version of Morris' book on infrastructure as code: https://us-east-1.linodeobjects.com/marketing-assets/Infrastructure_as_Code_2E-ER_Linode.pdf |
See accepted papers at CONFLANG, workshop on the design, the theory, the practice and the future evolution of configuration languages. https://2021.splashcon.org/home/conflang-2021#event-overview |
Luke Hoban on Infrastructure as Code IEEE Software |
CUE: Configure Unify Execute "Validate, define, and use dynamic and text-based data" |
Dhall is a programmable configuration language that you can think of as: JSON + functions + types + imports |
Tool for vulnerability scanning of Infrastructure as Code https://www.checkov.io/ |
This is relevant to Dhall. |
Earthly is a CI/CD framework that allows you to develop pipelines locally and run them anywhere. Earthly leverages containers for the execution of pipelines. This makes them self-contained, repeatable, portable and parallel. |
HashiCorp Packer |
GitOps: The Evolution of DevOps? (IEEE Software) |
Material for the Ansible Up & Running book: https://github.com/ansiblebook |
Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code. |
Mars is an infrastructure-as-code tool for Ethereum |
CircleCI orbs: package management ecosystem for CircleCI configuration |
Vulnerability Scanner for Containers and other Artifacts with trivy |
Mining for Cost Awareness in the Infrastructure as Code Artifacts of Cloud-based Applications: an Exploratory Study. |
Testing idempotence for infrastructure as code |
werf: CD and gitops for Kubernetes tutorial by https://killercoda.com/jarns-zeiher/scenario/Simple-End-to-End-GitOps-with-Werf |
OpenTofu lets you declaratively manage your cloud infrastructure. |
Infrastructure-as-Code Ecosystems |
Heavily used in the tensorflow repo |
|
Crossplane is a framework for building cloud native control planes without needing to write code. |
qq, a query language that supports the main formats for config files |
Bicep is a declarative language for describing and deploying Azure resources |
Otterdog is a tool to manage GitHub organizations at scale using an infrastructure as code approach. |
References:
I don't think it is possible to have a "dev ops" environment without some kind of Configuration Management Tool.
They make it possible to configure an environment through scripts.
The big advantage of a tool like this is that new virtual machine or container instances can be easily created or updated.
The most common solutions here I think are Ansible, Puppet, Chef and Salt.
It is probably best to pick one tool and have practical scripting exercises how to an enviroment can be configured programmatically.
The text was updated successfully, but these errors were encountered: