[x/go.dev] added site reliability case study

This change adds the site reliability engineering case study to the google solutions as well as adding assets for hero banner and logo.

New case study on: staging.go.dev/solutions/google/

Complete case study: staging.go.dev/solutions/google/sitereliability/

Change-Id: Id147fde85bf0443d74e442b913748500528deca1
X-GoDev-Commit: 07f09622613635a8a1bd8ced2b4408e0526bbf26
diff --git a/go.dev/assets/css/styles.css b/go.dev/assets/css/styles.css
index f671bc9..d1e6b5c 100644
--- a/go.dev/assets/css/styles.css
+++ b/go.dev/assets/css/styles.css
@@ -517,12 +517,16 @@
 .BreadcrumbNav-li {
   align-items: center;
   display: flex;
+  white-space: nowrap;
 }
 a.BreadcrumbNav-link {
   color: #000;
   font-size: 0.875rem;
   text-decoration: none;
-  white-space: nowrap;
+}
+.BreadcrumbNav-li:last-child {
+  padding-right: 0.812rem;
+  white-space: normal;
 }
 .BreadcrumbNav-li:not(:last-child):after {
   background: url('/images/icons/arrow-forward.svg') no-repeat;
diff --git a/go.dev/content/solutions/google/_index.md b/go.dev/content/solutions/google/_index.md
index 6ed334e..6e3ae17 100644
--- a/go.dev/content/solutions/google/_index.md
+++ b/go.dev/content/solutions/google/_index.md
@@ -66,3 +66,11 @@
 The Firebase Hosting team provides static web hosting services for Google Cloud customers. They provide a static web host that sits behind a global content delivery network, and offer users tools that are easy to use. The team also develops features that range from uploading site files to registering domains to tracking usage.
 
 [Learn more](/solutions/google/firebase/)
+
+---
+
+### Actuating Google Production: How Google’s Site Reliability Engineering Team Uses Go
+
+Google runs a small number of very large services. Those services are powered by a global infrastructure covering everything one needs: storage systems, load balancers, network, logging, monitoring, and many more. Nevertheless, it is not a static system - it cannot be. Architecture evolves, new products and ideas are created, new versions must be rolled out, configs pushed, database schema updated, and more. We end up deploying changes to our systems dozens of times per second.
+
+[Learn more](/solutions/google/sitereliability/)
\ No newline at end of file
diff --git a/go.dev/content/solutions/google/sitereliability.md b/go.dev/content/solutions/google/sitereliability.md
new file mode 100644
index 0000000..a8506c0
--- /dev/null
+++ b/go.dev/content/solutions/google/sitereliability.md
@@ -0,0 +1,110 @@
+---
+title: "Actuating Google Production: How Google’s Site Reliability Engineering Team Uses Go"
+company: Google Site Reliability Engineering (SRE)
+logoSrc: sitereliability.svg
+heroImgSrc: go_sitereliability_case_study.png
+series: Case Studies
+quote: |
+  Google’s Site Reliability Engineering team has a mission to protect, provide for, and progress the software and systems behind all of Google’s public services — Google Search, Ads, Gmail, Android, YouTube, and App Engine, to name just a few — with an ever-watchful eye on their availability, latency, performance, and capacity.
+
+  They shared their experience building core production management systems with Go, coming from experience with Python and C++.
+authors:
+  - Pierre Palatin, Site Reliability Engineer
+aliases:
+    - /solutions/sitereliability
+---
+
+Google runs a small number of very large services. Those services are powered
+by a global infrastructure covering everything a developer needs: storage
+systems, load balancers, network, logging, monitoring, and much more.
+Nevertheless, it is not a static system—it cannot be. Architecture evolves,
+new products and ideas are created, new versions must be rolled out, configs
+pushed, database schema updated, and more. We end up deploying changes to our
+systems dozens of times per second.
+
+Because of this scale and critical need for reliability, Google pioneered Site
+Reliability Engineering (SRE), a role that many other companies have since adopted.
+“SRE is what you get when you treat operations as if it’s a software problem.
+Our mission is to protect, provide for, and progress the software and systems
+behind all of Google’s public services with an ever-watchful eye on their
+availability, latency, performance, and capacity.”
+- [Site Reliability Engineering (SRE)](https://sre.google/).
+
+{{% backgroundQuote %}}
+Go promised a sweet spot between performance and readability that neither of
+the other languages [Python and C++] were able to offer.
+{{% /backgroundQuote %}}
+
+In 2013-2014, Google’s SRE team realized that our approach to production
+management was not cutting it anymore in many ways. We had advanced far beyond
+shell scripts, but our scale had so many moving pieces and complexities that a
+new approach was needed. We determined that we needed to move toward a
+declarative model of our production, called "Prodspec", driving a dedicated
+control plane, called "Annealing".
+
+When we started those projects, Go was just becoming a viable option for
+critical services at Google. Most engineers were more familiar with Python
+and C++, either of which would have been valid choices. Nevertheless, Go
+captured our interest. The appeal of novelty was certainly a factor of
+course. But, more importantly, Go promised a sweet spot between performance
+and readability that neither of the other languages were able to offer. We
+started a small experiment with Go for some initial parts of Annealing and
+Prodspec. As the projects progressed, those initial parts written in Go found
+themselves at the core. We were happy with Go—its simplicity grew on us, the
+performance was there, and concurrency primitives would have been hard to
+replace.
+
+{{% backgroundQuote %}}
+Now the majority of Google production is managed and maintained by our systems
+written in Go.
+{{% /backgroundQuote %}}
+
+At no point was there ever a mandate or requirement to use Go, but we had no
+desire to return to Python or C++. Go grew organically in Annealing and
+Prodspec. It was the right choice, and thus is now our language of choice.
+Now the majority of Google production is managed and maintained by our systems
+written in Go.
+
+The power of having a simple language in those projects is hard to overstate.
+There have been cases where some feature was indeed missing, such as the
+ability to enforce in the code that some complex structure should not be
+mutated. But for each one of those cases, there have undoubtedly been tens or
+hundred of cases where the simplicity helped.
+
+{{% backgroundQuote %}}
+Go’s simplicity means that the code is easy to follow, whether it is to spot
+bugs during review or when trying to determine exactly what happened during a
+service disruption.
+{{% /backgroundQuote %}}
+
+For example, Annealing impacts a wide variety of teams and services meaning
+that we relied heavily on contributions across the company. The simplicity of
+Go made it possible for people outside our team to see why some part or another
+was not working for them, and often provide fixes or features themselves. This
+allowed us to quickly grow.
+
+Prodspec and Annealing are in charge of some quite critical components. Go’s
+simplicity means that the code is easy to follow, whether it is to spot bugs
+during review or when trying to determine exactly what happened during a
+service disruption.
+
+Go performance and concurrency support have also been key for our work. As our
+model of production is declarative, we tend to manipulate a lot of structured
+data, which describes what production is and what it should be. We have large
+services so the data can grow large, often making purely sequential processing
+not efficient enough.
+
+We are manipulating this data in many ways and many places. It is not a matter
+of having a smart person come up with a parallel version of our algorithm. It
+is a matter of casual parallelism, finding the next bottleneck and
+parallelising that code section. And Go enables exactly that.
+
+As a result of our success with Go, we now use Go for every new development for
+Prodspec and Annealing.
+
+In addition to the Site Reliability Engineering team, engineering teams across
+Google have adopted Go in their development process. Read about how the
+[Core Data Solutions](/solutions/google/coredata/),
+[Firebase Hosting](/solutions/google/firebase/), and
+[Chrome](/solutions/google/chrome/) teams use Go to build fast, reliable,
+and efficient software at scale.
\ No newline at end of file
diff --git a/go.dev/static/images/go_sitereliability_case_study.png b/go.dev/static/images/go_sitereliability_case_study.png
new file mode 100644
index 0000000..51241c5
--- /dev/null
+++ b/go.dev/static/images/go_sitereliability_case_study.png
Binary files differ
diff --git a/go.dev/static/images/logos/sitereliability.svg b/go.dev/static/images/logos/sitereliability.svg
new file mode 100644
index 0000000..c549d69
--- /dev/null
+++ b/go.dev/static/images/logos/sitereliability.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="400 200 5350 1470"><path d="M413.85 1464.55l43.15-17.64c10.29 38.71 40.67 69.58 80.85 69.58 37.24 0 70.07-21.07 70.07-58.31 0-32.34-22-49.49-75-68.11l-22-7.84c-39.21-13.72-84.29-37.73-84.29-95.55 0-50.48 44.6-93.6 107.81-93.6 66.15 0 100 43.12 108.78 71.06L601 1281.77c-5.39-18.62-25.48-45.57-65.66-45.57-33.82 0-62.73 21.07-62.73 50.48 0 27.93 24 42.14 63.71 55.86l22.54 7.84c51.94 18.13 95.06 46.06 95.06 107.8 0 72.52-65.17 101.43-117.11 101.43s-105.32-31.85-122.96-95.06zm269.55-235.7a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1h45.08v240.1zm133.29-14.7c-13.23-12.74-19.6-28.91-19.6-52.43v-131.81h-42.16v-41.16h42.14v-73.51h45.08v73.51h58.81v41.16h-58.81v119.56c0 12.74 2 23.52 7.35 30.38s14.21 10.78 21.56 10.78c10.78 0 14.7-1.47 21.57-4.41l14.21 40.18c-12.25 4.41-23.53 6.37-41.17 6.37-20.58 0-37.73-7.84-48.98-18.62zm95.09-105.35c0-69.58 45.57-127.89 118.58-127.89 71.54 0 116.62 50.47 116.62 127.89 0 3.43-.49 8.33-.49 8.33H967.15c1.47 53.9 43.12 78.4 77.42 78.4 33.32 0 53.9-19.11 67.62-43.12l40.18 19.6c-18.62 35.28-55.86 64.68-109.76 64.68-70.56 0-121.52-53.9-121.52-127.89zm117.6-86.73c-34.79 0-60.76 23.52-68.11 57.82h137.69c-1.47-21.07-16.66-57.81-69.58-57.81zm274.39-144.07h119.56c58.31 0 109.76 43.12 109.76 104.38 0 50-37.24 90.65-83.79 100.45l-1 1.47 98.49 142.59v2h-53.41l-94.57-142.1h-50v142.1h-45.08zm117.6 166.61c34.79 0 65.66-25.48 65.66-62.23 0-27.94-22.54-61.26-62.72-61.26h-75.46v123.49zm130.67 64.19c0-69.58 45.58-127.89 118.59-127.89 71.54 0 116.62 50.47 116.62 127.89 0 3.43-.49 8.33-.49 8.33h-188.66c1.48 53.9 43.13 78.4 77.43 78.4 33.32 0 53.9-19.11 67.62-43.12l40.18 19.6c-18.62 35.28-55.86 64.68-109.76 64.68-70.57 0-121.53-53.9-121.53-127.89zM1679 1345c-34.79 0-60.77 23.52-68.11 57.82h137.69c-1.51-21.08-16.7-57.82-69.58-57.82zm151.56 206.77v-350.85h45.08v350.85zm83.79-322.92a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1h45.08v240.1zm290.17-147.98v148h-43.12v-33.32h-2c-13.23 20.09-37.24 41.16-74.48 41.16-52.43 0-93.1-35.28-93.1-82.32 0-52.43 44.1-81.34 103.39-81.34 33.81 0 56.84 9.31 66.15 14.7v-10.29c0-33.32-31.36-56.35-62.23-56.35-25.48 0-44.59 9.31-59.78 31.85l-39.69-25c21.07-29.89 53.9-47 97-47 67.19-.05 107.86 38.17 107.86 99.91zm-43.12 45.08s-21.56-16.66-58.8-16.66c-38.22 0-64.19 21.07-64.19 46.06 0 26 27 41.16 50 41.16 36.28 0 72.99-31.36 72.99-70.56zm132.29 69.58h-2v33.32h-43.12v-350.85H2303v110.75l-2 33.32h2c13.72-22 43.61-41.16 81.83-41.16 60.76 0 114.17 54.39 114.17 127.89s-53.41 127.89-114.17 127.89c-38.26 0-68.15-19.11-81.83-41.16zm150.92-86.73c0-53.9-36.26-86.73-76.44-86.73s-76.44 31.85-76.44 86.73 36.26 86.73 76.44 86.73 76.4-32.83 76.4-86.73zm69.92-202.87a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1h45.08v240.1zm93.1 0v-350.85h45.08v350.85zm83.75-322.92a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1h45.08v240.1zm133.31-14.7c-13.23-12.74-19.6-28.91-19.6-52.43v-131.81h-42.14v-41.16H2833v-73.51h45.08v73.51h58.8v41.16h-58.8v119.56c0 12.74 2 23.52 7.35 30.38s14.21 10.78 21.56 10.78c10.78 0 14.7-1.47 21.56-4.41l14.21 40.18c-12.25 4.41-23.52 6.37-41.16 6.37-20.6 0-37.71-7.84-48.98-18.62zm142.63 120.54l55.86-121-99-224.91h49l71.54 172.48h1l69.58-172.48h49l-150.43 345.91zM3382.34 1244v111.24h144.06v42.14h-144.06v111.23h159.74v43.12h-204.82v-350.81h204.82V1244zm241.41 101h2c12.74-22 43.13-41.16 76-41.16 61.25 0 91.63 37.73 91.63 97v150.92h-45.08v-144.05c0-50-25-62.72-59.29-62.72-39.2 0-63.22 37.24-63.22 74v132.79h-45.08v-240.1h43.12zm210.06 250.38l42.63-17.64c9.31 26.46 33.81 46.55 67.62 46.55 50 0 77.92-32.34 77.92-82.81v-23h-2c-14.7 22-43.61 41.16-81.83 41.16-61.26 0-114.18-54.39-114.18-127.89s52.92-127.89 114.18-127.89c38.22 0 67.13 19.11 81.83 41.16h2v-33.32h43.12v229.81c0 84.28-54.88 124-121 124-64.72-.06-99.51-39.75-110.29-70.13zM4022 1431.72c0-54.88-36.26-86.73-76.45-86.73s-76.44 32.83-76.44 86.73 36.26 86.73 76.44 86.73 76.45-31.85 76.45-86.73zm82.63-202.87a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1H4159v240.1zM4250.45 1345h2c12.74-22 43.12-41.16 75.95-41.16 61.25 0 91.63 37.73 91.63 97v150.92h-45.08v-144.05c0-50-25-62.72-59.29-62.72-39.2 0-63.21 37.24-63.21 74v132.79h-45.08v-240.1h43.12zm201.19 86.72c0-69.58 45.57-127.89 118.58-127.89 71.54 0 116.62 50.47 116.62 127.89 0 3.43-.49 8.33-.49 8.33H4497.7c1.47 53.9 43.12 78.4 77.42 78.4 33.32 0 53.9-19.11 67.62-43.12l40.18 19.6c-18.62 35.28-55.86 64.68-109.76 64.68-70.56 0-121.52-53.9-121.52-127.89zm117.6-86.73c-34.79 0-60.76 23.52-68.11 57.82h137.69c-1.47-21.07-16.66-57.81-69.58-57.81zm137.49 86.73c0-69.58 45.57-127.89 118.58-127.89 71.54 0 116.62 50.47 116.62 127.89 0 3.43-.49 8.33-.49 8.33h-188.65c1.47 53.9 43.12 78.4 77.42 78.4 33.32 0 53.9-19.11 67.62-43.12l40.18 19.6c-18.62 35.28-55.86 64.68-109.76 64.68-70.56 0-121.52-53.9-121.52-127.89zm117.6-86.73c-34.79 0-60.76 23.52-68.11 57.82h137.69c-1.47-21.07-16.66-57.81-69.58-57.81zm151.02 206.78v-240.1h43.12v39.2h2c9.8-27.44 45.08-46.06 70.07-46.06 14.7 0 24.5 2 33.32 5.88l-13.72 43.61c-6.86-2.45-15.19-3.43-26.46-3.43-33.81 0-63.21 31.85-63.21 68.6v132.3zm161.45-322.92a31.85 31.85 0 1131.85 31.85 31.79 31.79 0 01-31.85-31.85zm9.31 322.92v-240.1h45.08v240.1zm136.5-206.77h2c12.74-22 43.12-41.16 76-41.16 61.26 0 91.64 37.73 91.64 97v150.92h-45.08v-144.05c0-50-25-62.72-59.3-62.72-39.2 0-63.21 37.24-63.21 74v132.79h-45.08v-240.1h43.12zm210.06 250.38l42.63-17.64c9.31 26.46 33.81 46.55 67.62 46.55 50 0 77.92-32.34 77.92-82.81v-23h-2c-14.7 22-43.61 41.16-81.84 41.16-61.25 0-114.17-54.39-114.17-127.89s52.92-127.89 114.17-127.89c38.23 0 67.14 19.11 81.84 41.16h2v-33.32H5724v229.81c0 84.28-54.89 124-121 124-64.76-.06-99.55-39.75-110.33-70.13zm188.17-163.66c0-54.88-36.27-86.73-76.45-86.73s-76.44 32.83-76.44 86.73 36.26 86.73 76.44 86.73 76.45-31.85 76.45-86.73z" fill="#5f6368"/><path fill="#ea4335" d="M3068.91 231.58l-98.04 56.61V403.2l-101.96 59.75V346.62l-98.05 57.5v.01l137.26 356.86 160.79-184.32 39.21-172.54-39.21-172.55z"/><path fill="#fbbc04" d="M3068.91 231.58l98.03 56.61V403.2l101.97 59.75V346.62l98.03 57.5v.01l-137.25 356.86-160.78-184.32V231.58z"/><path d="M3068.9 576.67l-98-57.51v115l-102-57.51V463l-98-58.82v317.87a47.06 47.06 0 0023.52 40.76l251 145.38a47 47 0 0023.52 6.3l58.83-184.87z" fill="#4285f4"/><path d="M3068.9 576.67l98-57.51v115l102-57.51V463l98-58.82v317.87a47.06 47.06 0 01-23.53 40.76l-251 145.38a47 47 0 01-23.53 6.3z" fill="#34a853"/></svg>
\ No newline at end of file