Technology Terms

Containers

These are terms associated (not strictly) with containers.

  • Immutable: Immutable means that a container won’t be modified during its life: no updates, no patches, no configuration changes. If there is a change container will be recreated.

  • Ephemeral: Temporary i.e. The container can be stopped and destroyed, then rebuilt and replaced with an absolute minimum set up and configuration very quickly.

  • Separation of Concerns: Container shouldn’t contain unique data mixed in with application binaries.

  • Persistence: Data present on writable-layer(container) gets wiped out when that container no longer exists.

  • Stateless: A container or application that does not store state within itself. It relies on external services.

  • Service Discovery: The process of automatically detecting and registering services within a network or infrastructure.

  • Rolling Updates: A deployment strategy where new versions of containers or applications are gradually rolled out by replacing old instances with new ones avoiding downtime.

Infrastructure as Code

These terms are connected with IaC.

  • Idempotent: Idempotent operation has no additional effect if it is called more than once with the same input parameters

  • Declarative: Configuration explicitly specified in the code, uses scripting language like JSON, YAML, K8s files etc.

  • Imperative: Configuration is implicit, you say what you want & rest is filled in. Used with CLI commands in K8s, programming languages like Python, Ruby, JavaScript.

  • Orchestration: Orchestration is coordinating with multiple systems & services. Orchestrations is a common term when working with microservices, containers & Kubernetes

  • Configuration Drift: When provisioned infrastructure has unexpected configuration changes.

  • Mutable Infrastructure: Mutable infrastructure can be updated, configured as per the requirement.

  • Immutable Infrastructure: Immutable infrastructure is something that can never be modified once it is deployed.

  • Cloud Agnostic: Cloud agnostic is a process where the company builds systems that aren’t dependent on a specific provider

  • Execution Plan: A manual review of what will add, change or destroy before you apply changes. Eg: terraform apply

  • GitOps: Git repositories are used as source of truth for infrastructure provisioning & configuration.

Infrastructure

  • Bastion Host: Typically a hardened server that is used to access private networks.

  • Bare Metal: When the software/OS is running on the hardware itself rather than some virtualized layer.

  • Chaos Engineering: Causing intentional failures in a controlled environment to test system resilience.

  • Canary release: Gradual roll out of a new version of software to a small subset of users.

SRE

  • Cardinality: Number of unique attributes of a metric. Eg: In the response time of a web request, the cardinality could be the number of unique combinations of request types, user IDs, and geographic locations.

  • RTO: Recovery Time Objective. Maximum acceptable time for restoring business operations after a disruption.

  • RPO: Recovery Point Objective. Maximum acceptable data loss in a disaster.

  • Error Budget: The acceptable amount of downtime or performance gap in a service.

Misc

  • OKR: Objectives and key results.