Skip to content

Infrastructure as code #2

Open
Open

Description

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.

Activity

  1. monperrus commented on May 4, 2018

    @monperrus
    Member

    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?

  2. changed the title [-]Configuration Management Tools[/-] [+]Configuration Management Tools (eg ansible)[/+] on Aug 20, 2018
  3. monperrus commented on Aug 27, 2018

    @monperrus
    Member

    Terminology: infrastructure as code (IaC) #22

  4. monperrus commented on Aug 27, 2018

    @monperrus
    Member

    Reading material:
    GitOps: A Path to More Self-Service IT
    https://cacm.acm.org/magazines/2018/9/230599-gitops/fulltext

    "Use Cases for GitOps. DNS is an obvious place to start, as are VM creation, container maintenance and orchestration, firewall rules, website updates, blog posts, email aliases and mailing lists, and just about any virtual infrastructure or one with a configuration file or API."

  5. MatsJonsson commented on Oct 11, 2018

    @MatsJonsson

    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.

    Terraform

    The move to Terraform and Hashicorp Configuration Language (HCL) made life a lot easier https://www.terraform.io/.

  6. bittermandel commented on Oct 18, 2018

    @bittermandel

    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

    https://saltproject.io/

  7. alanmcg commented on Nov 6, 2018

    @alanmcg

    I have seen this implemented with puppet, both badly and very well, in different organisations.

  8. monperrus commented on May 15, 2019

    @monperrus
    Member

    How good is your puppet? an empirically defined and validated quality model for puppet
    https://pure.tudelft.nl/portal/files/37386939/how_good_is_your_puppet.pdf

  9. bbaudry commented on May 20, 2019

    @bbaudry
    Collaborator

    Molecule is a tool for testing ansible scripts
    https://molecule.readthedocs.io/en/stable/#

  10. monperrus commented on May 23, 2019

    @monperrus
    Member
  11. monperrus commented on Oct 31, 2019

    @monperrus
    Member

    Python library to create AWS CloudFormation descriptions
    https://github.com/cloudtools/troposphere

  12. monperrus commented on Oct 31, 2019

    @monperrus
    Member

    Pulumi - Infrastructure as Code
    https://www.pulumi.com/

  13. changed the title [-]Configuration Management Tools (eg ansible)[/-] [+]Configuration Management Tools / Infrastructure as code[/+] on Nov 4, 2019
  14. bbaudry commented on Jun 2, 2020

    @bbaudry
    Collaborator

    The 'as Code' Activities: Development Anti-patterns for Infrastructure as Code
    http://arxiv.org/abs/2006.00177

  15. 22 remaining items

  16. monperrus commented on Apr 2, 2023

    @monperrus
    Member

    Mars is an infrastructure-as-code tool for Ethereum
    https://github.com/TrueFiEng/Mars

  17. monperrus commented on Apr 3, 2023

    @monperrus
    Member

    CircleCI orbs: package management ecosystem for CircleCI configuration
    https://circleci.com/docs/orb-intro/

  18. bbaudry commented on Apr 17, 2023

    @bbaudry
    Collaborator

    Vulnerability Scanner for Containers and other Artifacts with trivy

  19. bbaudry commented on Apr 19, 2023

    @bbaudry
    Collaborator

    Mining for Cost Awareness in the Infrastructure as Code Artifacts of Cloud-based Applications: an Exploratory Study.
    http://arxiv.org/abs/2304.07531

  20. monperrus commented on Apr 28, 2023

    @monperrus
    Member

    Testing idempotence for infrastructure as code
    https://dsg.tuwien.ac.at/team/hummer/docs/2013-middleware-iac.pdf

  21. monperrus commented on Apr 28, 2023

    @monperrus
    Member
  22. monperrus commented on Sep 22, 2023

    @monperrus
    Member

    OpenTofu lets you declaratively manage your cloud infrastructure.
    https://github.com/opentofu/opentofu

  23. monperrus commented on Oct 10, 2023

    @monperrus
    Member
  24. monperrus commented on Nov 19, 2023

    @monperrus
    Member

    Starlark (formerly known as Skylark) is a language intended for use as a configuration language. It was designed for the Bazel build system, but may be useful for other projects as well.
    https://github.com/bazelbuild/starlark

    Heavily used in the tensorflow repo

  25. monperrus commented on Nov 30, 2023

    @monperrus
    Member

    Rego is a general-purpose policy language, which means that it works for any layer of the stack and any domain. The primary purpose of Rego is to accept JSON/YAML inputs and data that are evaluated to make policy-enabled decisions about infrastructure resources, identities, and operations.

    https://docs.aws.amazon.com/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/rego.html

  26. monperrus commented on Jan 19, 2024

    @monperrus
    Member

    Crossplane is a framework for building cloud native control planes without needing to write code.
    https://www.crossplane.io/

  27. bbaudry commented on Jul 2, 2024

    @bbaudry
    Collaborator

    qq, a query language that supports the main formats for config files
    https://github.com/JFryy/qq

  28. monperrus commented on Aug 21, 2024

    @monperrus
    Member

    Bicep is a declarative language for describing and deploying Azure resources
    https://github.com/Azure/bicep

  29. monperrus commented on Nov 22, 2024

    @monperrus
    Member

    Otterdog is a tool to manage GitHub organizations at scale using an infrastructure as code approach.
    https://otterdog.readthedocs.io/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    topicDevOps relevant topics

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions