openskills.info
← Site Reliability Engineer career guide

Infrastructure and operations

Site Reliability Engineer timeline

How the field of a Site Reliability Engineer got here: the sourced milestones from every published course of this career, on one axis.

1950 to 2026

207 milestones across 23 courses

  • Core
  • Supporting
  • Specialization

The axis stretches toward recent years, where most milestones fall. Bars count milestones per year; dots are single milestones.

Before 1990

7 milestones

  1. 1950

    Five Whys introduced at Toyota

    Taiichi Ohno introduced the Five Whys technique at Toyota as a way to push past a symptom to the underlying cause of a manufacturing error by asking "why" repeatedly. It became the "why" half of the what/where/why narrowing technique this course teaches.

  2. 1960

    Hypothetico-deductive model formalized in science

    The hypothetico-deductive model — form hypotheses from observations, test them, discard what fails — was formalized as the method of science. Google's SRE book later framed systems troubleshooting as exactly this method applied to a running system.

  3. 1981

    FIPS 87 addresses ADP contingency planning

    NIST's history records FIPS 87 as an early guideline for automatic data processing contingency planning. It established continuity planning as a defined concern for computerized operations.

  4. 1981

    NIST publishes FIPS 87

    NIST published Guidelines for ADP Contingency Planning. It established federal guidance for planning recovery of automatic data processing systems.

  5. 1982 Jun

    gprof introduces the call graph profile

    Susan L. Graham, Peter B. Kessler and Marshall K. McKusick present gprof at the SIGPLAN '82 Symposium on Compiler Construction. It extends the existing UNIX profiler by gathering arcs of a program's call graph, so the running time of a called routine is attributed to the routines that called it. The GNU implementation combines an `mcount` call compiled into every function entry with program-counter sampling around 100 times per second, and reports both a flat profile and a call graph — the self-versus-total distinction every profiler has carried since.

1990s

4 milestones

  1. 1993 Jan

    BSD Packet Filter paper published

    The paper described a register-based packet filter that discarded unwanted traffic before copying it to user space. It established filtering near the event as a model later BPF systems expanded.

  2. 1996

    Monitoring starts sending numeric pages

    Nagios history records a monitoring application that checked servers and sent numeric pages. It established a detect-and-page path that later on-call systems automated and routed.

  3. 1999

    Nagios released

    Nagios popularized host and service check-based monitoring with active probes and alerting on check failures. It defined a generation of operations practice centered on "is it up" checks rather than user-visible behavior.

  4. 1999

    NetSaint becomes an open-source monitoring project

    The project was released publicly as NetSaint. Open distribution made monitoring checks and notification patterns available to operations teams outside a single managed-service environment.

2000s

14 milestones

  1. 2001

    Zabbix created

    Zabbix introduced a network and application monitoring system with agents, polling, and a database-backed history. It joined Nagios as a long-running open-source monitoring choice for operations teams.

  2. 2001 Aug

    RFC 3164 documented the BSD syslog protocol

    The informational RFC described the widely deployed BSD syslog message format and relaying behavior. It gave operators a common reference for a protocol that had grown through implementation practice.

  3. 2002

    NetSaint is renamed Nagios

    A trademark-driven rename established Nagios as the project identity. The monitoring and notification architecture continued under that name.

  4. 2002

    NIST SP 800-34 is published

    NIST published its Contingency Planning Guide for Information Technology Systems. The guide brought business impact analysis, contingency strategies, plan development, testing, and maintenance into one IT planning process.

  5. 2002 Jun

    NIST SP 800-34 addresses IT contingency planning

    NIST published the Contingency Planning Guide for Information Technology Systems. The guide covered a contingency-planning process and technical considerations for IT systems.

  6. 2005

    NIST SP 800-53 introduces a federal control catalog

    NIST published the first SP 800-53 control catalog. It placed contingency planning among the recommended security outcomes that organizations could tailor to system risk.

  7. 2006

    NIST SP 800-84 formalizes IT plan testing

    NIST SP 800-84 provided guidance on testing, training, and exercising IT plans and capabilities. It distinguished preparation activities from evidence that a plan can operate.

  8. 2006 Mar

    RFC 5425 specified syslog over TLS

    The transport specification defined how syslog messages can use TLS. It made transport protection an explicit logging architecture choice rather than an assumed property of a message format.

  9. 2006 Sep 19

    Python 2.5 ships cProfile in the standard library

    Python 2.5 adds cProfile, "a C implementation of the existing profile module that has much lower overhead", contributed by Armin Rigo. Deterministic profiling — monitoring every function call, return and exception with precise interval timing — becomes available by default in a mainstream language, along with the documented limits that come with it, including the distortion of Python-versus-C timing comparisons.

  10. 2009 Mar

    RFC 5424 updated the syslog protocol

    RFC 5424 replaced RFC 3164 with a standardized message format and structured data element. It formalized record structure and separated protocol concerns from transport selection.

  11. 2009 Mar

    RFC 5426 defined syslog over UDP

    The UDP transport mapping documented message-size and delivery limitations for datagram transport. It kept loss and truncation in the operational design discussion.

  12. 2009 Aug

    PagerDuty releases its initial beta

    PagerDuty says its initial beta launched in August 2009. Hosted paging made schedules, multi-channel notification, and escalation a managed response layer.

  13. 2009 Sep 9

    Linux 2.6.31 merges performance counters and the perf tool

    The kernel gains a performance counter subsystem abstracting the hardware registers that count instructions executed, cache misses and mispredicted branches, together with the `perf` userspace tool providing `perf top`, `perf record`, `perf report` and `perf annotate`. Sampling profiling stops being a per-application feature and becomes a kernel service any process on the machine can be measured with.

