Skip to main content

Book 05

DevOps & Cloud

Tools and practices for building, testing, packaging and shipping software to production.

Contents

  1. 01Ansible1Ansible is an open-source automation tool that configures servers and deploys applications by running YAML playbooks over SSH, with no agent on the machines.
  2. 02Autoscaling2Autoscaling is the automatic adding or removing of computing resources, such as servers or containers, based on demand to keep performance steady and costs low.
  3. 03AWS3AWS (Amazon Web Services) is Amazon's cloud platform: more than 200 pay-as-you-go services for servers, storage, databases and much more.
  4. 04Azure4Microsoft Azure is Microsoft's cloud computing platform, offering hundreds of on-demand services such as virtual machines, databases and AI models worldwide.
  5. 05Blue-Green Deployment5Blue-green deployment is a release strategy that uses two identical production environments and moves all traffic from the old version to the new one at once.
  6. 06Canary Deployment6A canary deployment releases a new software version to a small share of users first, checks its health, and then gradually rolls it out to everyone.
  7. 07CDN7A CDN is a network of servers spread around the world that stores copies of website content and delivers it to each user from the nearest location.
  8. 08Chaos Engineering8Chaos engineering is the practice of deliberately injecting failures into a system, such as crashing servers, to confirm that it keeps working as expected.
  9. 09CI/CD9CI/CD is a set of automated practices that build, test, and release code changes frequently, so software can be delivered to users quickly and safely.
  10. 10Cloud Computing10Cloud computing is the on-demand delivery of computing resources, such as servers, storage, and databases, over the internet with pay-as-you-go pricing.
  11. 11Cold Start11A cold start is the extra delay when a serverless platform must create a new function instance, start its runtime and run setup code before handling a request.
  12. 12Configuration Management12Configuration management is the practice of defining the desired state of servers and software in code and using tools to apply and keep it automatically.
  13. 13Container13A container is a lightweight, isolated package that bundles an application with its dependencies and runs it on the host's shared operating system kernel.
  14. 14Container Registry14A container registry is a storage and distribution service for container images, letting teams push built images and pull them onto any server that runs them.
  15. 15Continuous Delivery15Continuous delivery is the practice of keeping software ready to release at any time, with an automated pipeline building, testing and preparing every change.
  16. 16Continuous Integration16Continuous integration is the practice of merging code changes into a shared main branch at least daily, with an automated build and tests checking every merge.
  17. 17DevOps17DevOps is a set of practices and a culture that brings software development and IT operations together to deliver software faster and more reliably.
  18. 18Distributed Tracing18Distributed tracing is a technique that follows a single request as it travels through many services, recording how long each step took and where it failed.
  19. 19DNS19DNS is the internet's naming system that translates human-readable domain names like example.com into the numeric IP addresses computers use to connect.
  20. 20Docker20Docker is an open-source platform for packaging an application and everything it needs into a container that runs the same way on any machine.
  21. 21Docker Compose21Docker Compose is a tool for defining and running multi-container applications, such as a web server plus a database, from one YAML file with one command.
  22. 22Docker Image22A Docker image is a read-only, layered package of an application, its dependencies and settings, used as the template from which containers are started.
  23. 23Docker Swarm23Docker Swarm is the clustering mode built into Docker Engine: it joins several machines into one swarm and runs containers across them as replicated services.
  24. 24Edge Computing24Edge computing runs code and processes data close to where users or devices are, instead of in a distant central data center, to reduce latency.
  25. 25Environment Variable25An environment variable is a named value set outside a program, by the operating system or runtime, that the program reads to configure its behavior.
  26. 26Feature Flag26A feature flag is a switch in code that turns a feature on or off at runtime, letting teams deploy code without releasing it to every user at once.
  27. 27GitHub Actions27GitHub Actions is GitHub's built-in automation platform: YAML workflows in a repo run tests, builds and deployments on events like a push or pull request.
  28. 28GitOps28GitOps is a way of managing infrastructure and deployments where Git holds the desired state of a system and an automated agent keeps the live system in sync.
  29. 29Google Cloud29Google Cloud is Google's public cloud platform, offering compute, storage, data and AI services on the global infrastructure behind Google's own products.
  30. 30Grafana30Grafana is an open-source tool for building dashboards that turn metrics, logs and traces from many data sources into live charts and alerts in one place.
  31. 31Helm31Helm is the package manager for Kubernetes: it bundles an app's configuration files into a chart you can install, upgrade and roll back with one command.
  32. 32IaaS32IaaS (infrastructure as a service) is a cloud model where you rent virtual machines, storage and networks on demand and manage the OS and above yourself.
  33. 33Immutable Infrastructure33Immutable infrastructure is an approach where servers are never changed after deployment; every update replaces them with new, freshly built ones.
  34. 34Infrastructure as Code34Infrastructure as code is the practice of defining servers, networks, and other infrastructure in version-controlled files that tools apply automatically.
  35. 35Jenkins35Jenkins is an open-source automation server that builds, tests and deploys software through pipelines, and one of the oldest and most widely used CI/CD tools.
  36. 36kubectl36kubectl is the command-line tool for Kubernetes: it sends requests to a cluster's API server to deploy applications, inspect them and change them.
  37. 37Kubernetes37Kubernetes is an open-source system that automates deploying, scaling, and managing containerized applications across a cluster of machines.
  38. 38Kubernetes Operator38A Kubernetes operator is a custom controller that runs in the cluster and manages a complex application, such as a database, the way a human expert would.
  39. 39Linux39Linux is an open-source operating system kernel that powers most servers, cloud platforms, containers, and Android phones, usually packaged as a distribution.
  40. 40Load Balancer40A load balancer is a server or service that spreads incoming traffic across several backend servers so no single one is overloaded and the app stays available.
  41. 41Logging41Logging is the practice of recording timestamped messages about events in a running program, such as errors and requests, so people can investigate them later.
  42. 42Metrics42Metrics are numeric measurements of a system collected over time, such as request rate, error rate and CPU usage, used for dashboards, alerts and planning.
  43. 43Object Storage43Object storage is a way of storing data as whole objects, each with a unique key and metadata, in flat buckets that scale to huge numbers of files over HTTP.
  44. 44Observability44Observability is the ability to understand what is happening inside a running software system by collecting and analyzing its logs, metrics, and traces.
  45. 45OpenTelemetry45OpenTelemetry is an open standard and set of tools for collecting traces, metrics and logs from software and sending them to any monitoring backend.
  46. 46PaaS46PaaS (platform as a service) is a cloud model where you deploy your code and the provider runs everything under it: servers, operating systems and scaling.
  47. 47Pod47A pod is the smallest deployable unit in Kubernetes: one or more containers that share a network address and storage and are scheduled together on one node.
  48. 48Postmortem48A postmortem is a written review after an incident that explains what happened, why it happened, and what the team will change so it doesn't happen again.
  49. 49Prometheus49Prometheus is an open-source monitoring system that collects metrics from apps and servers, stores them as time series and alerts when values cross a limit.
  50. 50Pulumi50Pulumi is an open-source infrastructure-as-code tool that defines cloud resources in general-purpose languages such as TypeScript, Python, Go, C# or Java.
  51. 51Reverse Proxy51A reverse proxy is a server that sits in front of web servers, accepts client requests on their behalf, and forwards each request to the right backend server.
  52. 52Rollback52A rollback is the process of returning software to a previous, known-good version after a new deployment causes errors, outages, or other unexpected problems.
  53. 53SaaS53SaaS (software as a service) is software delivered over the internet as a subscription; users sign in while the provider runs, updates and secures it.
  54. 54Serverless54Serverless is a cloud model in which the provider runs your code on demand, manages all the servers, scales automatically, and bills only for actual use.
  55. 55Service Mesh55A service mesh is an infrastructure layer that manages traffic between microservices, adding encryption, retries, routing, and monitoring without code changes.
  56. 56Site Reliability Engineering56Site reliability engineering is a discipline that applies software engineering to operations, keeping services reliable with automation and measurable targets.
  57. 57SLA57An SLA (service level agreement) is a provider's commitment to customers about the level of service, such as 99.9% uptime, and what happens if it isn't met.
  58. 58SLO58An SLO is a measurable reliability target for a service, such as 99.9% of requests succeeding over 30 days, that tells a team how reliable is reliable enough.
  59. 59Terraform59Terraform is an infrastructure-as-code tool: you describe cloud resources in configuration files, and one command creates or updates them to match.
  60. 60Virtual Machine60A virtual machine is a software-based computer that runs its own operating system on shared physical hardware, isolated from other machines on the same host.
  61. 61YAML61YAML is a human-readable data format that uses indentation instead of brackets, widely used for configuration files in DevOps tools and CI/CD pipelines.

Back to the libraryNext book: Version Control

More

Settings