Infrastructure as code (IaC)

Infrastructure as code (IaC)

Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model, using the same versioning as DevOps team uses for source code. Like the principle that the same source code generates the same binary, an IaC model generates the same environment every time it is applied. IaC is a key DevOps practice and is used in conjunction with continuous delivery.

Infrastructure as Code evolved to solve the problem of environment drift in the release pipeline. Without IaC, teams must maintain the settings of individual deployment environments. Over time, each environment becomes a snowflake, that is, a unique configuration that cannot be reproduced automatically. Inconsistency among environments leads to issues during deployments. With snowflakes, administration and maintenance of infrastructure involves manual processes which were hard to track and contributed to errors.

Idempotence is a principle of Infrastructure as Code. Idempotence is the property that a deployment command always sets the target environment into the same configuration, regardless of the environment’s starting state. Idempotency is achieved by either automatically configuring an existing target or by discarding the existing target and recreating a fresh environment.

Accordingly, with IaC, teams make changes to the environment description and version the configuration model, which is typically in well-documented code formats such as JSON. The release pipeline executes the model to configure target environments. If the team needs to make changes, they edit the source, not the target.

Infrastructure as Code enables DevOps teams to test applications in production-like environments early in the development cycle. These teams expect to provision multiple test environments reliably and on-demand. Infrastructure represented as code can also be validated and tested to prevent common deployment issues. At the same time, the cloud dynamically provisions and tears down environments based on IaC definitions.

Teams who implement IaC can deliver stable environments rapidly and at scale. Teams avoid manual configuration of environments and enforce consistency by representing the desired state of their environments via code. Infrastructure deployments with IaC are repeatable and prevent runtime issues caused by configuration drift or missing dependencies. DevOps teams can work together with a unified set of practices and tools to deliver applications and their supporting infrastructure rapidly, reliably, and at scale.


要查看或添加评论,请登录

Sathishkumar Nagarajan的更多文章

  • Bridging the Gap: How Generative AI and LLMs Are Revolutionizing Our Relationship with Animals

    Bridging the Gap: How Generative AI and LLMs Are Revolutionizing Our Relationship with Animals

    The animal kingdom, with its incredible diversity and intricate communication systems, has always captivated human…

  • Why Even Consider An Al

    Why Even Consider An Al

    Chatbot Let's start by talking about what are the components of a successful, converting, revenue-generating eCommerce…

  • Cluster Management Tools to Compare

    Cluster Management Tools to Compare

    Overview of Cluster Management Tools Clearly, containers are an exciting new advancement in creating and delivering…

  • JAVA in Sockets

    JAVA in Sockets

    The java.net.

  • Applications of Java with Real-world Examples

    Applications of Java with Real-world Examples

    1. Desktop GUI Applications Desktop applications can be easily developed using Java.

  • Business Startup Strategy

    Business Startup Strategy

    I strongly suggest that would-be entrepreneurs do a business plan. As a result of completing the plan you will be much…

  • Design Patterns

    Design Patterns

    Design Patterns In software engineering, a design pattern is a general repeatable solution to a commonly occurring…

  • NLP Text Similarity on python

    NLP Text Similarity on python

    import sys # Define the documents doc_trump = "How do I make a Directory entry?" doc_election = "I make a Directory…

  • Building a Conversational Interface in 10 Steps

    Building a Conversational Interface in 10 Steps

    Great conversational applications require both advanced technology and solid design judgement. The most widely used…

  • Chatot Product Ideas

    Chatot Product Ideas

    Interview process management bot. It helps you to organize and manage interviews of a candidate.

社区洞察

其他会员也浏览了