2010s

116 milestones

  1. 2010

    Dapper documents production-scale distributed tracing

    Google published Dapper's design for low-overhead, application-level tracing across a large distributed system. The paper made sampling and shared instrumentation libraries central practical concerns.

  2. 2010

    Google publishes Dapper

    Google published Dapper, its distributed tracing system, making the request path across components observable. Tracing became the third signal — alongside metrics and logs — that lets a troubleshooter apply bisection to a multi-hop call.

  3. 2010

    Google publishes Google-Wide Profiling

    Gang Ren, Eric Tune, Tipp Moseley, Yixin Shi, Silvius Rus and Robert Hundt describe a continuous profiling infrastructure running across Google's data centers in IEEE Micro, reporting stable, accurate profiles at negligible overhead. It establishes that always-on fleet-wide profiling is affordable, and demonstrates analyses that only exist once profiles are collected everywhere, such as measuring application affinity to particular hardware platforms.

  4. 2010

    Google publishes the Dapper paper

    Google described a production distributed tracing system for large-scale services. The paper made trace-based latency analysis a concrete operational pattern beyond single-process profiling.

  5. 2010

    Google publishes the Dapper tracing paper

    The paper described a production tracing infrastructure for large, distributed systems, including ubiquitous instrumentation and sampling. It gave practitioners a concrete model for following work across services rather than inspecting hosts in isolation.

  6. 2010

    NIST updates SP 800-34 as Revision 1

    Revision 1 updated the federal contingency planning guide and described its relationship to related security and emergency management plans. It retained a system-focused process for determining requirements and priorities.

  7. 2010 Feb

    Elasticsearch released its first public version

    Elasticsearch began as a distributed search engine. Searchable storage became a common backend pattern for log analysis as it was combined with collectors and visualization tools.

  8. 2010 Apr

    Google publishes the Dapper paper

    Google describes its internal distributed tracing infrastructure, establishing the conceptual foundation for trace-based observability in large-scale systems.

  9. 2010 Jun

    AWS publishes backup and disaster-recovery guidance

    AWS described backup and disaster-recovery use cases for cloud storage and service providers. Cloud storage changed how teams could obtain off-site recovery capacity.

  10. 2010 Oct

    Navigation Timing enters W3C working draft

    The draft defined browser timing for document navigations. It gave page-load monitoring a browser-provided time model instead of ad hoc JavaScript timers.

  11. 2010 Nov

    NIST SP 800-34 Revision 1 updates the guide

    Revision 1 updated the contingency-planning guide with practical guidance on plan development, requirements, priorities, resilience, and the system development life cycle.

  12. 2011 Jun

    Fluentd began unifying event collection

    Fluentd introduced an open-source collector for routing events from varied sources to varied destinations. Collection and transformation became a distinct pipeline stage rather than an application-only concern.

  13. 2011 Jun 24

    Go publishes its profiling workflow

    The Go team documents profiling as part of the language toolchain rather than an external tool, walking through a full optimization session with `go tool pprof`. The runtime samples the executing goroutine's stack about 100 times per second and samples the heap roughly once per half megabyte allocated, and the profile.proto format it emits later becomes the interchange format much of the profiling market stores.

  14. 2011 Jul

    Netflix introduces the Simian Army

    Netflix expanded from instance termination to a suite inducing failures and detecting abnormal conditions.

  15. 2011 Dec

    Flame graphs are released

    Brendan Gregg releases the flame graph after working a MySQL performance problem, fixing stack depth on the y-axis and an alphabetically sorted stack population on the x-axis so that identical adjacent frames merge into single wide blocks. Profile output stops being a table to read and becomes a picture to scan, and the format spreads to off-CPU, memory, hot/cold and differential variants.

  16. 2012

    Ansible is written

    Ansible's creator began the project in 2012. The initial focus was automation over standard remote connections rather than a permanent managed-node agent.

  17. 2012

    ISO 22301:2012 is published

    ISO 22301:2012 became the earlier published edition identified in ISO's lifecycle for the business continuity management-system standard. It framed continuity as an organization-wide management system.

  18. 2012

    Prometheus begins as an open-source project

    Prometheus began as an open-source project in 2012. Its timestamped, label-based series model gave practitioners a common way to describe metric identity and aggregation.

  19. 2012

    Prometheus begins at SoundCloud

    Prometheus began as an open-source monitoring project at SoundCloud. Its time-series model based on timestamps and labels became a practical reference point for metrics collection and cardinality.

  20. 2012

    Zipkin becomes an open-source tracing project

    Zipkin made distributed tracing available as a reusable open-source system. Practitioners could collect and inspect request timing across service boundaries without building a tracing backend from scratch.

  21. 2012 May 22

    Etsy publishes Blameless PostMortems and a Just Culture

    Etsy publicly described blameless postmortems as a way for engineers to provide actions, observations, expectations, assumptions, and timelines without fear of punishment. The publication made contextual accounts a visible engineering practice.

  22. 2012 Dec

    Navigation Timing becomes a W3C Recommendation

    The first Navigation Timing Recommendation standardized document-navigation measurements. RUM implementations could use a shared browser interface for page-load evidence.

  23. 2013

    Google publishes SRE principles internally and the term spreads

    Google's internal SRE practice began to influence the wider industry through talks and hiring, formalizing SLIs, SLOs, error budgets, toil, and blameless postmortems as named practices rather than ad hoc habits.

  24. 2013

    SoundCloud uses Prometheus in production

    Prometheus was introduced for production monitoring at SoundCloud in 2013. Production use tested its model against real service behavior before broader adoption.

  25. 2013 Feb

    Ansible 1.0 is released

    The project announced Ansible 1.0 after a sequence of earlier releases. Releases became a distribution path alongside using the upstream Git repository.

  26. 2013 May

    Elastic described the ELK Stack

    Elasticsearch, Logstash, and Kibana became a recognizable combination for ingesting, searching, and visualizing log data. The stack made the separation of pipeline roles visible in common deployment practice.

  27. 2013 Sep

    Ansible 1.3 and AWX 1.3 ship together

    The project announced Ansible 1.3 with AWX 1.3. This established an early controller-oriented companion to command-line playbook execution.

  28. 2013 Dec

    Performance Timeline becomes a W3C Recommendation

    Performance Timeline standardized retrieval of performance entries. This established the entry model later used by observers and timing APIs in browser instrumentation.

  29. 2014

    Chaos engineering named by Netflix

    Netflix formalized chaos engineering as the discipline of experimenting on a production system to build confidence in its resilience, with Chaos Monkey. It reframed troubleshooting's preventive counterpart: instead of diagnosing failures, deliberately cause them.

  30. 2014

    DORA operationalizes the Westrum culture model for software delivery

    DORA reports that it operationalized and validated Westrum's organizational-culture model in 2014. The model connected information flow, cooperation, trust, bridging, and inquiry to software-delivery research.

  31. 2014

    Etsy reports institutional use of blameless problem solving

    Etsy's progress report recorded more than 100 postmortems in 2014, each using collective timeline reconstruction and remediation planning. It documented the practice as an organizational program rather than an isolated incident ritual.

  32. 2014

    Google SRE presents The Art of the Postmortem

    Google SRE records a 2014 internal presentation about high-impact incidents and postmortem practice. It shows postmortem discussion becoming part of a broader engineering learning culture.

  33. 2014

    Kubernetes and Terraform released

    Kubernetes 1.0 and Terraform shipped within a year, giving operations a declarative reconciliation and infrastructure-as-code substrate that turned change into a repeatable, observable action rather than a manual procedure.

  34. 2014 Jan

    Grafana v1.0 released

    Torkel Ödegaard open-sources Grafana as a dashboard for Graphite time-series data, beginning what becomes the standard visualization layer for cloud-native metrics.

  35. 2014 Jun

    Kubernetes project announced

    Kubernetes was publicly announced after its first commit in June 2014. Cluster operation became a distinct concern as the project moved beyond container scheduling experiments.

  36. 2014 Jun

    Kubernetes project is announced

    Kubernetes began as an open-source project, establishing a shared control plane for running container workloads across machines.

  37. 2014 Jun 6

    First Kubernetes commit reaches GitHub

    Google engineers push the project's first commit, distilling lessons from a decade of running Borg internally into an open source container orchestrator.

  38. 2014 Dec

    Linux 3.18 adds the bpf system call

    Linux 3.18 introduced the bpf system call for loading BPF-like programs, maps, and helper calls. This made programmable in-kernel collection a Linux subsystem rather than only a packet-filter mechanism.

  39. 2014 Dec

    Resource Timing becomes a W3C Recommendation

    Resource Timing standardized detailed measurement for fetched resources. It gave field investigations a browser source for request-phase evidence, subject to origin controls.

  40. 2015

    OpenTracing begins as a vendor-neutral API effort

    OpenTracing focused on common APIs for instrumenting distributed systems. This shifted instrumentation toward a portable interface rather than a backend-specific library.

  41. 2015

    Principles of Chaos Engineering are published

    The principles defined steady state, hypotheses, real-world events, production behavior, and automation as a common experiment model.

  42. 2015

    Uber creates Jaeger

    Uber created Jaeger as an internal distributed tracing platform. It provided an open-source implementation focused on monitoring and troubleshooting cloud-native architectures.

  43. 2015 Jul

    BCC publishes its initial release

    BCC packaged tracing tools and language front ends around BPF programs. It made focused investigations more accessible before teams built persistent collectors.

  44. 2015 Jul

    Kubernetes 1.0 and CNCF donation

    Kubernetes 1.0 reached release and was donated to the newly formed CNCF. The project acquired a production-facing governance and release home.

  45. 2015 Jul

    Kubernetes v1.0 released

    Kubernetes reached its v1.0 release, establishing the platform that later networking APIs and implementations build upon.

  46. 2015 Jul 21

    Kubernetes 1.0 ships and Google donates it to a new foundation

    Google declares Kubernetes production-ready at 1.0 and hands the project to the newly formed Cloud Native Computing Foundation, separating it from any single vendor's control.

  47. 2015 Oct

    Red Hat announces the Ansible acquisition

    Red Hat announced an agreement to acquire Ansible and described Ansible and Ansible Tower as part of its management portfolio. Supported enterprise automation became a parallel path to the upstream project.

  48. 2016

    Ansible 2.0 changes playbook and plugin compatibility

    The 2.0 porting guide documented behavioral changes for playbooks, plugins, and the Python API. Existing automation needed compatibility review rather than assuming a version upgrade was transparent.

  49. 2016

    Google publishes Site Reliability Engineering

    The Google SRE book made its postmortem-culture chapter publicly available with criteria, blameless language, review, and sharing practices. It gave teams a documented SRE reference for treating incident reviews as learning work.

  50. 2016

    Jaeger is released as open source

    Uber released Jaeger as an open-source distributed tracing platform and later donated it to CNCF. This made the backend available outside its original environment.

  51. 2016

    Prometheus joins CNCF

    Prometheus joined the Cloud Native Computing Foundation as its second hosted project. Metrics collection and alerting became a prominent shared component of cloud-native operations.

  52. 2016 Mar

    User Timing Level 2 becomes a W3C Recommendation

    User Timing standardized application-defined marks and measures. Teams could add domain-specific spans when browser timing alone did not identify a meaningful application operation.

  53. 2016 Mar 10

    CNCF accepts Kubernetes as its first hosted project

    The foundation's Technical Oversight Committee takes on Kubernetes as CNCF's inaugural project, giving the desired-state model this course teaches a neutral governance home.

  54. 2016 Apr

    Google publishes Site Reliability Engineering

    The first edition documented an SRE operating model, including on-call work, for a wider engineering audience. It connected response duty with service ownership and engineering work that reduces operational load.

  55. 2016 Apr

    Google SRE book published

    Google released the Site Reliability Engineering book under Creative Commons, including the "Effective Troubleshooting" chapter that framed troubleshooting as the hypothetico-deductive method and named the common pitfalls. It is the source this course follows.

  56. 2016 Apr

    Site Reliability Engineering book published

    Google released the SRE book under Creative Commons, making its practices public. The book codified SLOs, error budgets, toil, monitoring outputs, incident management, and blameless postmortem culture for the wider industry.

  57. 2016 May

    CNCF accepts Prometheus

    CNCF accepted Prometheus as a hosted project. Its metric model became a widely used companion to traces for rates, errors, and latency distributions.

  58. 2016 Aug

    OpenTracing joins CNCF

    OpenTracing joined the CNCF in August 2016. Its API effort focused attention on portable instrumentation rather than backend-specific tracing code.

  59. 2016 Sep

    Inter-Pod affinity and anti-affinity arrive in alpha

    Kubernetes 1.4 introduced relative Pod placement rules and PodDisruptionBudget support for limiting disruption from cluster management operations.

  60. 2016 Sep

    kubeadm introduced in Kubernetes 1.4

    Kubernetes 1.4 introduced kubeadm for bootstrapping a control plane and joining nodes. It made self-managed cluster lifecycle steps more repeatable.

  61. 2016 Oct

    CNCF accepts OpenTracing

    CNCF accepted OpenTracing as a hosted project. The project aimed to make tracing and context propagation consistent across loosely coupled microservices.

  62. 2016 Oct

    Linux 4.8 introduces XDP

    XDP added a programmable high-performance network data path. It broadened BPF use beyond tracing into early packet processing and network observability.

  63. 2016 Oct

    OpenTracing joins CNCF

    CNCF accepts OpenTracing as its third hosted project, establishing a vendor-neutral API standard for distributed tracing.

  64. 2016 Nov 17

    Etsy opens its Debriefing Facilitation Guide

    Etsy published a facilitation guide that moved from the philosophy of blamelessness to running debriefings as a learned skill. It emphasized resisting premature causal stories and gathering multiple perspectives.

  65. 2016 Dec

    Linux 4.9 adds a more efficient BPF profiler

    Linux 4.9 added a more efficient BPF profiler. This strengthened sampled profiling as a BPF observability use case instead of tracing every function call.

  66. 2017

    Litmus begins as Kubernetes chaos jobs

    Litmus started with chaos jobs for Kubernetes, bringing fault experiments into the workload orchestration environment.

  67. 2017 Feb

    A chaos engineering paper documents the approach

    A paper described the principles and their use in reliability experiments beyond Netflix.

  68. 2017 Mar

    Advanced scheduling features reach beta

    Kubernetes 1.6 moved node affinity, taints and tolerations, Pod affinity, and multiple schedulers into beta.

  69. 2017 Mar

    kubeadm v1.6 planned as an official release artifact

    SIG Cluster Lifecycle described shipping kubeadm with the Kubernetes 1.6 distribution. Cluster bootstrap and lifecycle tooling became part of the project’s regular release surface.

  70. 2017 Jun

    NetworkPolicy became stable in Kubernetes 1.7

    Kubernetes 1.7 promoted NetworkPolicy to stable, making label-based Pod communication rules a stable API while leaving enforcement to network plugins.

  71. 2017 Jun 29

    Kubernetes 1.7 adds CustomResourceDefinitions

    CRDs replace the earlier ThirdPartyResource mechanism, letting teams extend the kube-apiserver with their own object kinds instead of working only with what ships in core.

  72. 2017 Sep

    Jaeger enters CNCF incubation

    CNCF accepted Jaeger at the Incubating maturity level. The project then developed as part of the CNCF observability ecosystem.

  73. 2017 Sep

    Jaeger joins CNCF

    Jaeger joined CNCF in September 2017. The project made an open tracing backend available within the cloud-native ecosystem.

  74. 2017 Oct

    Egress NetworkPolicy capabilities arrived

    Kubernetes 1.8 added egress policy capabilities, allowing workloads to restrict connections they initiate as well as inbound connections.

  75. 2017 Oct 17

    Docker adds native Kubernetes orchestration

    Docker Enterprise Edition folds unmodified upstream Kubernetes in alongside Swarm, conceding that the object model this course introduces had become the default rather than one option among several.

  76. 2017 Nov 29

    AWS previews Amazon EKS

    AWS announces a managed control plane for Kubernetes at re:Invent, the first sign that the major clouds would sell Kubernetes's control plane as a service rather than leave operators to run etcd and kube-apiserver themselves.

  77. 2017 Dec

    Jaeger 1.0 is announced

    The 1.0 backend release marked a deployable open-source baseline with broader storage and interoperability work.

  78. 2018

    DORA reports generative culture as essential to delivery performance

    DORA's 2018 report described generative culture as cooperation, trust, voice, and learning, and associated it with stronger software-delivery and organizational outcomes. It made culture a measured capability in the DevOps research program.

  79. 2018

    Google publishes the Site Reliability Engineering Workbook

    The workbook added a case study, templates, action-item guidance, incentives, and warning signs for a postmortem culture. It translated the earlier SRE philosophy into operating practices a team can adopt.

  80. 2018

    OpenCensus unifies tracing and metrics libraries

    OpenCensus provided common libraries for collecting traces and metrics. It represented a parallel standardization path that later converged with OpenTracing.

  81. 2018

    The Site Reliability Workbook adds operational examples

    Google's companion workbook moved from the SRE model to practical implementation examples. On-call became part of an explicit reliability practice rather than an isolated alert-receiving duty.

  82. 2018 Mar

    Kubernetes 1.10 added a stable storage-class defaulting path

    Kubernetes 1.10 made the default StorageClass annotation beta. Operators increasingly had to treat storage behavior and defaulting as cluster-wide lifecycle concerns.

  83. 2018 Mar 6

    Kubernetes becomes CNCF's first graduated project

    CNCF certifies Kubernetes as having thriving adoption and a documented governance process — the first project to clear the foundation's graduation bar.

  84. 2018 May

    Long Tasks becomes a W3C Recommendation

    The Long Tasks API exposed main-thread tasks of at least 50 milliseconds. RUM collectors gained a standard signal for browser work that can delay queued input.

  85. 2018 Jun

    Splunk acquires VictorOps

    Splunk added VictorOps collaborative incident-management capabilities to its portfolio. The acquisition linked on-call response more closely with observability and incident collaboration platforms.

  86. 2018 Jun 5

    Amazon EKS reaches general availability

    AWS's managed control plane leaves preview, joining Google's and soon Azure's equivalents and cementing "rent the control plane, run your own nodes" as the default way most teams meet Kubernetes.

  87. 2018 Aug

    Linux 4.18 introduces BPF Type Format

    Linux 4.18 introduced BPF Type Format, a compact type metadata format. BTF became a building block for typed tracing and later portability work.

  88. 2018 Sep 25

    JDK 11 open-sources JDK Flight Recorder

    JEP 328 moves Flight Recorder, previously a commercial feature of the Oracle JDK, into the open repository and delivers it in JDK 11, which reaches General Availability on 25 September 2018. The stated goal is at most 1% overhead out of the box on SPECjbb2015 and no measurable overhead when disabled. A production-grade recorder of thread samples, lock profiles and allocation ships with the runtime rather than being purchased separately.

  89. 2018 Oct

    Atlassian acquires Opsgenie

    Atlassian acquired Opsgenie, whose service included incident alerting and on-call schedule management. The move connected paging with service management and engineering work-tracking ecosystems.

  90. 2018 Nov

    Loki announced at KubeCon Seattle

    Grafana Labs open-sourced Loki as "like Prometheus, but for logs", proposing label-only indexing and object-storage chunks as an answer to the cost of full-text log indexing.

  91. 2018 Nov

    W3C publishes the first Trace Context working draft

    The W3C Distributed Tracing Working Group published its first Trace Context draft. It defined portable HTTP headers for carrying trace identity across tool boundaries.

  92. 2018 Dec 3

    kubeadm reaches general availability

    Kubernetes 1.13 makes kubeadm stable, giving operators a first-party, certified path to bootstrap the control plane and node components this course's architecture section describes, instead of assembling them by hand.

  93. 2019

    OpenTracing and OpenCensus form OpenTelemetry

    OpenTracing and OpenCensus merged to form OpenTelemetry. The new project created a shared home for instrumentation across telemetry signals, including metrics.

  94. 2019 Mar

    Pod priority and preemption become generally available

    Kubernetes 1.14 made priority and preemption generally available, allowing higher-priority Pods to displace lower-priority work when capacity is scarce.

  95. 2019 May

    Jaeger describes its OpenTelemetry relationship

    The project positioned OpenTelemetry as the instrumentation layer and Jaeger as a tracing backend. That division became the basis for later client and protocol changes.

  96. 2019 May

    OpenTelemetry announced at KubeCon

    OpenTracing and OpenCensus merge to form OpenTelemetry, a CNCF project unifying distributed tracing, metrics, and logging under one framework.

  97. 2019 May

    OpenTelemetry formed from OpenCensus and OpenTracing

    The merged project established a vendor-neutral observability effort. It created a shared context for logs, metrics, and traces rather than treating each signal as an isolated tool.

  98. 2019 May

    OpenTelemetry merges OpenTracing and OpenCensus

    OpenTelemetry formed from the OpenTracing and OpenCensus projects. The merger combined tracing and telemetry instrumentation work into one vendor-neutral project.

  99. 2019 Jun

    Scheduling Framework launches in alpha

    Kubernetes 1.15 introduced the Scheduling Framework as an alpha extension surface for scheduler plugins.

  100. 2019 Jun

    Version 0.1.0 tagged

    The first tagged release of the log aggregation system, with the Promtail agent, the push API, and LogCLI; Grafana integration provided the query interface.

  101. 2019 Jul

    Collections become the future content-delivery model

    The project announced collections as the future distribution format for modules, plugins, roles, and playbooks, and added collection support in Ansible 2.9. Namespaces began to matter directly in playbook references.

  102. 2019 Sep

    Kubernetes 1.16 removed many deprecated APIs

    Kubernetes 1.16 removed several deprecated API versions. Upgrade preparation became inseparable from finding and migrating old manifests before a control-plane change.

  103. 2019 Oct

    ISO 22301:2019 is published

    ISO published edition 2 of ISO 22301 in October 2019, replacing the 2012 edition. The standard specifies requirements for a business continuity management system.

  104. 2019 Oct

    Jaeger graduates from CNCF

    Jaeger becomes CNCF's seventh graduated project, establishing a production-grade distributed tracing backend alongside the emerging OpenTelemetry standard.

  105. 2019 Nov

    Loki 1.0.0 declared production ready

    After a year and roughly 1.5 TB / 10 billion log lines a day ingested internally at Grafana Labs, the team promoted Loki out of beta with an API-stability commitment centered on the operating experience.

