git

Immutable infrastructure

Immutable infrastructure is an approach to managing services and software deployments on IT resources wherein components are replaced rather than changed. An application or service is effectively redeployed each time any change occurs.

Pros of immutable infrastructure


  1. There are no server updates which can be problematic at times. That means lower IT complexity and failures.

  2. Reduces support calls: it resolves the issues by deleting the instance that causes the problem.

  3. Improves security and incident resolution: incident becomes an exception. The exception problem is solved by machine learning (Weka)from manual rules to automatic.

  4. Cost savings by encouraging reduced hardware usage.

  5. Configuration management can run faster than manual system.

  6. Less dependency on third party resources at deployment.

  7. Requires a learning curve due to new tools.

Examples of Immutable Infrastructure Tools

Below are some examples of using the tools and services for accomplishing immutable infrastructure. However, the list only includes a few. There are many more.


Immutable infrastructure is a DevOps key-tool

DevOps adopt this infrastructure concept as it makes creating new servers affordable and accessible. If there is a requirement for improvements or updates, you have to replace the entire server and not change a part of it.

Immutable infrastructure is very much in tune with the idea of infrastructure as a code. You can do all the planning of components like networking, instances, and security with infrastructure as a code. Once done, you can push it into your dev ecosystem. It becomes easy to test and prod as you promote them in the dev environment and consistently repeat these steps.

DevOps tools and culture are to work together to achieve supply development with continuous delivery. And you know continuous delivery drives immutable infrastructure.

What is Git and what is not git

what? git is a version control system (The git official repo)

for what? git is used for source code management (git tuto)

how? commits are snapshots, not diffs! (The Git Object Model) and (Git Internals - Git Objects)

where? git is a key-value store (Key Value Store Concept)

Key-ideas

  • Git stores unique content and no duplicates

  • Each key-value pair entry contains a unique hash as a key: SHA-ID.

  • There are only three types of values:

    1. blobs for files

    2. tree for directories

    3. commit for commit messages

      1. commit message

      2. author, including a timestamp

      3. committer, including a timestamp

      4. reference to parent commit

git cheatsheet