2020s

66 milestones

  1. 2020 Feb

    BPF CO-RE portability design is published

    The CO-RE design combined target-kernel BTF, compiler relocations, and libbpf loading. It reduced dependence on compiling a BPF program separately for every kernel layout.

  2. 2020 May

    Chrome introduces Core Web Vitals

    Chrome grouped loading, interactivity, and visual stability as Core Web Vitals. Field monitoring could frame browser timings around user-facing outcomes rather than technical durations alone.

  3. 2020 May

    Jaeger adopts OpenTelemetry Collector components

    Jaeger announced a Collector-based direction for collection functions. The change targeted a standardized telemetry pipeline and access to Collector processing features.

  4. 2020 May

    PodTopologySpread moves to beta

    Kubernetes 1.18 added topology spread constraints, allowing a workload to express a bounded imbalance across topology domains.

  5. 2020 Jun

    Litmus enters the CNCF Sandbox

    Litmus became a CNCF Sandbox project and a community-governed framework for Kubernetes chaos workflows.

  6. 2020 Jul

    Chaos Mesh enters the CNCF Sandbox

    Chaos Mesh entered the CNCF Sandbox with Kubernetes, network, I/O, and kernel fault types.

  7. 2020 Aug

    Linux 5.8 adds CAP_BPF and CAP_PERFMON

    Linux 5.8 separated selected BPF and performance-monitoring permissions from broad CAP_SYS_ADMIN. Observability agents could request more specific privileges for supported tracing programs.

  8. 2020 Aug

    Patch support extended to one year

    Starting with Kubernetes 1.19, the project extended patch support from about nine months to one year. Operators gained a longer but still finite upgrade planning window.

  9. 2020 Sep

    Ansible 2.10 reaches general availability

    The 2.10 schedule set its general-availability date for September 22. The release package was assembled from collection versions with compatibility rules instead of treating all content as one repository.

  10. 2020 Sep

    kube-proxy adopted EndpointSlices by default

    In Kubernetes 1.19, kube-proxy began reading EndpointSlices by default, replacing large single Endpoints objects with smaller backend sets.

  11. 2020 Sep

    NIST publishes SP 800-53 Revision 5

    Revision 5 updated the federal security and privacy control catalog. The contingency-planning family remained part of the risk-management control structure.

  12. 2020 Oct

    Loki 2.0 with production boltdb-shipper single store

    The single-store design (index and chunks in one object store) reached production readiness, and LogQL gained query-time parsers, label filtering, and log-derived metrics, closing the gap with traditional log systems' query power.

  13. 2020 Dec 8

    Kubernetes 1.20 deprecates dockershim

    The kubelet's built-in Docker Engine support is marked for removal in favor of CRI-compliant runtimes, a reminder that the container runtime is a pluggable node component, not part of Kubernetes itself.

  14. 2021

    Ansible 3 begins the community-package version line

    The release-and-maintenance reference records Ansible 3 as the community package paired with ansible-core 2.10. Practitioners now need to distinguish the package release from the underlying runtime version.

  15. 2021 Feb

    AWS publishes Disaster Recovery of Workloads on AWS

    The AWS Well-Architected whitepaper formalized cloud disaster-recovery guidance. It organized recovery design around workload disruption, recovery options, detection, and testing.

  16. 2021 Feb

    OpenTelemetry Tracing Spec reaches v1.0

    The tracing specification and first language SDKs hit stable general availability, providing the first long-term stability guarantees for production adoption.

  17. 2021 Mar

    AWS Fault Injection Simulator becomes generally available

    AWS made Fault Injection Simulator generally available with templates and alarm-based stop controls.

  18. 2021 Apr

    EndpointSlice graduated to stable

    Kubernetes 1.21 made EndpointSlice stable, cementing it as the scalable representation of Service backends.

  19. 2021 Apr

    Loki 2.2 in the Grafana LGTM stack

    Releases through 2.2 cemented the Loki-Prometheus-Tempo pairing under Grafana, with LogQL metric queries and ruler-based alerting as first-class features.

  20. 2021 Apr

    NetworkPolicy conformance work became public

    SIG Network published conformance work to compare CNI behavior across NetworkPolicy constructs, highlighting implementation differences beneath one API.

  21. 2021 Jul

    Release cadence changed to three minors per year

    The project moved from four releases per year to three starting with Kubernetes 1.22. The operational cadence shifted toward fewer, longer release cycles.

  22. 2021 Aug

    OpenTelemetry moves to CNCF incubating

    The CNCF TOC promotes OpenTelemetry from sandbox to incubating status, reflecting rapid community adoption and API maturity.

  23. 2021 Aug

    OpenTelemetry reaches CNCF incubation

    OpenTelemetry became a CNCF incubating project. Its tracing APIs, SDKs, Collector, and exporters increasingly provided a shared collection path for multiple backends.

  24. 2021 Aug

    OpenTracing moves to archived status

    CNCF moved OpenTracing to archived maturity status. The transition signaled that new standardization work had moved to OpenTelemetry.

  25. 2021 Sep

    OpenTelemetry collector metrics components become stable

    The OpenTelemetry protocol changelog marked collector metrics components stable. Metric collection pipelines gained a stable interoperability point.

  26. 2021 Sep

    OpenTelemetry Collector reaches tracing stability

    The OpenTelemetry project reported its Collector's first general availability release and a tracing stability milestone. Collection, processing, and export became a stable pipeline concern alongside application instrumentation.

  27. 2021 Oct

    Jaeger recommends migration from native clients

    The project recommended OpenTelemetry SDKs as they reached feature parity with Jaeger client libraries. This shifted instrumentation investment toward the shared ecosystem.

  28. 2021 Oct 8

    Parca applies the Prometheus model to profiles

    Polar Signals releases Parca, pairing an eBPF-based profiler that discovers targets through Kubernetes or systemd with storage that identifies profile series by type and key/value labels and queries them with a label selector. Profiles become a queryable time series rather than a file, which is what makes comparing two points in time a query rather than a manual diff.

  29. 2021 Dec

    Microsoft presents Azure Chaos Studio

    Microsoft introduced Azure Chaos Studio as a managed platform for controlled disruption experiments.

  30. 2022 Jan

    LitmusChaos moves to CNCF incubation

    LitmusChaos moved from CNCF Sandbox to incubation as a maintained platform for controlled resilience experiments.

  31. 2022 Feb

    AWS updates active-passive failover guidance

    The whitepaper added data-plane and control-plane material, expanded active-passive failover guidance, and replaced CloudEndure Disaster Recovery with AWS Elastic Disaster Recovery.

  32. 2022 Feb

    Chaos Mesh moves to CNCF incubation

    Chaos Mesh moved to CNCF incubation after adding observability, fault types, and workflow support.

  33. 2022 Apr

    Kubernetes 1.24 removed dockershim

    Kubernetes 1.24 removed the in-tree dockershim. Operators with Docker Engine dependencies had to assess runtime and tooling assumptions before upgrading.

  34. 2022 May

    Chrome introduces Interaction to Next Paint

    INP was introduced as an experimental responsiveness metric. It shifted attention from the first input toward responsiveness across a page visit.

  35. 2022 May

    Jaeger adds native OTLP ingestion

    Jaeger 1.35 added native reception of OpenTelemetry trace data through OTLP. Applications could send OTLP directly to the backend without a Jaeger exporter or a Collector placed only for protocol conversion.

  36. 2022 May

    OpenTelemetry metrics reaches 1.0 release candidates

    The project announced metrics release candidates with shared metadata and semantic conventions alongside tracing. The Collector could also receive OpenTelemetry and Prometheus-compatible metrics.

  37. 2022 May

    OpenTelemetry metrics reaches release candidates

    OpenTelemetry announced metrics release candidates for language APIs and SDKs. The Collector could receive both OpenTelemetry and Prometheus- compatible metrics.

  38. 2022 May 3

    Dockershim is removed from the kubelet

    Kubernetes 1.24 finishes the transition begun in 1.20: clusters now need containerd, CRI-O, or another CRI-compliant runtime, with Docker-built images continuing to run unchanged since they follow the OCI image spec.

  39. 2022 Dec

    Dynamic Resource Allocation launches in alpha

    Kubernetes 1.26 introduced Dynamic Resource Allocation for requests that need more expressive matching than counted resources.

  40. 2023

    eBPF observability mainstream

    eBPF-based observability tools moved kernel-level tracing and profiling into mainstream use, letting a troubleshooter ask "where" a process is spending time without instrumenting the application. It widened the "where" question beyond userspace.

  41. 2023

    Fedora decides to compile with frame pointers by default

    Fedora accepts adding `-fno-omit-frame-pointer` and `-mno-omit-leaf-frame-pointer` to default C and C++ compilation flags, targeting Fedora Linux 38. The rationale is that stack unwinding via frame pointers is cheap while the DWARF alternative requires copying the full stack from kernel to user space, against a measured cost of about 2.4% on a kernel compile and 2% on a Blender render. A distribution-wide build flag is changed to make profiling work.

  42. 2023 Mar 15

    Grafana Labs acquires Pyroscope and merges it with Phlare

    Grafana Labs acquires Pyroscope, founded in 2021, and merges it with Grafana Phlare, launched in 2022, under the name Grafana Pyroscope. The open-source continuous profiling field consolidates from two competing databases into one, alongside the framing of profiling as a further observability signal beside metrics, logs and traces.

  43. 2023 Apr

    Loki 2.8 makes TSDB the recommended index

    The Prometheus-inspired TSDB index format replaced boltdb-shipper as the recommendation, bringing more efficient, faster, and more scalable index files shipped to object storage.

  44. 2023 Apr

    OpenTelemetry published its Logs Data Model specification

    The specification defined a common log-record model with timestamps, severity, body, resource, attributes, and trace context. It gives structured logging pipelines a portable vocabulary for record fields.

  45. 2023 May

    OpenCensus is retired in favor of OpenTelemetry

    OpenTelemetry reported stable Metrics SDK releases for major languages and began archiving OpenCensus repositories. Existing instrumentation could migrate toward the combined telemetry ecosystem.

  46. 2023 Oct

    Gateway API v1 reached general availability

    Gateway, GatewayClass and HTTPRoute graduated to v1, establishing a stable role-oriented routing API.

  47. 2024

    AI-assisted root-cause analysis enters practice

    Vendors began offering AI-assisted root-cause analysis on top of metrics, logs, and traces, ranking hypotheses for a responder. It did not replace the hypothetico-deductive method; it sped the "form hypotheses" step and left testing to the operator.

  48. 2024

    Error-budget and SLO tooling becomes mainstream

    Error-budget tracking and SLO-based alerting moved from book concept to standard feature in managed observability platforms, closing the loop between the SLO a team negotiates and the alerts that fire when it is consumed.

  49. 2024

    Google publishes an incident-management guide

    Google's incident-management guide places postmortems, corrective actions, broad sharing, and aggregate learning in the wider incident lifecycle. It presents blameless learning as part of an operating system for response and improvement.

  50. 2024

    ISO 22301 receives Amendment 1

    ISO lists Amendment 1:2024 for ISO 22301:2019. The amendment kept the standard current while its next full edition entered development.

  51. 2024 Mar

    incident.io launches its On-call product

    incident.io combined alerts, schedules, escalation paths, and incident coordination in one product. The launch illustrates the shift toward preserving alert context, escalation history, and resolution work in a shared incident record.

  52. 2024 Mar

    INP replaces First Input Delay as a Core Web Vital

    INP became a stable Core Web Vital and replaced FID. RUM dashboards and release comparisons needed to evaluate responsiveness with the newer metric.

  53. 2024 Apr

    Kubernetes 1.30 continued the regular release model

    Kubernetes 1.30 shipped 45 enhancements across stable, beta, and alpha stages. Regular releases continued to make compatibility review and upgrade preparation recurring operational work.

  54. 2024 Apr

    Loki 3.0 ships structured metadata and deprecates Promtail

    Version 3.0 introduced structured metadata, attaching high-cardinality key-value pairs to entries without indexing them, required the TSDB index and chunk format v4, and deprecated the Promtail agent, whose code had merged into Grafana Alloy.

  55. 2024 May

    Gateway API v1.1 expanded stable routing

    Gateway API v1.1 added stable GRPCRoute and service-mesh support, extending the portable route model beyond the initial v1 resources.

  56. 2024 Jun 6

    The project marks ten years since its first commit

    A decade on, Kubernetes counts more than 88,000 contributors from over 8,000 companies across 44 countries — evidence the desired-state model this course teaches outgrew any one vendor.

  57. 2024 Jun 7

    OpenTelemetry accepts a continuous profiling agent

    OpenTelemetry accepts Elastic's donation of its eBPF-based continuous profiling agent, which observes code across programming languages and runtimes, third-party libraries, kernel operations and system resources without code instrumentation, recompilation or service restarts, at roughly 1% CPU. Profiling gains a vendor-neutral collection agent and a data model that carries the same attributes as traces and metrics.

  58. 2024 Aug

    Dynamic Resource Allocation design is updated

    Kubernetes 1.31 introduced an updated DRA API and structured parameters so scheduling can reason about ResourceClaims during Pod placement.

  59. 2024 Nov

    Jaeger 2 is released

    Jaeger 2 introduced a single configurable binary built on the OpenTelemetry Collector framework. The release retained core tracing backend capabilities while changing deployment and configuration assumptions.

  60. 2024 Nov

    Loki 3.3 and the native OTLP turn

    Native OpenTelemetry log ingestion (POST /otlp/v1/logs) became a supported path, and the Loki operator ecosystem matured around Kubernetes deployments.

  61. 2025 Nov

    Loki 3.6 deprecates Simple Scalable Deployment

    SSD mode, the write/read/backend grouping installed by the default Helm chart, was deprecated in favor of HA monolithic mode, with removal scheduled for Loki 4.0.

  62. 2026 Mar

    Loki 3.7 extends the experimental bloom pipeline

    The 3.7 line continued the bloom filter work for very large tenants, where bloom planner, builder, and gateway services filter chunks using structured metadata to cut query cost.