1540 lines
143 KiB
HTML
1540 lines
143 KiB
HTML
<!DOCTYPE html><!-- Last Published: Fri Sep 11 2026 21:27:06 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.gremlin.com" data-wf-page="65a84319e1dd4b961519ea2e" data-wf-site="64a5291e7847ac04fe1531ad" lang="en-US" data-wf-collection="65a84319e1dd4b961519ead1" data-wf-item-slug="how-much-money-do-sres-make"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>How much money do SREs make?</title><meta content="Site Reliability Engineering teams hire the brightest and best they can find and compensate them accordingly; here we describe packages from base to senior that SREs are earning today." name="description"/><meta content="How much money do SREs make?" property="og:title"/><meta content="Site Reliability Engineering teams hire the brightest and best they can find and compensate them accordingly; here we describe packages from base to senior that SREs are earning today." property="og:description"/><meta content="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654cf33aa900ab35d12c9ce9_money-og.png" property="og:image"/><meta content="How much money do SREs make?" name="twitter:title"/><meta content="Site Reliability Engineering teams hire the brightest and best they can find and compensate them accordingly; here we describe packages from base to senior that SREs are earning today." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654cf33aa900ab35d12c9ce9_money-og.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="3TY0J0C2xRyc5irMQjPr7cO903_hqKgVYAyJ9pi5PAw" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/css/gremlin-x-flowninja.shared.605da2fb7.min.css" rel="stylesheet" type="text/css" integrity="sha384-YF2i+3NVYOnga+HMpSRnDJEb+l4tViwBm/Mxmd9FLRuWx6KE19Y1BulBmfXeVH9m" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Inconsolata:400,700","PT Sans:400,400italic,700,700italic","Inter:100,200,300,400,500,600,700,800,900","Merriweather Sans:300,400,500,600,700"] }});</script><script src="https://use.typekit.net/fue3lxw.js" type="text/javascript"></script><script type="text/javascript">try{Typekit.load();}catch(e){}</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c629e5960bd06ad35_Gremlin-Favicon.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c629e5960bd06ad35_Gremlin-Favicon.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c8a07d15517714ef1_Gremlin-Favicon.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c30848854c24efc6e_Gremlin-Favicon.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c6dd1f7a54e8b58c3_Gremlin-Favicon.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a315e8c104c9aec66dc48e9_Gremlin-Favicon.png" rel="icon" type="image/png" sizes="512x512"/><link href="https://www.gremlin.com/site-reliability-engineering/how-much-money-do-sres-make" rel="canonical"/><script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push.apply(w[g],Array.isArray(i)?i:[i]);})(window,['G-NZ4G1TPB4T'],'google_tags_first_party');</script><script async="" src="/haqt6iy0yx2eNjRhNTI5MWU3ODQ3YWMwNGZlMTUzMWFk/36riEIY-B4IyzlmLxr3ke3O1gaE"></script><script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('set', 'developer_id.dYWYxNW', true);gtag('js', new Date());gtag('config', 'G-NZ4G1TPB4T');</script><script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Organization",
|
||
"url": "https://www.gremlin.com/",
|
||
"logo": "https://res.cloudinary.com/gremlin/image/upload/v1667411425/AWS%20re:Invent%20GameDay%202022/Gremlin-Logo-Primary_2x.png",
|
||
"image": "https://res.cloudinary.com/gremlin/image/upload/v1667411425/AWS%20re:Invent%20GameDay%202022/Gremlin-Logo-Primary_2x.png",
|
||
"name": "Gremlin",
|
||
"description": "Gremlin helps engineering teams proactively manage reliability at scale.",
|
||
"email": "hello@gremlin.com",
|
||
"telephone": "+1-408-214-9885",
|
||
"address": {
|
||
"@type": "PostalAddress",
|
||
"streetAddress": "440 N Barranca Ave #3101",
|
||
"addressLocality": "Covina",
|
||
"addressCountry": "US",
|
||
"addressRegion": "CA",
|
||
"postalCode": "91723"
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<!-- Algolia -->
|
||
<script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script>
|
||
<script async src="https://cdn.jsdelivr.net/npm/preact/dist/preact.min.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.24.0/dist/algoliasearch-lite.umd.js" integrity="sha256-b2n6oSgG4C1stMT/yc/ChGszs9EY/Mhs6oltEjQbFCQ=" crossorigin="anonymous"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@4.78.0/dist/instantsearch.production.min.js" integrity="sha256-TgmjIYtuCzPUUGlHWyK8k1xVPlvPHUAGU7gLz8jwIi0=" crossorigin="anonymous"></script>
|
||
|
||
<script>
|
||
const appId = 'TQAWOMSD2N';
|
||
const apiKey = '519937be570c720e9d09591cee9d20bf';
|
||
const searchClient = algoliasearch(appId, apiKey);
|
||
const indexName = (indexNames = 'webflow');
|
||
</script>
|
||
<!-- End Algolia -->
|
||
|
||
<!-- Finsweet modules -->
|
||
<script defer type="module" src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js" fs-socialshare fs-toc fs-list fs-queryparam></script>
|
||
<script defer src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-richtext@1/richtext.js"></script>
|
||
|
||
<!-- Global CSS Styles -->
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/themes/prism-tomorrow.min.css" integrity="sha512-vswe+cgvic/XBoF1OcM/TeJ2FW0OofqAVdCZiEYkd6dwGXthvkSFWOoGGJgS2CW70VK5dQM5Oh+7ne47s74VTg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||
|
||
<style>
|
||
/* Fixing Font Weight for Browsers */
|
||
body {
|
||
-webkit-font-smoothing: antialiased;
|
||
-moz-osx-font-smoothing: grayscale;
|
||
}
|
||
|
||
/* Brand cards on gremlin.com/kit */
|
||
.brand-asset {
|
||
box-shadow: 0 15px 35px -15px rgba(47, 34, 86, 0.1);
|
||
}
|
||
|
||
/* Blog cards */
|
||
.blog-description {
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 5;
|
||
line-clamp: 5;
|
||
-webkit-box-orient: vertical;
|
||
overflow: hidden;
|
||
}
|
||
|
||
/* Style Navattic popups */
|
||
.navattic-popup {
|
||
background: none;
|
||
background-color: transparent;
|
||
color: transparent;
|
||
border: none;
|
||
padding: 0;
|
||
}
|
||
|
||
/* Misc styles */
|
||
.comma-list .comma-item:last-child .comma {
|
||
display: none;
|
||
}
|
||
|
||
.hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/* tables */
|
||
table {
|
||
font-weight: 400;
|
||
font-size: 18px;
|
||
line-height: 1.4;
|
||
border: 1px solid #6633cc;
|
||
width: 100%;
|
||
overflow-x: auto;
|
||
border-radius: 4px;
|
||
box-shadow: 0 3px 8px -1px rgba(47, 34, 86, 0.1);
|
||
display: block;
|
||
table-layout: fixed;
|
||
max-width: max-content;
|
||
}
|
||
|
||
table code {
|
||
padding-top: 2px;
|
||
padding-right: 4px;
|
||
padding-bottom: 2px;
|
||
padding-left: 4px;
|
||
background-color: #f8f8f8;
|
||
color: var(--pink);
|
||
}
|
||
|
||
thead {
|
||
background-color: #ccc0fd;
|
||
display: table-header-group;
|
||
}
|
||
|
||
th {
|
||
font-weight: 600;
|
||
font-size: 14px;
|
||
line-height: 1.2;
|
||
text-align: left;
|
||
background-color: #ccc0fd;
|
||
border-bottom: 1px solid #6633cc;
|
||
}
|
||
|
||
th,
|
||
td {
|
||
padding: 12px;
|
||
vertical-align: top;
|
||
}
|
||
tr:not(:first-of-type) {
|
||
border-top: 1px solid #6633cc;
|
||
}
|
||
tr:nth-child(odd) {
|
||
background-color: #fafafa;
|
||
}
|
||
tr:nth-child(even) {
|
||
background-color: #ffffff;
|
||
}
|
||
|
||
/* Navigation buttons */
|
||
.fs_prevnext_empty {
|
||
flex-direction: column;
|
||
align-items: flex-start;
|
||
display: flex;
|
||
pointer-events: none;
|
||
|
||
[fs-cmsprevnext-element='next'] .hover-name.previous,
|
||
[fs-cmsprevnext-element='previous'] .hover-name.next {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
/* Inline code */
|
||
|
||
pre {
|
||
position: relative;
|
||
counter-reset: linenumber;
|
||
}
|
||
|
||
pre:not(.w-code-block) {
|
||
padding-left: 3.5rem !important;
|
||
}
|
||
|
||
pre > code {
|
||
position: relative;
|
||
}
|
||
|
||
pre .line-numbers-rows {
|
||
position: absolute;
|
||
pointer-events: none;
|
||
top: 0;
|
||
font-size: 100%;
|
||
left: -3.8em;
|
||
width: 3em; /* works for line-numbers below 1000 lines */
|
||
letter-spacing: -1px;
|
||
border-right: 1px solid #999;
|
||
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.token-function {
|
||
color: red !important;
|
||
}
|
||
|
||
.line-numbers-rows > span {
|
||
pointer-events: none;
|
||
display: block;
|
||
counter-increment: linenumber;
|
||
}
|
||
|
||
.line-numbers-rows > span:before {
|
||
content: counter(linenumber);
|
||
color: #999;
|
||
display: block;
|
||
padding-right: 0.8em;
|
||
text-align: right;
|
||
}
|
||
|
||
/* Chaos Monkey microsite */
|
||
/* This removes all list styling, including numbers */
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol {
|
||
list-style-type: none;
|
||
position: relative;
|
||
margin-top: 0.2rem;
|
||
}
|
||
|
||
/* This forces the step counter below to start incrementing */
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol li {
|
||
margin-left: 0.5rem;
|
||
padding: 4px 0px 4px 0px;
|
||
counter-increment: step-counter;
|
||
font-size: 1.125rem;
|
||
margin-bottom: 0.5rem;
|
||
line-height: 1.3em;
|
||
}
|
||
|
||
.docs-rich-text ol li {
|
||
margin-left: 2.5rem;
|
||
}
|
||
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol ol {
|
||
counter-reset: step-counter 0; /* Reset the counter for nested ordered lists */
|
||
}
|
||
|
||
.docs-rich-text ol ol {
|
||
margin-top: 0.75rem;
|
||
}
|
||
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol ul {
|
||
counter-reset: step-counter 0; /* Reset the counter for nested ordered lists */
|
||
}
|
||
|
||
.docs-rich-text ol ul {
|
||
margin-top: 0.75rem;
|
||
}
|
||
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol.reset-counter {
|
||
counter-reset: step-counter 0; /* Reset the counter for nested ordered lists */
|
||
}
|
||
|
||
/* This adds a step counter before each list item in a numbered list. Also includes styling for the numbers */
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ol li::before {
|
||
content: counter(step-counter);
|
||
position: absolute;
|
||
left: 0;
|
||
width: 28px;
|
||
height: 28px;
|
||
font-size: 12px;
|
||
color: white;
|
||
font-weight: 500;
|
||
background-color: #63c;
|
||
border-radius: 99px;
|
||
text-align: center;
|
||
line-height: 28px;
|
||
}
|
||
|
||
/* This removes all list styling, including numbers */
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ul {
|
||
list-style-type: none;
|
||
position: relative;
|
||
margin-top: 0.2rem;
|
||
}
|
||
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ul li {
|
||
padding: 4px 0px 4px 0px;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
.docs-rich-text ul li {
|
||
margin-left: 2rem;
|
||
}
|
||
|
||
/* This adds a step counter before each list item in a numbered list. Also includes styling for the numbers */
|
||
:is(.chaos-monkey-post-rich-text, .docs-rich-text, .w-richtext) ul li::before {
|
||
display: inline-block;
|
||
content: url('https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6924dbfee26732cfc86aa648_Ellipse-filled.svg');
|
||
position: absolute;
|
||
left: 0;
|
||
width: 8px;
|
||
height: 8px;
|
||
}
|
||
|
||
.native-list-bullets ul {
|
||
list-style-type: disc !important;
|
||
}
|
||
|
||
.native-list-bullets ol {
|
||
list-style-type: decimal !important;
|
||
}
|
||
|
||
.native-list-bullets li::before {
|
||
content: none !important;
|
||
}
|
||
|
||
.native-list-bullets li::marker {
|
||
color: currentColor;
|
||
}
|
||
</style>
|
||
|
||
<!-- Prism.js for code formatting -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/prism.min.js" integrity="sha512-HiD3V4nv8fcjtouznjT9TqDNDm1EXngV331YGbfVGeKUoH+OLkRTCMzA34ecjlgSQZpdHZupdSrqHY+Hz3l6uQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/autoloader/prism-autoloader.min.js" integrity="sha512-SkmBfuA2hqjzEVpmnMt/LINrjop3GKWqsuLSSB3e7iBmYK7JuWw4ldmmxwD9mdm2IRTTi0OxSAfEGvgEi0i2Kw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/components/prism-markup-templating.min.js" integrity="sha512-+8BiRfWso6waiFDv6tEmWF8yfPGgxAtOYLDUB0rRISLwtpxkJ9lpPNUhxwWlikn3qSO+4RQyzDppi62o3ON/AA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||
<!-- Prism customizations -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/normalize-whitespace/prism-normalize-whitespace.min.js" integrity="sha512-Kit4oPSAREacS6LEF4LGcL6MMlG3O1GqRFDGSX1Vg4JrozGU7hHoMKFkiMWevWq/xmNq8pzMhO2PcZCPHe/gmQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/unescaped-markup/prism-unescaped-markup.min.css" integrity="sha512-g33HCZ23fueSK96JEeoy9DelAlu7Ry5mtxqLk+zlEiPj7NIpFI6T9mybOvQxjBN50FALFDCviMXiLqWJcFwzaA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/unescaped-markup/prism-unescaped-markup.min.js" integrity="sha512-QaQkFkE1LvUW6IaC7zLY4EsrNHuMWwepQv2RWyg4q/3+KI7K2WwtNEe6IPuYE7ZWkNxdKEnLJRuyuSnvbTUB3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||
<script>
|
||
((Prism.languages.bash = Prism.languages.extend('clike', {
|
||
comment: { pattern: /(^|[^"{\\])(#.*?(\r?\n|$))/, lookbehind: !0 },
|
||
string: {
|
||
pattern: /("|')(\\?[\s\S])*?\1/,
|
||
inside: { property: /\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^\}]+\})/ },
|
||
},
|
||
number: {
|
||
pattern: /([^\w\.])-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,
|
||
lookbehind: !0,
|
||
},
|
||
function: /\b(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|declare|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|echo|egrep|eject|enable|env|ethtool|eval|exec|exit|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|select|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|until|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)\b/,
|
||
keyword: /\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/,
|
||
})),
|
||
(Prism.languages.shell = Prism.languages.bash));
|
||
(Prism.languages.insertBefore('bash', 'keyword', {
|
||
property: /\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^}]+\})/,
|
||
}),
|
||
Prism.languages.insertBefore('bash', 'comment', {
|
||
important: /(^#!\s*\/bin\/bash)|(^#!\s*\/bin\/sh)/,
|
||
}));
|
||
Prism.languages.json = {
|
||
property: {
|
||
pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
|
||
lookbehind: true,
|
||
greedy: true,
|
||
},
|
||
string: {
|
||
pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
|
||
lookbehind: true,
|
||
greedy: true,
|
||
},
|
||
comment: {
|
||
pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
|
||
greedy: true,
|
||
},
|
||
number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
|
||
punctuation: /[{}[\],]/,
|
||
operator: /:/,
|
||
boolean: /\b(?:false|true)\b/,
|
||
null: {
|
||
pattern: /\bnull\b/,
|
||
alias: 'keyword',
|
||
},
|
||
};
|
||
Prism.languages.webmanifest = Prism.languages.json;
|
||
|
||
Prism.hooks.add('after-highlight', function (e) {
|
||
var t = e.element.parentNode;
|
||
|
||
// Check if this is an XML block. If so, un-escape escaped characters
|
||
var eCls = e.element.classList;
|
||
if (e.element.nodeName.toLowerCase() === 'code' && (eCls.contains('language-xml') || eCls.contains('language-markup'))) {
|
||
e.element.textContent = e.element.textContent
|
||
.replace('<', '<')
|
||
.replace('>', '>')
|
||
.replace('"', '"')
|
||
.replace(''', '\'')
|
||
.replace('&', '&')
|
||
}
|
||
|
||
// Check if the parent is a <pre> element and not a Webflow code element
|
||
if (t && t.nodeName.toLowerCase() === 'pre' && !t.className.toLowerCase().includes('w-code-block')) {
|
||
var a,
|
||
n = 1 + e.code.split('\n').length, // Remove the "+ 1" here
|
||
l = new Array(n);
|
||
l = l.join('<span></span>');
|
||
a = document.createElement('span');
|
||
a.className = 'line-numbers-rows';
|
||
a.innerHTML = l;
|
||
t.hasAttribute('data-start') && (t.style.counterReset = 'linenumber ' + (parseInt(t.getAttribute('data-start'), 10) - 1));
|
||
e.element.appendChild(a);
|
||
}
|
||
});
|
||
|
||
/* Add event listener for copying code */
|
||
document.addEventListener('DOMContentLoaded', function () {
|
||
// Get all elements with the class "copy-icon"
|
||
var copyIcons = document.querySelectorAll('.copy-icon');
|
||
|
||
copyIcons.forEach(function (copyIcon) {
|
||
var copyFeedback = document.createElement('span');
|
||
copyFeedback.className = 'copy-feedback';
|
||
copyFeedback.innerText = 'Copied!';
|
||
|
||
copyIcon.appendChild(copyFeedback);
|
||
|
||
copyIcon.addEventListener('click', function () {
|
||
var parentWrapper = copyIcon.closest('.code-higlight-wrapper');
|
||
|
||
if (!parentWrapper) {
|
||
console.error('Parent wrapper not found');
|
||
return;
|
||
}
|
||
|
||
var codeElement = parentWrapper.querySelector('code[class*="language-"]');
|
||
|
||
if (!codeElement) {
|
||
console.error('Code element not found');
|
||
return;
|
||
}
|
||
|
||
var textToCopy = codeElement.innerText || codeElement.textContent;
|
||
|
||
var tempTextarea = document.createElement('textarea');
|
||
tempTextarea.value = textToCopy;
|
||
|
||
document.body.appendChild(tempTextarea);
|
||
|
||
tempTextarea.select();
|
||
tempTextarea.setSelectionRange(0, 99999);
|
||
|
||
document.execCommand('copy');
|
||
|
||
document.body.removeChild(tempTextarea);
|
||
|
||
copyFeedback.style.opacity = 1;
|
||
|
||
setTimeout(function () {
|
||
copyFeedback.style.opacity = 0;
|
||
}, 1000);
|
||
});
|
||
});
|
||
});
|
||
/* End cody copying code */
|
||
|
||
/* Addtl. event listeners */
|
||
window.addEventListener('hs-form-event:on-submission:success', function (event) {
|
||
var form = HubSpotFormsV4.getFormFromEvent(event);
|
||
window.signals.identify({
|
||
email: form.getFieldValue('0-1/email'),
|
||
});
|
||
});
|
||
</script>
|
||
<style>
|
||
.language-unknown * {
|
||
font-size: 1em !important;
|
||
color: #ccc !important;
|
||
}
|
||
.language-docker * {
|
||
font-size: 1em !important;
|
||
color: #ccc !important;
|
||
}
|
||
.code-highlight-simple {
|
||
padding-left: 0rem !important;
|
||
padding-right: 0rem !important;
|
||
}
|
||
.hover-name {
|
||
pointer-events: none;
|
||
}
|
||
.button-variant-docs:hover ~ .hover-name {
|
||
opacity: 1;
|
||
}
|
||
|
||
.copy-feedback {
|
||
position: absolute;
|
||
font-size: 12px;
|
||
color: #2f2356;
|
||
padding: 0.25rem 0.5rem;
|
||
background-color: white;
|
||
border-radius: 0.5rem;
|
||
left: -34px;
|
||
top: 27px;
|
||
transition: all 0.3s ease;
|
||
opacity: 0;
|
||
z-index: 10;
|
||
}
|
||
|
||
.margin-both-two {
|
||
margin-top: 10px;
|
||
margin-bottom: 10px;
|
||
}
|
||
</style>
|
||
<!-- End Prism.js -->
|
||
|
||
<!-- Format inline code -->
|
||
<style>
|
||
code:not([class*='language-']) {
|
||
color: var(--pink);
|
||
font-family: 'Inconsolata', monospace;
|
||
}
|
||
</style>
|
||
<!-- End inline code -->
|
||
|
||
<!-- Navattic tours -->
|
||
<style>
|
||
.navattic-popup {
|
||
background: none;
|
||
background-color: transparent;
|
||
color: transparent;
|
||
border: none;
|
||
padding: 0;
|
||
}
|
||
.tour-preview {
|
||
border-radius: 40px;
|
||
filter: brightness(70%);
|
||
}
|
||
.tour-button {
|
||
color: #2F2256;
|
||
background-color: #FFFFFF;
|
||
padding: 10px;
|
||
border-radius: 20px;
|
||
border: 1px solid #2F2256;
|
||
font-weight: 600;
|
||
position: absolute;
|
||
top: 45%;
|
||
left: 45%;
|
||
/* transform: translate(-50%, -50%); */
|
||
z-index: 9999;
|
||
transition: all 0.2s ease-in-out;
|
||
}
|
||
|
||
.tour-button:hover {
|
||
transform: scale(1.2);
|
||
};
|
||
</style>
|
||
<!-- End Navattic tours -->
|
||
|
||
<!-- Finsweet Cookie Consent -->
|
||
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-out"></script><script defer src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-richtext@1/richtext.js"></script>
|
||
<!-- [Attributes by Finsweet] Table of Contents -->
|
||
<script defer src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-toc@1/toc.js"></script>
|
||
<!-- [Attributes by Finsweet] CMS PrevNext -->
|
||
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsprevnext@1/cmsprevnext.js"></script>
|
||
|
||
<style>
|
||
.fs_prevnext_empty {
|
||
flex-direction: column;
|
||
align-items: flex-start;
|
||
display: flex;
|
||
pointer-events: none;
|
||
</style>
|
||
|
||
<style>
|
||
/* This removes all list styling, including numbers */
|
||
.blog-rich-text-reliability ol {
|
||
list-style-type: none;
|
||
position: relative;
|
||
}
|
||
|
||
/* This forces the step counter below to start incrementing */
|
||
.blog-rich-text-reliability ol li {
|
||
counter-increment: step-counter;
|
||
margin-left: 40px;
|
||
padding-bottom: 16px;
|
||
padding-top: 4px;
|
||
}
|
||
|
||
/* This adds a step counter before each list item in a numbered list. Also includes styling for the numbers */
|
||
.blog-rich-text-reliability ol li::before {
|
||
content: counter(step-counter);
|
||
position: absolute;
|
||
left: 0;
|
||
width: 28px;
|
||
height: 28px;
|
||
font-size: 12px;
|
||
color: white;
|
||
font-weight: 500;
|
||
background-color: #6633CC;
|
||
border-radius: 99px;
|
||
text-align: center;
|
||
line-height: 28px;
|
||
}
|
||
</style>
|
||
|
||
|
||
<style>
|
||
/* This removes all list styling, including numbers */
|
||
.blog-rich-text-reliability ul {
|
||
list-style-type: none;
|
||
position: relative;
|
||
}
|
||
|
||
/* This forces the step counter below to start incrementing */
|
||
.blog-rich-text-reliability ul li {
|
||
margin-left: 24px;
|
||
}
|
||
|
||
/* This adds a step counter before each list item in a numbered list. Also includes styling for the numbers */
|
||
.blog-rich-text-reliability ul li::before {
|
||
display: inline-block;
|
||
content: url('https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64ff1347b5fa37c0eb12ec7e_Ellipse%2015.svg');
|
||
position: absolute;
|
||
left: 0;
|
||
width: 8px;
|
||
height: 8px;
|
||
}
|
||
</style>
|
||
<style>
|
||
/* Remove default list styling for unordered list */
|
||
.reliability-list ul {
|
||
list-style-type: none;
|
||
position: relative;
|
||
}
|
||
|
||
/* Adjust margin for list items and add custom bullet point */
|
||
.reliability-list ul li {
|
||
margin-left: 24px;
|
||
}
|
||
|
||
/* Add a custom bullet point before each list item */
|
||
.reliability-list ul li::before {
|
||
display: inline-block;
|
||
content: url('https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64ff1347b5fa37c0eb12ec7e_Ellipse%2015.svg');
|
||
position: absolute;
|
||
left: 0;
|
||
width: 8px;
|
||
height: 8px;
|
||
}
|
||
</style>
|
||
|
||
<!-- [Attributes by Finsweet] Powerful Rich Text -->
|
||
<style>
|
||
[fs-cmsprevnext-element="next"] .hover-name.previous,
|
||
[fs-cmsprevnext-element="previous"] .hover-name.next {
|
||
display: none;
|
||
}
|
||
</style>
|
||
|
||
<style>
|
||
.hover-name {
|
||
pointer-events: none;
|
||
}
|
||
.button-variant-docs:hover ~ .hover-name {
|
||
opacity: 1;
|
||
}
|
||
</style>
|
||
|
||
<style>
|
||
/* This styles tables */
|
||
table {
|
||
font-weight: 400;
|
||
font-size: 18px;
|
||
line-height: 1.4;
|
||
border: 1px solid #6633CC;
|
||
width: 100%;
|
||
overflow-x: auto;
|
||
border-radius: 4px;
|
||
box-shadow: 0 3px 8px -1px rgba(47, 34, 86, 0.1);
|
||
display: block;
|
||
table-layout: fixed;
|
||
max-width: max-content;
|
||
}
|
||
|
||
thead {
|
||
background-color: #f8f8f8;
|
||
display: table-header-group;
|
||
}
|
||
|
||
th {
|
||
font-weight: 600;
|
||
font-size: 14px;
|
||
line-height: 1.2;
|
||
text-align: left;
|
||
}
|
||
|
||
th, td {
|
||
padding: 12px;
|
||
vertical-align: top;
|
||
}
|
||
tr:not(:first-of-type) {
|
||
border-top: 1px solid #6633CC;
|
||
}
|
||
/* pre {
|
||
padding: 0 !important;
|
||
padding-left: 1rem !Important;
|
||
margin: 0 !important;
|
||
}
|
||
|
||
pre code.hljs {
|
||
margin: 0 !Important;
|
||
padding: 0 !Important;
|
||
} */
|
||
</style>
|
||
|
||
<style>
|
||
.copy-feedback {
|
||
position: absolute;
|
||
font-size: 12px;
|
||
color: #2f2356;
|
||
padding: 0.25rem 0.5rem;
|
||
background-color: white;
|
||
border-radius: 0.5rem;
|
||
left: -34px;
|
||
top: 27px;
|
||
transition: all 0.3s ease;
|
||
opacity: 0;
|
||
}
|
||
</style><script src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad%2F6544eda5f000985a163a8687%2F69c496533c06033214e943aa%2Ffinsweetcomponentsconfig-1.0.1.js" type="module" async="" siteId="64a5291e7847ac04fe1531ad" finsweet="components"></script><script src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad%2F66ba5a08efe71070f98dd10a%2F66ed9e169fc0a24dfe528dc8%2Fmrkz93t-1.1.1.js" type="text/javascript"></script></head><body><div data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9bfef" data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="nav-updated v2 w-nav"><div class="nav-container-wrap"><div class="nav-container-updated v2"><a href="/" class="nav-brand-updated w-nav-brand"><div class="nav-logo-updated w-embed"><svg width="auto" height="100%" viewBox="0 0 113 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<g clip-path="url(#clip0_789_7)">
|
||
<path d="M21.474 6.5602L17.4082 9.1514C17.2289 8.9226 17.068 8.7386 16.9303 8.5394C15.3632 6.2602 13.1718 5.2842 10.4594 5.8122C7.69812 6.3498 5.93491 8.1066 5.23779 10.7962C4.46304 13.7906 5.70681 16.905 8.22876 18.5058C10.1857 19.7482 12.2778 19.8546 14.406 19.0682C15.9075 18.513 16.8495 17.3906 17.401 15.7298H12.1426V11.6626H22.6122C22.8274 13.1874 22.7162 14.6674 22.344 16.1242C21.005 21.3746 16.2941 24.5898 10.7195 24.0794C5.42908 23.5946 1.19514 19.7906 0.207489 14.6314C-1.16274 7.4826 4.63512 0.7962 12.0033 1.0202C15.6882 1.1322 18.6391 2.6258 20.8409 5.5498C21.0618 5.8434 21.2331 6.1738 21.4732 6.561L21.474 6.5602ZM78.3937 23.6746H73.7908C73.7708 23.3138 73.7372 22.9834 73.7372 22.653C73.7324 20.1522 73.7404 17.6506 73.7292 15.1498C73.7268 14.7162 73.7019 14.2706 73.6003 13.8514C73.3138 12.6698 72.4878 11.9954 71.3321 11.937C70.1179 11.8754 69.1174 12.4546 68.7373 13.5738C68.5308 14.1834 68.4363 14.8554 68.4251 15.5018C68.3867 17.8458 68.4043 20.1898 68.4011 22.5338V23.6394H63.7414C63.7246 23.3122 63.6934 22.9818 63.6918 22.6514C63.6878 20.1506 63.6966 17.649 63.6814 15.1482C63.679 14.6842 63.6429 14.2066 63.5229 13.7602C63.2163 12.6162 62.424 11.9986 61.2835 11.9386C60.1133 11.8762 59.1025 12.4226 58.7247 13.4882C58.4902 14.1522 58.3885 14.8882 58.3749 15.5962C58.3309 17.9082 58.3541 20.2226 58.3509 22.5354V23.6394H53.72V8.2258H58.2781L58.4237 9.8162C59.79 8.4298 61.2651 7.7154 63.0803 7.7618C64.9131 7.8082 66.373 8.5298 67.5007 10.0418C67.9457 9.7018 68.3411 9.405 68.7301 9.1026C70.3908 7.8146 72.2885 7.513 74.2942 7.9226C76.8034 8.4354 78.3897 10.4402 78.4329 13.1698C78.4865 16.4826 78.4545 19.797 78.4561 23.1106C78.4561 23.2634 78.4233 23.4162 78.3937 23.6746ZM42.9014 20.041C41.5648 19.625 40.8269 18.6306 40.3987 17.2042H52.1297C52.028 16.0898 52.032 15.1194 51.8399 14.1882C50.681 8.5802 45.9052 6.8386 41.5616 8.1866C38.2105 9.2266 35.9967 12.3962 35.9927 15.9938C35.9887 19.4362 38.2121 22.4914 41.5384 23.6178C45.0496 24.8074 48.8442 23.725 50.9939 20.9138C51.138 20.7266 51.2405 20.509 51.3885 20.2618L48.099 18.0242C46.808 20.0026 45.088 20.721 42.9014 20.0402V20.041ZM44.1596 11.5394C45.9476 11.5258 47.1722 12.4722 47.4723 14.1674H40.7356C40.9742 12.6634 42.4372 11.553 44.1596 11.5394ZM111.98 23.6618H107.398C107.379 23.3394 107.343 23.0114 107.342 22.6842C107.337 20.1858 107.342 17.6874 107.336 15.1882C107.335 14.8154 107.329 14.4346 107.257 14.0714C107.006 12.825 106.222 12.085 105.052 11.9474C103.74 11.7922 102.6 12.365 102.131 13.5394C101.906 14.1026 101.803 14.7474 101.794 15.3562C101.756 17.7602 101.778 20.1658 101.778 22.5706V23.6498H97.1303V8.2234H101.7L101.84 9.7354C102.168 9.4818 102.409 9.3042 102.639 9.1146C104.434 7.6314 106.472 7.4146 108.61 8.1202C110.739 8.8226 112.021 10.7738 112.042 13.2338C112.07 16.4818 112.051 19.7298 112.048 22.9778C112.048 23.189 112.007 23.3994 111.98 23.6618ZM81.592 1.4922H86.1685V23.6626H81.592V1.493V1.4922ZM24.8036 23.6242V8.2002C26.3138 8.0898 27.8065 8.1378 29.3777 8.1826V23.553C28.7494 23.7562 26.205 23.8082 24.8036 23.6242ZM89.3587 23.6602V8.2202H93.9368V23.6602H89.3587ZM94.4434 3.825C94.4298 5.3962 93.1709 6.605 91.5821 6.5746C90.0454 6.545 88.8153 5.321 88.8041 3.8098C88.7921 2.2714 90.0718 1.0106 91.6438 1.0138C93.2341 1.0162 94.4578 2.245 94.4434 3.825ZM33.3299 7.7802C34.9138 7.789 36.1343 9.009 36.1263 10.5746C36.1243 10.9432 36.0491 11.3078 35.9053 11.6472C35.7615 11.9866 35.5518 12.2942 35.2883 12.5522C35.0249 12.8102 34.7129 13.0134 34.3705 13.1502C34.028 13.2869 33.6618 13.3545 33.293 13.349C31.7379 13.337 30.4734 12.0722 30.4838 10.5378C30.4942 8.9962 31.7579 7.7706 33.3299 7.7802Z" fill="currentColor"/>
|
||
</g>
|
||
<defs>
|
||
<clipPath id="clip0_789_7">
|
||
<rect width="112.062" height="24" fill="white" transform="translate(0 0.5)"/>
|
||
</clipPath>
|
||
</defs>
|
||
</svg></div></a><nav role="navigation" class="nav-menu-mask-updated w-nav-menu"><div class="nav-menu-mask-inner"><div class="menu-wrap-left"><div data-hover="false" data-delay="0" class="nav-dropdown-updated w-dropdown"><div class="nav-dropdown-toggle-updated w-dropdown-toggle"><div>Solutions</div><div class="dropdown-arrow-wrap"><div class="dropdown-arrow w-embed"><svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M1 3L4 6L7 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
||
</svg></div></div></div><nav class="nav-dropdown-list-updated w-dropdown-list"><div class="nav-dropdown-list-inner"><div class="nav-list-cta"><div class="column gap-8px"><div class="nav-list-cta-heading max-custom-copy">Solving reliability in the modern enterprise</div><p class="nav-cta-paragraph">See how Gremlin helps organizations modernize their approach to reliability.</p><a href="/product" class="nav-cta-button top-1rem w-button">PLATFORM OVERVIEW</a></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="collection-item-5 w-dyn-item"><a href="https://www.gremlin.com/webinars/speed-and-resilience-how-to-build-reliability-guardrails-for-ai-driven-development" class="cta-card-link-wrap w-inline-block"><div class="card-base card-small card-shadow card-gradient-soft nav-cta"><div class="div-block-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-0.75 -0.75 20 20" id="Blank-Calendar--Streamline-Core" height="20" width="20"><desc>Blank Calendar Streamline Icon: https://streamlinehq.com</desc><g id="blank-calendar--blank-calendar-date-day-month-empty"><path id="Vector" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M2.642857142857143 3.3035714285714284c-0.3504692857142857 0 -0.6865746428571428 0.13922571428571429 -0.9343953571428572 0.38703321428571424C1.4606542857142855 3.938425357142857 1.3214285714285714 4.2745307142857145 1.3214285714285714 4.625V15.857142857142858c0 0.3504428571428571 0.13922571428571429 0.6866142857142856 0.38703321428571424 0.9343821428571427C1.9562825 17.039292857142858 2.292387857142857 17.178571428571427 2.642857142857143 17.178571428571427h13.214285714285714c0.3504428571428571 0 0.6866142857142856 -0.13927857142857142 0.9343821428571427 -0.38704642857142857S17.178571428571427 16.207585714285713 17.178571428571427 15.857142857142858V4.625c0 -0.3504692857142857 -0.13927857142857142 -0.6865746428571428 -0.38704642857142857 -0.9343953571428572C16.543757142857142 3.442797142857143 16.207585714285713 3.3035714285714284 15.857142857142858 3.3035714285714284H2.642857142857143Z" stroke-width="1.5"></path><path id="Vector_2" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M1.3214285714285714 7.928571428571429h15.857142857142858" stroke-width="1.5"></path><path id="Vector_3" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M4.625 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path><path id="Vector_4" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M13.875 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path></g></svg><div class="cta-calendar">Sep 15, 2026</div></div><div class="card-title nav-bar-title">WEBINAR: How to Build Reliability Guardrails for AI-Driven Development</div><p class="card-body cta w-dyn-bind-empty"></p><div class="card-link">Register Now</div></div></a></div></div></div></div><div class="nav-list-link-wrapper"><div class="nav-link-block-holder"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c05a-70c9bfef" class="nav-link-label"><div>Industry</div></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c05d-70c9bfef" class="solutions-nav-industry-collection w-dyn-list"><div role="list" class="solutions-nav-industry-list w-dyn-items"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c05f-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c060" href="/solutions/saas" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/6642026fcd4cfc1723363b2b_SaaS%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/66420275a1bb6e3828d24921_SaaS%20Hover%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">SaaS</div></div><p class="nav-link-block-paragraph">Improve reliability without slowing down.</p></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c05f-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c060" href="/solutions/finserve" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/66420299af4784af848762fa_Finance%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/6642029e515616c67f9972c7_Finance%20Hover%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Finance</div></div><p class="nav-link-block-paragraph">Modernize resilience practices and manage cloud compliance.</p></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c05f-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c060" href="/solutions/retail" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/664202c6b77f24c4b1e8f28a_Reatil%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/664202ca0f5fc4079134d90c_Retail%20Hover%20Icon.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Retail</div></div><p class="nav-link-block-paragraph">Eliminate revenue-impacting downtime.</p></a></div></div></div></div><div class="nav-link-block-holder"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c06b-70c9bfef" class="nav-link-label"><div>Use Case</div></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c06e-70c9bfef" class="solutions-nav-industry-collection w-dyn-list"><div role="list" class="solutions-nav-industry-list w-dyn-items"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/build-a-reliability-program" class="nav-link-block-updated-variant w-inline-block"><div>Build a Reliability Program</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/it-governance-and-compliance" class="nav-link-block-updated-variant w-inline-block"><div>IT Governance & Compliance</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/shift-left-reliability-testing" class="nav-link-block-updated-variant w-inline-block"><div>Shift-Left Reliability Testing</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/tune-observability" class="nav-link-block-updated-variant w-inline-block"><div>Fine-Tune Monitors & Alerts</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/cloud-migrations" class="nav-link-block-updated-variant w-inline-block"><div>De-Risk Cloud Migrations</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/validate-runbooks-and-dr" class="nav-link-block-updated-variant w-inline-block"><div>Validate Runbooks & DR Plans</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/aws" class="nav-link-block-updated-variant w-inline-block"><div>Resiliency on AWS</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/recreate-incidents-and-outages" class="nav-link-block-updated-variant w-inline-block"><div>Recreate Incidents and Outages</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/find-outages-before-they-happen" class="nav-link-block-updated-variant w-inline-block"><div>Find Outages Before They Happen</div></a></div><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c070-70c9bfef" role="listitem" class="solutions-nav-industry-item w-dyn-item"><a data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c071" href="/solutions/improve-ai-reliability" class="nav-link-block-updated-variant w-inline-block"><div>Improve AI Reliability</div></a></div></div></div></div></div></div><div class="nav-devider-line-bot"></div><div class="nav-devider-line-top"></div></nav></div><div data-hover="false" data-delay="0" class="nav-dropdown-updated w-dropdown"><div class="nav-dropdown-toggle-updated w-dropdown-toggle"><div>Product</div><div class="dropdown-arrow-wrap"><div class="dropdown-arrow w-embed"><svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M1 3L4 6L7 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
||
</svg></div></div></div><nav class="nav-dropdown-list-updated w-dropdown-list"><div class="nav-dropdown-list-inner"><div class="nav-list-cta"><div class="column gap-8px"><div class="nav-list-cta-heading max-custom">The Enterprise Reliability Platform</div><p class="nav-cta-paragraph">See how Gremlin helps organizations modernize their approach to reliability.</p><a href="/product" class="nav-cta-button top-1rem w-button">PLATFORM OVERVIEW</a></div><div class="hide w-embed"><style>
|
||
@media only screen and (min-width: 768px) {
|
||
.nav-list-cta {
|
||
background: radial-gradient(100% 400% at 0% 33.19%, #1F1638 0%, #311173 100%);
|
||
}
|
||
}
|
||
</style></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="collection-item-5 w-dyn-item"><a href="https://www.gremlin.com/webinars/speed-and-resilience-how-to-build-reliability-guardrails-for-ai-driven-development" class="cta-card-link-wrap w-inline-block"><div class="card-base card-small card-shadow card-gradient-soft nav-cta"><div class="div-block-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-0.75 -0.75 20 20" id="Blank-Calendar--Streamline-Core" height="20" width="20"><desc>Blank Calendar Streamline Icon: https://streamlinehq.com</desc><g id="blank-calendar--blank-calendar-date-day-month-empty"><path id="Vector" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M2.642857142857143 3.3035714285714284c-0.3504692857142857 0 -0.6865746428571428 0.13922571428571429 -0.9343953571428572 0.38703321428571424C1.4606542857142855 3.938425357142857 1.3214285714285714 4.2745307142857145 1.3214285714285714 4.625V15.857142857142858c0 0.3504428571428571 0.13922571428571429 0.6866142857142856 0.38703321428571424 0.9343821428571427C1.9562825 17.039292857142858 2.292387857142857 17.178571428571427 2.642857142857143 17.178571428571427h13.214285714285714c0.3504428571428571 0 0.6866142857142856 -0.13927857142857142 0.9343821428571427 -0.38704642857142857S17.178571428571427 16.207585714285713 17.178571428571427 15.857142857142858V4.625c0 -0.3504692857142857 -0.13927857142857142 -0.6865746428571428 -0.38704642857142857 -0.9343953571428572C16.543757142857142 3.442797142857143 16.207585714285713 3.3035714285714284 15.857142857142858 3.3035714285714284H2.642857142857143Z" stroke-width="1.5"></path><path id="Vector_2" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M1.3214285714285714 7.928571428571429h15.857142857142858" stroke-width="1.5"></path><path id="Vector_3" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M4.625 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path><path id="Vector_4" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M13.875 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path></g></svg><div class="cta-calendar">Sep 15, 2026</div></div><div class="card-title nav-bar-title">WEBINAR: How to Build Reliability Guardrails for AI-Driven Development</div><p class="card-body cta w-dyn-bind-empty"></p><div class="card-link">Register Now</div></div></a></div></div></div></div><div class="nav-list-link-wrapper"><div class="nav-link-block-holder size"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c009-70c9bfef" class="nav-link-label"><div>Product</div></div><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c00c-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c00c" href="/product/reliability-management" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661fef557e3b3fdcf81d55fe_Sheet.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/66195ba7ce8e67a898602c2f_Group%205%20(1).png" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Reliability Management</div></div><p class="nav-link-block-paragraph max-custom-desktop">Find and fix reliability risks at enterprise scale.</p></a><a id="w-node-_1f86783c-1863-9d47-ffc6-16cb63221f83-70c9bfef" data-w-id="1f86783c-1863-9d47-ffc6-16cb63221f83" href="/product/foresight" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a60da550591a810dcf4fab9_65a9d1f430f841ac1facbc252849cbfc_icon-foresight-inactive.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6a60da6ce9c99e473db2167a_72c0403ea1257cfe88a01318728d911e_icon-foresight-active.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">NEW: Foresight AI</div></div><p class="nav-link-block-paragraph max-custom-desktop">Build resilience at AI speed across everything you ship and run.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c015-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c015" href="/product/chaos-engineering" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661fef555f2c92051be1ea03_Bottle.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619607b58b636bc4d5bbe54_Group%204%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Chaos Engineering</div></div><p class="nav-link-block-paragraph max-custom-desktop">Build trust in complex systems with safe and secure Chaos Engineering.</p></a></div><div class="nav-link-block-holder size fix"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c01f-70c9bfef" class="nav-link-label"><div>Core Technologies</div></div></div><div class="nav-product-collection w-dyn-list"><div role="list" class="nav-link-block-holder size-copy w-dyn-items"><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/fault-injection" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3d98fcd70a64b68117f3_661fef55af548c793e7d81e1_syring.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3d9bb971690c33b5c90b_6619607cef9ad6800af719ce_syringe%402x%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Fault Injection</div></div><p class="nav-link-block-paragraph max-custom-desktop">Safely and securely test system robustness by injecting failures.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/reliability-scoring" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3e8a2fcb7fb4beeecc64_661fef56a618d30954d52bf9_%5Bicon%5D%20%20Scoring.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3e86a67aa40dcb219ad8_6619607240f5a77804f29ec1_%5Bicon%5D%20Reliability%20Scoring%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Reliability Scoring</div></div><p class="nav-link-block-paragraph max-custom-desktop">Define, measure, and monitor service reliability across the enterprise.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/detected-risks" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3df851b8fb28feef5b6b_661fef5540a826e1844e3647_exclamation.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3dfb7da02da09c8d529f_66196071ce8e67a8986423a2_exclamation-circle%402x%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Detected Risks</div></div><p class="nav-link-block-paragraph max-custom-desktop">Continuously monitor systems for critical reliability risks.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/dependency-discovery" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3f06199615571bb04f94_661fef5579870fd1603efde8_%5Bicon%5D%20.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3f003a925e1d5a3783e6_661960717509e38ef59e24bd_%5Bicon%5D%20Dependency%20Discovery%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Dependency Discovery</div></div><p class="nav-link-block-paragraph max-custom-desktop">Automatically identify and test your system dependencies.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/failure-flags" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3e442359533f0f3a18c9_66a150c719a52270e832d774_%5Bicon%5D%20code-static.avif" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3e4570e6c7b6f37c4dea_66a150d6c101c63481bf1d44_%5Bicon%5D%20code-hover.avif" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Failure Flags</div></div><p class="nav-link-block-paragraph max-custom-desktop">Test the resiliency of applications and serverless functions.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/gremlin-private-edition" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3f39699f42b165b61843_67ab7992db38684d97e1c827_b7358ef14c18faac313fff5d66594939_server%402x.png" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/67be3f3b7245561c49f200a0_67ab79ad3b7564303b4cba33_server%402x-hover.png" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Private Edition</div></div><p class="nav-link-block-paragraph max-custom-desktop">Deploy a private Gremlin instance in your private network.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/reliability-intelligence" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/689259dd49953af6f9524efc_nav-ri-nohover.png" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/689259e0b88ac6941a66065f_nav-ri-hover.png" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Reliability Intelligence</div></div><p class="nav-link-block-paragraph max-custom-desktop">Empower your teams with custom-tailored reliability analyses, recommendations, and insights.</p></a></div><div role="listitem" class="nav-link-collection-item w-dyn-item"><a data-w-id="0a2e360a-35b0-96d4-18f7-4c9082721085" href="/technologies/disaster-recovery-testing" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/6977d6006a9ea4e73c2465e5_nav-drt-nohover.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/6977d602ff60ebb670bece53_nav-drt-hover.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Disaster Recovery Testing</div></div><p class="nav-link-block-paragraph max-custom-desktop">Validate region failover processes, disaster recovery plans, incident response procedures, and more.</p></a></div></div></div></div></div><div class="nav-devider-line-bot"></div><div class="nav-devider-line-top"></div></nav></div><a href="/pricing" class="nav-link-updated w-nav-link">Pricing</a><a href="/customers" class="nav-link-updated w-nav-link">Customers</a><div data-hover="false" data-delay="0" class="nav-dropdown-updated w-dropdown"><div class="nav-dropdown-toggle-updated w-dropdown-toggle"><div>Resources</div><div class="dropdown-arrow-wrap"><div class="dropdown-arrow w-embed"><svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M1 3L4 6L7 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
||
</svg></div></div></div><nav class="nav-dropdown-list-updated w-dropdown-list"><div class="nav-dropdown-list-inner"><div class="nav-list-cta"><div class="column gap-8px"><div class="nav-list-cta-heading max-custom">Looking for something?</div><p class="nav-cta-paragraph">Learn how to build and manage more reliable systems with our latest whitepapers, webinars, blogs and more. All Gremlin resources, right here.</p><a href="/resources" class="nav-cta-button top-1rem w-button">RESOURCE HUB</a></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="collection-item-5 w-dyn-item"><a href="https://www.gremlin.com/webinars/speed-and-resilience-how-to-build-reliability-guardrails-for-ai-driven-development" class="cta-card-link-wrap w-inline-block"><div class="card-base card-small card-shadow card-gradient-soft nav-cta"><div class="div-block-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-0.75 -0.75 20 20" id="Blank-Calendar--Streamline-Core" height="20" width="20"><desc>Blank Calendar Streamline Icon: https://streamlinehq.com</desc><g id="blank-calendar--blank-calendar-date-day-month-empty"><path id="Vector" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M2.642857142857143 3.3035714285714284c-0.3504692857142857 0 -0.6865746428571428 0.13922571428571429 -0.9343953571428572 0.38703321428571424C1.4606542857142855 3.938425357142857 1.3214285714285714 4.2745307142857145 1.3214285714285714 4.625V15.857142857142858c0 0.3504428571428571 0.13922571428571429 0.6866142857142856 0.38703321428571424 0.9343821428571427C1.9562825 17.039292857142858 2.292387857142857 17.178571428571427 2.642857142857143 17.178571428571427h13.214285714285714c0.3504428571428571 0 0.6866142857142856 -0.13927857142857142 0.9343821428571427 -0.38704642857142857S17.178571428571427 16.207585714285713 17.178571428571427 15.857142857142858V4.625c0 -0.3504692857142857 -0.13927857142857142 -0.6865746428571428 -0.38704642857142857 -0.9343953571428572C16.543757142857142 3.442797142857143 16.207585714285713 3.3035714285714284 15.857142857142858 3.3035714285714284H2.642857142857143Z" stroke-width="1.5"></path><path id="Vector_2" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M1.3214285714285714 7.928571428571429h15.857142857142858" stroke-width="1.5"></path><path id="Vector_3" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M4.625 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path><path id="Vector_4" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M13.875 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path></g></svg><div class="cta-calendar">Sep 15, 2026</div></div><div class="card-title nav-bar-title">WEBINAR: How to Build Reliability Guardrails for AI-Driven Development</div><p class="card-body cta w-dyn-bind-empty"></p><div class="card-link">Register Now</div></div></a></div></div></div></div><div class="nav-list-link-wrapper"><div class="nav-link-block-holder"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c08c-70c9bfef" class="nav-link-label"><div>Our resources</div></div><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c08f-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c08f" href="/blog" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff094b019617172373e94_%5Bicon%5D%20Blog-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619632c01898085360325ae_%5Bicon%5D%20Blog%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Blog</div></div><p class="nav-link-block-paragraph">Get the latest Gremlin news and reliability best practices.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c098-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c098" href="/docs" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff094c03f25a6ee3536a3_%5Bicon%5D%20Docs-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619632c82bd247fa7b16d65_%5Bicon%5D%20Docs%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Documentation</div></div><p class="nav-link-block-paragraph">Gremlin's software documentation.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0aa-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0aa" href="/resources?webflow%5BrefinementList%5D%5BarticleLabel%5D%5B0%5D=Webinars" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6925f377ebf8982c392b6d6d_22c086110e014298d7e448c84aa916a9_webinar-static.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6925f3a1183523aa51be8ae7_2208aa01a50a5da4b6f6bceedc1a460a_webinar-active.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Webinars</div></div><p class="nav-link-block-paragraph">Expert-led webinars with reliability guidance, tips, and insights.</p></a><a id="w-node-dd454d92-ea88-2368-52a4-842ef54b0da5-70c9bfef" data-w-id="dd454d92-ea88-2368-52a4-842ef54b0da5" href="/community/tutorials" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff0940f7c60773272d708_%5Bicon%5D%20Tutorials-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619632c58f3010cd07a6c26_%5Bicon%5D%20Tutorials%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">How-to guides</div></div><p class="nav-link-block-paragraph">Step-by-step guides to help you become a reliability expert.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0b3-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0b3" href="https://support-site.gremlin.com/" target="_blank" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff094999e60987533e9dd_%5Bicon%5D%20Support%20Center-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619632c3e1bcee0b41808d7_%5Bicon%5D%20Support%20Center%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Support Center</div></div><p class="nav-link-block-paragraph">Initiate and manage support requests.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0bc-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0bc" href="/demo" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff094c88d3676eb86bd66_%5Bicon%5D%20Request%20a%20Demo-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661963332264205a73706ac6_%5Bicon%5D%20Request%20a%20Demo%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Request demo</div></div><p class="nav-link-block-paragraph">Book a live demo with a Gremlin reliability expert.</p></a><a id="w-node-_63bd6b3f-f208-d81e-dc09-2937e0db161a-70c9bfef" data-w-id="63bd6b3f-f208-d81e-dc09-2937e0db161a" href="/tools/recommended-scenarios" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661fef557e3b3fdcf81d55fe_Sheet.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/66195ba7ce8e67a898602c2f_Group%205%20(1).png" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Recommended Scenarios</div></div><p class="nav-link-block-paragraph">Prebuilt ready-to-run tests for common failure modes.</p></a><a id="w-node-_47383b12-702b-921b-0726-c44a58f53964-70c9bfef" data-w-id="47383b12-702b-921b-0726-c44a58f53964" href="/demo-center" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/67b78ffce6e16ff1d114c6dd_cce96963e82c33a11118cc586afdfa3d_%5Bicon%5D%20product%20tour%20-%20default.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/67b790522a5b21aad7274d81_6b30a8b7d80f9982b6adca431c0a15e4_%5Bicon%5D%20product%20tour%20-%20highlighted.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Self-guided tours</div></div><p class="nav-link-block-paragraph">Experience Gremlin through interactive, self-guided product tours.</p></a><a id="w-node-f3b5feef-f209-754a-497b-055c7044d23d-70c9bfef" data-w-id="f3b5feef-f209-754a-497b-055c7044d23d" href="/environments" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661960724e5a129a603737ab_%5Bicon%5D%20Dependency%20Discovery.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661960717509e38ef59e24bd_%5Bicon%5D%20Dependency%20Discovery%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Testable Environments</div></div><p class="nav-link-block-paragraph">Learn how Gremlin helps you build resilient workloads on cloud services.</p></a></div></div></div><div class="nav-devider-line-top"></div><div class="nav-devider-line-bot"></div></nav></div><div data-hover="false" data-delay="0" class="nav-dropdown-updated w-dropdown"><div class="nav-dropdown-toggle-updated w-dropdown-toggle"><div>Company</div><div class="dropdown-arrow-wrap"><div class="dropdown-arrow w-embed"><svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M1 3L4 6L7 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
||
</svg></div></div></div><nav class="nav-dropdown-list-updated w-dropdown-list"><div class="nav-dropdown-list-inner"><div class="nav-list-cta"><div class="column gap-8px _100"><div class="nav-list-cta-heading max-custom">Check us out</div><p class="nav-cta-paragraph">We're on a mission to help every company build more reliable software.</p><div class="nav-button-wrap-list"><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0d6-70c9bfef" href="/about" class="nav-cta-button w-button">COMPANY OVERVIEW</a></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="collection-item-5 w-dyn-item"><a href="https://www.gremlin.com/webinars/speed-and-resilience-how-to-build-reliability-guardrails-for-ai-driven-development" class="cta-card-link-wrap w-inline-block"><div class="card-base card-small card-shadow card-gradient-soft nav-cta"><div class="div-block-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-0.75 -0.75 20 20" id="Blank-Calendar--Streamline-Core" height="20" width="20"><desc>Blank Calendar Streamline Icon: https://streamlinehq.com</desc><g id="blank-calendar--blank-calendar-date-day-month-empty"><path id="Vector" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M2.642857142857143 3.3035714285714284c-0.3504692857142857 0 -0.6865746428571428 0.13922571428571429 -0.9343953571428572 0.38703321428571424C1.4606542857142855 3.938425357142857 1.3214285714285714 4.2745307142857145 1.3214285714285714 4.625V15.857142857142858c0 0.3504428571428571 0.13922571428571429 0.6866142857142856 0.38703321428571424 0.9343821428571427C1.9562825 17.039292857142858 2.292387857142857 17.178571428571427 2.642857142857143 17.178571428571427h13.214285714285714c0.3504428571428571 0 0.6866142857142856 -0.13927857142857142 0.9343821428571427 -0.38704642857142857S17.178571428571427 16.207585714285713 17.178571428571427 15.857142857142858V4.625c0 -0.3504692857142857 -0.13927857142857142 -0.6865746428571428 -0.38704642857142857 -0.9343953571428572C16.543757142857142 3.442797142857143 16.207585714285713 3.3035714285714284 15.857142857142858 3.3035714285714284H2.642857142857143Z" stroke-width="1.5"></path><path id="Vector_2" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M1.3214285714285714 7.928571428571429h15.857142857142858" stroke-width="1.5"></path><path id="Vector_3" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M4.625 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path><path id="Vector_4" stroke="#6633cc" stroke-linecap="round" stroke-linejoin="round" d="M13.875 1.3214285714285714v3.9642857142857144" stroke-width="1.5"></path></g></svg><div class="cta-calendar">Sep 15, 2026</div></div><div class="card-title nav-bar-title">WEBINAR: How to Build Reliability Guardrails for AI-Driven Development</div><p class="card-body cta w-dyn-bind-empty"></p><div class="card-link">Register Now</div></div></a></div></div></div></div><div class="nav-list-link-wrapper-horizontal"><div class="nav-link-block-holder-horizontal"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0da-70c9bfef" class="nav-link-label"><div>Get to know us</div></div><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0dd-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0dd" href="/media" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff168a52f869965dba6eb_%5Bicon%5D%20Media%20News%20%26%20Resources-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661964d388dc7bf83f49df4f_%5Bicon%5D%20Media%20News%20%26%20Resources%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Media news & resources</div></div><p class="nav-link-block-paragraph">News, coverage, and resources.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0ef-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0ef" href="/contact" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff094ff224116c7c8625c_%5Bicon%5D%20Office%20Hours-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6619632c32d34f3039b34b2d_%5Bicon%5D%20Office%20Hours%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Contact us</div></div><p class="nav-link-block-paragraph">Get in touch with Gremlin.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0f8-70c9bfef" href="#" class="button hide w-button">CONTACT US</a></div><div class="nav-link-block-holder-horizontal"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0fb-70c9bfef" class="nav-link-label"><div>Connect with us</div></div><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c0fe-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c0fe" href="/resources?events=true" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff168bab2f334d912edc8_Group%205-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661964d3dc909f4e3664082a_Group%204.svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Events</div></div><p class="nav-link-block-paragraph">Workshops, meetups, webinars and more.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c107-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c107" href="https://join.slack.com/t/gremlinusercommunity/shared_invite/zt-2ie2f4fyo-DvVaHh8CgGfxJgJwrAUWSQ" target="_blank" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff1686663f4ac5413928a_%5Bicon%5D%20Gremlin%20User%20Community-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661964d3fb73fe1b7bcac3cd_%5Bicon%5D%20Gremlin%20User%20Community%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Gremlin User Community</div></div><p class="nav-link-block-paragraph">Join our Slack community of Gremlin users and builders.</p></a></div><div class="nav-link-block-holder-horizontal"><div id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c111-70c9bfef" class="nav-link-label"><div>Join us</div></div><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c114-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c114" href="/partners" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff168eb6b66a8939aa7c4_%5Bicon%5D%20Partners-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661964d3d56be8530456ebe0_%5Bicon%5D%20Partners%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Partners</div></div><p class="nav-link-block-paragraph">Help make the internet more reliable, together.</p></a><a id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c11d-70c9bfef" data-w-id="e644ad4c-2d1f-3e0d-6a23-c35170c9c11d" href="/team" class="nav-link-block-updated w-inline-block"><div class="nav-link-block-title"><div class="nav-link-icon-wrapper"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661ff169bad09ffbc2bed048_%5Bicon%5D%20Careers-2.svg" loading="lazy" alt="" class="nav-link-icon-static"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/661964d2adcffd50847a63e9_%5Bicon%5D%20Careers%20(1).svg" loading="lazy" alt="" class="nav-link-icon-hover"/></div><div class="nav-link-block-title-text">Careers</div></div><p class="nav-link-block-paragraph">Join the team that makes Gremlin.</p></a></div></div></div><div class="nav-devider-line-bot"></div><div class="nav-devider-line-top"></div></nav></div></div><div class="menu-wrap-right"><div id="autocomplete" class="nav-search-2 hide-on-mobile"><div class="absolute-embed-2 w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
<path d="M17.5 17.5L13.875 13.875" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
</svg></div><div class="w-embed w-script"><link
|
||
rel="stylesheet"
|
||
href="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-theme-classic"
|
||
/>
|
||
<style>
|
||
:root {
|
||
--aa-icon-size: 80px;
|
||
}
|
||
</style>
|
||
<script>
|
||
let timerId;
|
||
let timeout = 400;
|
||
|
||
function debouncePromise(fn, time) {
|
||
let timer = undefined;
|
||
|
||
return function debounced(...args) {
|
||
if (timer) {
|
||
clearTimeout(timer); // Clear the timeout first if it's already defined.
|
||
}
|
||
|
||
return new Promise((resolve) => {
|
||
timer = setTimeout(() => resolve(fn(...args)), time);
|
||
});
|
||
};
|
||
}
|
||
|
||
const debounced = debouncePromise((items) => Promise.resolve(items), 400);
|
||
|
||
const { autocomplete, getAlgoliaResults } = window["@algolia/autocomplete-js"];
|
||
const { setIsOpen } = autocomplete({
|
||
container: "#autocomplete",
|
||
placeholder: "Start typing to search resources...",
|
||
detachedMediaQuery: "",
|
||
openOnFocus: true,
|
||
getSources({ query, state }) {
|
||
if (!query) {
|
||
return [];
|
||
}
|
||
|
||
return debounced([
|
||
{
|
||
sourceId: "webflow",
|
||
getItems() {
|
||
return getAlgoliaResults({
|
||
searchClient,
|
||
queries: [
|
||
{
|
||
indexName: indexNames,
|
||
query,
|
||
params: {
|
||
attributesToSnippet: ["name:100", "shortDescription:100"],
|
||
snippetEllipsisText: "…",
|
||
hitsPerPage: 100,
|
||
},
|
||
},
|
||
],
|
||
});
|
||
},
|
||
templates: {
|
||
header() {
|
||
return "SEARCH RESULTS";
|
||
},
|
||
item({ item, components, html }) {
|
||
return html`<a class="aa-ItemLink" href="${item.slug}">
|
||
<div class="return-link-class">
|
||
<div class="aa-ItemContentBody">
|
||
<div class="return-image-holder">
|
||
<div class="hide">
|
||
${components.Highlight({
|
||
hit: item,
|
||
attribute: "articleLabel",
|
||
})}
|
||
</div>
|
||
<div class="return-heading-class">
|
||
${components.Highlight({
|
||
hit: item,
|
||
attribute: "name",
|
||
})}
|
||
</div>
|
||
<div class="return-image-image"></div>
|
||
</div>
|
||
<div class="return-paragraph-class">
|
||
${components.Highlight({
|
||
hit: item,
|
||
attribute: "shortDescription",
|
||
})}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</a>`;
|
||
},
|
||
noResults() {
|
||
return "No posts for this query.";
|
||
},
|
||
},
|
||
getItemUrl({ item }) {
|
||
return "/" + item.slug;
|
||
},
|
||
},
|
||
]);
|
||
},
|
||
});
|
||
|
||
document.addEventListener('keydown', (event) => {
|
||
if (event.metaKey && event.key.toLowerCase() === 'k') {
|
||
setIsOpen(true);
|
||
}
|
||
});
|
||
</script>
|
||
|
||
<script>
|
||
// Function to check for the existence of the element and add class if found
|
||
function checkAndAddClass() {
|
||
var detachedContainer = document.querySelector('.aa-DetachedContainer');
|
||
|
||
// Check if the element exists
|
||
if (detachedContainer) {
|
||
// Add the class if the element exists
|
||
detachedContainer.classList.add('aa-DetachedContainer--modal');
|
||
clearInterval(checkInterval); // Stop the interval once the class is added
|
||
addClassOnResize(); // Call the function to check on every resize
|
||
}
|
||
}
|
||
|
||
// Function to check on every resize with a delay of 100ms
|
||
function addClassOnResize() {
|
||
window.addEventListener('resize', function() {
|
||
setTimeout(function() {
|
||
var detachedContainer = document.querySelector('.aa-DetachedContainer');
|
||
|
||
// Check if the element exists and if it does not have the class
|
||
if (detachedContainer && !detachedContainer.classList.contains('aa-DetachedContainer--modal')) {
|
||
// Add the class on resize if the condition is met
|
||
detachedContainer.classList.add('aa-DetachedContainer--modal');
|
||
}
|
||
}, 100);
|
||
});
|
||
}
|
||
|
||
// Set up an interval to check for the existence of the element
|
||
var checkInterval = setInterval(checkAndAddClass, 100);
|
||
</script></div><div class="hide w-embed w-script"><script>
|
||
// Wrap the code inside an event listener for 'DOMContentLoaded'
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
// Get the responsive-clicker element
|
||
var responsiveClicker = document.getElementById('responsive-click');
|
||
|
||
// Add a click event listener to the responsive-clicker element
|
||
responsiveClicker.addEventListener('click', function() {
|
||
// Get the element with classname aa-DetachedSearchButton
|
||
var detachedSearchButton = document.querySelector('.aa-DetachedSearchButton');
|
||
|
||
// Check if the element is found
|
||
if (detachedSearchButton) {
|
||
// Click the element with classname aa-DetachedSearchButton
|
||
detachedSearchButton.click();
|
||
} else {
|
||
console.error('Element with classname aa-DetachedSearchButton not found');
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
|
||
|
||
<style>
|
||
.aa-DetachedSearchButtonQuery{
|
||
display:none !important;
|
||
}
|
||
.aa-DetachedSearchButtonPlaceholder{
|
||
display:none !important;
|
||
}
|
||
.aa-SubmitIcon{
|
||
display: none !important;
|
||
}
|
||
.aa-DetachedSearchButtonIcon{
|
||
display:none !important;
|
||
}
|
||
.aa-DetachedSearchButton{
|
||
width: 32px !important;
|
||
height: 32px !important;
|
||
background: transparent !important;
|
||
border: none !important;
|
||
}
|
||
.aa-DetachedCancelButton{
|
||
display: none !important;
|
||
}
|
||
.aa-Label{
|
||
display: none !important;
|
||
}
|
||
.aa-Input{
|
||
padding-left: 12px !important;
|
||
}
|
||
.aa-DetachedContainer.aa-DetachedContainer--modal{
|
||
max-width: 95vw;
|
||
width: 600px;
|
||
margin-top: 64px;
|
||
padding: 32px;
|
||
left: 0px;
|
||
}
|
||
|
||
.aa-DetachedContainer{
|
||
width: 600px;
|
||
margin-top: 64px;
|
||
padding: 32px;
|
||
top: 0px;
|
||
max-width: 95vw;
|
||
left: 2.5vw;
|
||
|
||
}
|
||
.aa-DetachedFormContainer{
|
||
padding: 0px
|
||
}
|
||
|
||
.aa-Form{
|
||
border: 0 !important;
|
||
box-shadow: none !important;
|
||
outline: none !important;
|
||
}
|
||
.aa-SourceHeader{
|
||
width: 100% !important;
|
||
text-align: center !important;
|
||
background: black !important;
|
||
color: white !important;
|
||
font-weight: 500 !important;
|
||
height: 28px !important;
|
||
line-height: 28px !important;
|
||
font-size: 12px !important;
|
||
margin: 0px !important;
|
||
position: absolute !important;
|
||
top: 0px !important;
|
||
z-index: 3 !important;
|
||
}
|
||
.aa-DetachedOverlay{
|
||
background: rgba(19, 19, 19, 0.75);
|
||
z-index: 9999;
|
||
}
|
||
|
||
.aa-ClearIcon{
|
||
width: 24px;
|
||
height: 24px;
|
||
}
|
||
.aa-ClearButton{
|
||
width: 24px !important;
|
||
padding: 0 !important;
|
||
height: 24px !important;
|
||
}
|
||
/* Original CSS Code */
|
||
.aa-Panel--scrollable {
|
||
overflow: hidden !important;
|
||
padding: 0px !important;
|
||
|
||
}
|
||
.aa-List{
|
||
max-height: 500px !important;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
padding-top: 28px !important;
|
||
}
|
||
|
||
.aa-Source{
|
||
max-height:500px;
|
||
border: 1px solid var(--deep-purple);
|
||
border-radius: 6px;
|
||
overflow: hidden;
|
||
|
||
}
|
||
|
||
.aa-DetachedFormContainer{
|
||
border: 0 !important;
|
||
}
|
||
.aa-Item{
|
||
padding: 0;
|
||
margin: 0px;
|
||
}
|
||
|
||
.return-link-class {
|
||
width: 100% !important;
|
||
padding: 8px !important;
|
||
border-bottom: 1px solid var(--dark-purple-bg) !important;
|
||
text-decoration: none !important;
|
||
}
|
||
|
||
.return-link-item:hover {
|
||
background-color: hsla(255, 43.33%, 23.53%, 0.15) !important;
|
||
}
|
||
.return-paragraph-class {
|
||
display: -webkit-box;
|
||
-webkit-box-orient: vertical;
|
||
overflow: hidden;
|
||
-webkit-line-clamp: 2; /* Change the number to the desired line limit */
|
||
line-height: 1.3em;
|
||
}
|
||
.aa-ItemLink{
|
||
display: flex !important;
|
||
width:100% !important;
|
||
}
|
||
|
||
|
||
.aa-InputWrapperPrefix{
|
||
display: none !important;
|
||
}
|
||
|
||
</style>
|
||
|
||
<style>
|
||
.return-link-class:hover .return-image-image {
|
||
opacity: 1;
|
||
}
|
||
|
||
.return-link-class .return-image-image {
|
||
opacity: 0;
|
||
transition: 0.3s;
|
||
}
|
||
.aa-GradientBottom{
|
||
display: none !important;
|
||
}
|
||
.aa-Item{
|
||
padding: 0px !important;
|
||
}
|
||
|
||
.aa-SourceNoResults {
|
||
position: relative;
|
||
background: white;
|
||
z-index: 3 !important;
|
||
}
|
||
</style></div></div><div class="nav-button-wrap"><a href="https://app.gremlin.com/login" target="_blank" class="nav-button variant w-button">Log In</a><a href="/demo" id="w-node-e644ad4c-2d1f-3e0d-6a23-c35170c9c130-70c9bfef" class="nav-button w-button">GET A DEMO</a></div></div></div></nav><div class="responsive-nav-button-wrap"><div class="nav-search-wrap"><a id="responsive-click" href="#" class="nav-search w-inline-block"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
<path d="M17.5 17.5L13.875 13.875" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
</svg></div></a></div><div class="nav-menu-button-holder"><div scroll="both" class="nav-menu-button-2 w-nav-button"><div class="nav-menu-button-wrap-2"><div class="nav-lines-new nav-line-1"></div><div class="nav-lines-new nav-line-2"></div><div class="nav-lines-new nav-line-3"></div></div></div></div></div></div></div><div class="nav-divider-line---animated"></div><div class="banner-code"><div class="hidden w-embed w-script"><script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Organization",
|
||
"url": "https://www.gremlin.com/",
|
||
"logo": "https://res.cloudinary.com/gremlin/image/upload/v1667411425/AWS%20re:Invent%20GameDay%202022/Gremlin-Logo-Primary_2x.png",
|
||
"name": "Gremlin",
|
||
"description": "Gremlin helps engineering teams proactively manage reliability at scale.",
|
||
"email": "hello@gremlin.com",
|
||
"telephone": "+1-408-214-9885",
|
||
"address": {
|
||
"@type": "PostalAddress",
|
||
"streetAddress": "440 N Barranca Ave #3101",
|
||
"addressLocality": "Covina",
|
||
"addressCountry": "US",
|
||
"addressRegion": "CA",
|
||
"postalCode": "91723"
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.top-announcement-bar {
|
||
background: radial-gradient(46.77% 147.55% at 69.9% 62.72%, #311173 0%, #1F1638 100%);
|
||
}
|
||
</style>
|
||
|
||
<script defer>
|
||
// Script to hide announcement banner and store its state in localStorage
|
||
var banner = document.getElementById("announcement-banner");
|
||
var bannerCloseButton = document.getElementById("announcement-banner-close-button");
|
||
var bannerCTA = document.getElementById("announcement-banner-cta").innerText;
|
||
|
||
var storedBannerHidden = localStorage.getItem("announcement_banner_hidden");
|
||
var storedBannerCTA = localStorage.getItem("announcement_banner_cta");
|
||
|
||
if (storedBannerHidden === "true" && bannerCTA === storedBannerCTA) {
|
||
banner.classList.add("hidden");
|
||
}
|
||
else {
|
||
localStorage.setItem("announcement_banner_hidden", "false");
|
||
banner.classList.remove("hidden");
|
||
}
|
||
|
||
bannerCloseButton.addEventListener("click", function(e) {
|
||
localStorage.setItem("announcement_banner_hidden", "true");
|
||
localStorage.setItem("announcement_banner_cta", bannerCTA);
|
||
banner.classList.add("hidden");
|
||
});
|
||
|
||
// Script to adjust padding-top of .section and .nav-menu-mask-inner if #announcement-banner is displayed
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
// Check if #announcement-banner exists
|
||
var topBanner = document.getElementById('announcement-banner');
|
||
if (topBanner && getComputedStyle(topBanner).getPropertyValue('display') === 'flex') {
|
||
// Calculate the height of the banner
|
||
var topBannerHeight = topBanner.offsetHeight;
|
||
|
||
// Find the first .section element in a row
|
||
var topFirstSection = document.querySelector('.section:first-child');
|
||
if (topFirstSection) {
|
||
// Increase the top padding of the first section by the height value of the banner
|
||
var topCurrentSectionPadding = parseInt(window.getComputedStyle(topFirstSection).paddingTop);
|
||
topFirstSection.style.paddingTop = (topCurrentSectionPadding + topBannerHeight) + 'px';
|
||
}
|
||
|
||
// Check if screen width is smaller than or equal to 991 pixels
|
||
if (window.innerWidth <= 991) {
|
||
// Find .nav-menu-mask-inner element
|
||
var topNavMenuMaskInner = document.querySelector('.nav-menu-mask-inner');
|
||
if (topNavMenuMaskInner) {
|
||
// Increase the top padding of .nav-menu-mask-inner by the height value of the banner
|
||
var topCurrentNavMenuPadding = parseInt(window.getComputedStyle(topNavMenuMaskInner).paddingTop);
|
||
topNavMenuMaskInner.style.paddingTop = (topCurrentNavMenuPadding + topBannerHeight) + 'px';
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
// MutationObserver to revert changes if #announcement-banner is hidden
|
||
var topTargetElement = document.getElementById('announcement-banner');
|
||
|
||
var topObserver = new MutationObserver(function(mutationsList, observer) {
|
||
for(var mutation of mutationsList) {
|
||
if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
|
||
var topTarget = mutation.target;
|
||
if (topTarget.classList.contains('hidden')) {
|
||
// Revert the changes made by the second script
|
||
var topFirstSection = document.querySelector('.section:first-child');
|
||
if (topFirstSection) {
|
||
topFirstSection.style.paddingTop = '';
|
||
}
|
||
|
||
// Check if screen width is smaller than or equal to 991 pixels
|
||
if (window.innerWidth <= 991) {
|
||
var topNavMenuMaskInner = document.querySelector('.nav-menu-mask-inner');
|
||
if (topNavMenuMaskInner) {
|
||
topNavMenuMaskInner.style.paddingTop = '';
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
var topConfig = { attributes: true, attributeFilter: ['class'] };
|
||
topObserver.observe(topTargetElement, topConfig);
|
||
|
||
</script></div></div></div><div class="main-wrapper"><section class="section sre-cms-hero-section"><div class="hide w-embed"><style>
|
||
@media only screen and (min-width: 991px) and (max-width: 1300px) {
|
||
.sre-cms-hero-image {
|
||
width: 40vw;
|
||
height: 50vw;
|
||
}
|
||
}
|
||
@media only screen and (min-width: 320px) and (max-width: 450px) {
|
||
.jumbo-h {
|
||
font-size: 2.75rem;
|
||
}
|
||
}
|
||
|
||
</style></div><div class="container-xl grid"><div id="w-node-_3550b4de-f647-9707-522a-26c4512ded7c-1519ea2e" class="column full-width center text-mobile-center"><h1 class="jumbo-h1 margin-xs text-mobile-center font-size">How much money do SREs make?</h1><p class="paragraph-small w-dyn-bind-empty"></p></div><div id="w-node-_7a6616c3-e0a7-e063-f771-5615364d4499-1519ea2e" class="sre-cms-hero-image"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654c8b38a38bb674000c48c4_money.svg" class="contain-image"/></div></div></section><section class="section padding-m top-0px"><div class="container-s grid"><div id="w-node-_64909b58-d382-fe0f-1939-1a195d66d128-1519ea2e" class="hide w-embed"></div><div id="w-node-ef51acb3-8889-ad6c-541c-6ff6a683e28a-1519ea2e" class="blog-rich-text-reliability w-richtext"><h6>Wondering about the average <a href="https://www.gremlin.com/site-reliability-engineering/what-is-site-reliability-engineering/">Site Reliability Engineer</a> salary? Or how much <a href="https://www.gremlin.com/site-reliability-engineering/how-to-become-a-top-notch-sre/">top-notch SREs</a> at best-in-class organizations are compensated? We did some research and are sharing our findings here.</h6><p>Our research includes data from publicly-available sources like Payscale, Hired, and Glassdoor, government sources like the US Bureau of Labor Statistics, and also discreet queries across personal contacts. The job market for SRE is strong as large enterprise companies are transforming how they do IT.</p><p>Some of this data is anecdotal and should not be taken as hard research. It was, however, reported with surprising consistency across the sources listed above and others and gives real insight into self-reported and government-collected figures. We collected our data in early 2020, however some of the available statistics were as old as 2018. This should be taken into account as you read on.</p><p>If you discount the figures at the extremes and focus on the middle range, you are likely to be within a reasonable margin of error for accuracy, especially when you take into account location, industry, and the specific company. Note that while we found data on some specific companies, we deliberately chose not to share those figures and do not name names.</p></div><div id="w-node-_1e0f67d5-8b46-9a10-e204-3d512b608442-1519ea2e" class="blue-line-holder"><div class="blue-line"></div></div></div></section><section class="section sre-rich-text-section"><div class="container-s grid"><div id="w-node-f1de20c8-94ff-d598-0fbb-84845907e296-1519ea2e" class="table-of-content-holder show"><div class="table-of-content-wrap"><div class="toc-link-wrapper"><div class="fs-toc_link-wrapper"><a href="#" fs-toc-element="link" class="fs-toc_link reliability w-inline-block"><div>Example H2</div></a><div class="fs-toc_link-wrapper h3"><a fs-toc-element="link" href="#" class="fs-toc_link reliability w-inline-block"><div>Example H3</div></a></div></div></div></div></div><div fs-toc-offsettop="5rem" fs-richtext-element="rich-text" fs-toc-element="contents" id="w-node-_095324fa-dcac-97dc-78a9-dd36a26795ac-1519ea2e" class="blog-rich-text-reliability w-richtext"><h2>How Much Money Do SREs Make?</h2><p>While all of us know that "it depends," we want real figures as a baseline to help us know if a job listing we are considering or an offer we are pondering is reasonable. So, let's start with some numbers first, then we will move to a discussion of why someone would be most likely to be paid at one or the other end of the scale.</p><h5><a href="https://www.gremlin.com/slack"></a></h5><div class="w-embed"><div class="reliability-engineering-custom-cta"><div class="reliability-cta-heading">Find an SRE Mentor</div><div>Join the Chaos Engineering Community Slack to find mentors and get advice from thousands of experienced SREs.</div><a href="/slack" class="reliability-cta-link">Join the Slack →</a></div></div><p></p><h2>The Average Annual Total Compensation Range for Site Reliability Engineers</h2><ul role="list"><li><strong>Low</strong> $75,000</li><li><strong>Median average</strong> $236,000</li><li><strong>High</strong> $450,000</li></ul><p>The figures above are a standard range that includes both salary and other compensation.</p><p>For example, that low figure of $75k would be for someone starting out with a base annual salary of $69,950, stock grants or options amounting to $600 profit, and a yearly bonus of $4,450. This is likely to be a job at a company where technology is not the product, but rather a support role of some kind, and is probably located in a former industrial-focused city in the Midwestern United States.</p><p>The median average of $236k has a base salary of $185k, stock options or grants amounting to $33k, and a yearly bonus of $18k. This could be almost anywhere, although it might be a starting salary in some areas and a high salary in others.</p><p>At the high end of $450k, the base annual salary might only be $210k, but with stock grants or options amounting to $205k profit, and a yearly bonus of $35k. This is probably at a major tech industry company in Silicon Valley, Seattle, New York.</p><p>There are outliers that earn much more than this high figure, but they are all unicorns, people with very specific experience and talents who fit into a role that no one else is likely to be able to do.These can earn as much as $500,000 up to over a million when you include total compensation.</p><h2>Factors Affecting Site Reliability Engineer Salary</h2><p>Salary figures are never universal. The low end of the scale won't find any applicants in some locations, while it would seem generous in others.</p><p>Some industries and companies can afford to pay the absolute best candidates, who know their skills and experience are in high demand and expect salaries commensurate with their seniority.</p><p>Other industries are just happy to find someone who can do the job and is able to learn and grow, even if the company cannot pay top dollar.</p><p>Past experience also plays a role: Someone coming into SRE out of a related position in Amazon is going to start out with drastically different pay scale opportunities than someone trying to escape a failing start-up in Wisconsin.</p><p>Each company will have a compensation philosophy that works for their organization. Perhaps some pay to the 50th percentile and others may pay towards the 75th. It could vary for a variety of reasons: company bonuses that offset base pay, equity heavy companies, etc.</p><p>Here we present in greater detail some factors that influence how much a candidate should reasonably expect to be paid.</p><h3>Experience</h3><p>New, junior developers being hired to join a mature SRE team are not expected to know nearly as much as an experienced senior SRE being hired to create a program. What you already know and bring to the team is taken into account, and for good reason; the team will need to spend more time teaching you and mentoring you. It is worthwhile for someone just starting out in SRE to take one of these positions and really learn from experienced people.</p><p>The highest salaries are for people with 10+ years experience in SRE and often for those charged with leading a team or managing multiple teams or even creating an SRE program from scratch at a company that is just starting out. You must know what you are doing to be successful in these positions and you will be compensated accordingly.</p><p>Additionally, experience with specific technologies that are desirable and less common causes salary offers to go up. At the moment, experience with Golang, Java, Kubernetes, Linux, and DevOps prior to coming to the new SRE job will make you a stronger candidate for a competitive position or a better paid hire for a position with a specific gap to fill.</p><p>Further, much depends on the needs of the company and the SRE team. It depends on whether your background <a href="https://www.gremlin.com/site-reliability-engineering/the-role-and-responsibilities-of-sres-in-software-engineering/">fits their current needs</a> or their long-term growth expectations.</p><p>Do you come from software engineering or software development or maybe an operations team? Those people who have a mix of the two sides, development and operations, are considered unicorns in the industry, because they are rare. They also tend to have the highest earning potential.</p><p>Do you have experience as a <a href="https://www.gremlin.com/site-reliability-engineering/sre-vs-devops/">DevOps</a> engineer working in reliability engineering? Have you ever used service level objectives (SLOs) and error budgets? You are going to be in great demand and this experience could place you in the second tier of top earners, especially if you have several years of experience.</p><p>Were you maybe a quality engineer working in quality assurance (QA) or a systems engineer or maybe a solutions architect? Any of these can help your candidacy because you already understand how vital it is to test your system to know how it works. Some of your skills will transfer, but in SRE you will have a lot to learn. It uses a very different paradigm than the ones that use these job titles. You will have to show how your skills transfer. If you can create a clear map from past work to SRE needs, you will have a step up. Unless you also have some experience with DevOps or SRE, even minor, you are likely looking at an entry level SRE position, which may still mean a step up in pay and isn't something to discount.</p><h3>Location</h3><p>Are you working in San Francisco or close by? Salaries there and at other high cost-of-living locations start with 17-18% higher salaries across the experience spectrum to account for how much an engineer must pay to live in the area. In addition, in locations like these the competition for SRE positions is higher as there are larger numbers of qualified candidates applying for open positions. If a job listing looks like the compensation package is too low, candidates will look elsewhere.</p><p>Places with a lower cost of living tend to have lower salaries. This tends to work out okay as workers need less to maintain a good standard of living in the area, so the applicant pool is not impacted by the lower salary offers, unless they are ridiculously low.</p><p>For junior and senior SRE's in the following locations, typical salaries fall in these ranges:</p><div class="w-embed"><table>
|
||
<thead>
|
||
<tr>
|
||
<th align="left">Location</th>
|
||
<th align="left">Salary</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td align="left">Downtown San Francisco, California</td>
|
||
<td align="left">$136-262k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">New York City, New York</td>
|
||
<td align="left">$127-210k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">South Bay, from South San Francisco to San Jose, California</td>
|
||
<td align="left">$128-200k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">Seattle, Washington</td>
|
||
<td align="left">$118-195k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">Atlanta, Georgia</td>
|
||
<td align="left">$121-190k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">Los Angeles, California</td>
|
||
<td align="left">$118-184k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">Austin, Texas</td>
|
||
<td align="left">$124-165k</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left">Phoenix, Arizona</td>
|
||
<td align="left">$120-150k</td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div><p></p><p>There are stand out companies in each of these areas paying salaries above those ranges. There are some big names that pay senior SREs as much as $300k per year when you take total compensation into account. There are some extreme unicorn SREs that earn up to and even over $1 million per year in total compensation. We did not include the bottom 10% or the top 10% of unique salary figures in our range above.</p><h3>Industry</h3><p>Some industries have more money, stronger programs, and more stringent needs. Others are constrained and are either able or willing to wait for a suitable candidate willing to take a job that pays less than other industries might. While SRE work is similar across industries, it is not identical in all situations. The technology stack that is in use, the governance model, and even regulatory restrictions all have an impact on what a potential employer does, wants, or needs in a candidate. That affects what they are willing or able to spend.</p><p>Tech companies that have high potential market caps tend to pay high salaries because they are chasing after large valuations and want to attract the best talent. This is more true in places like Silicon Valley, New York, and Seattle than in other places.</p><p>The highest total compensation packages tend to come from one of the big 5 tech giants (FAANG, which stands for Facebook, Amazon, Apple, Netflix, and Google) followed by traditional finance companies and hedge funds, banks, the robotics and self-driving cars industry, followed by retail sales. A company that makes video games provides bonuses that are tied directly to company performance; a good hit game can provide bonuses of $100k or higher on top of a $200k salary!</p><p>Pay attention to details when considering offers. You may not yet meet the experience requirements for the highest paid positions, but that shouldn't stop you. It's okay to apply for jobs that feel like a stretch if you believe you can actually do it, because you never know! On the other hand, maybe you don't want to be a part of that industry or the companies in it anyway. You may have a stronger interest in the technologies a certain company is using and take a position that pays less (but still in the range of what you know you are worth) with the rationalization that you will have work that is more interesting to you or that teaches you technologies you think are important to your career.</p><h3>Bonuses</h3><p>When an offer is given, the entire compensation package matters, not just the salary number. Pay close attention to the benefits that are included, including bonuses, time off, benefits, etc. Everything in the offer can be negotiated. For example, if you want to work remotely you can negotiate other aspects of the offer that matter less to you.</p><p>Are there annual or maybe even quarterly bonuses available? What size are they and how are they earned? Our research found that companies with bonus programs tend to pay base salaries that are slightly lower, but if the bonus criteria are met, overall compensation may end up being higher at the end of the year.</p><p>Some companies do not offer bonuses. Some companies pay bonuses based on performance metrics like meeting or exceeding personal goals and key performance indicators (KPIs).</p><p>Some companies pay bonuses based on profit sharing, calculating based on criteria like hitting or exceeding sales goals or some tie-in with stock price growth. Some companies use figures like these to calculate the overall pool of money available for employee bonuses, then using KPIs and similar to determine what each employee's share of the pool should be.</p><p>Read and understand the details of any bonus-type compensation being offered before you get excited or disappointed. If it sounds reasonable, ask questions to determine how frequently bonuses are actually paid out. Did the interviewer earn a bonus last year? Last quarter? What percentage of people on the team earned one? In the company?</p><p>For companies that start with a lower base pay, equity and/or performance bonuses is usually what helps these companies stay competitive. Some of those performance bonuses can reach as high as $60k in a year.</p><h3>Stock Options</h3><p>This is a tricky one, because there are so many potential variables. Is the company publicly traded or is it hoping for an IPO?</p><p>If it is publicly traded, what is the current share price and what is the employee discount? When can shares be purchased? How long must they be held before being sold? What are the rules?</p><p>If it is not a public company, is there a time schedule for going public? A plan? Is there a plan for other contingencies such as if the company was acquired? What happens to the options then? How many options are being offered? How many stocks/options are actually available in total? When do those options vest? When can and when must they be exercised? Pre IPO stock is typically offered with a 4 year vesting schedule, with the first year having a 25% cliff, meaning that 25% of the options vest after one year, then the rest vests month after month through the remaining three years. This has been worth around $200-300k for popular startups.</p><p>In some cases, company stock and stock options can be an amazing opportunity for employees to benefit directly from company growth. In others, they are worthless. Take a close look at the company and evaluate it to determine what you believe to be the company's potential for growth. Then you can decide whether the options are an attractive part of the offer, especially if the salary being offered is lower average for your experience level and location.</p><p>Remember, a vesting schedule is intentionally designed to buy your long-term loyalty. If you both like the job and the options have the potential to rise in value, you may be completely happy to stay regardless of the vesting schedule. There are places that will buy out remaining stock options sometimes as a sign-on bonus when hiring a talented senior SRE, for example, if an engineer doesn't want to leave a company because they have $175k in not-yet-vested options, the new company may pay you in cash to get you to join. That's rare, but it happens.</p><h3>Summary</h3><p>Total compensation packages for Site Reliability Engineers tend to be good, especially when you compare them to other tech roles in similar locations, industries, and experience levels. If you are the sort that enjoys the challenge of keeping things running, you won't regret making the move from a financial standpoint.</p></div><div id="w-node-_1dfdafea-b630-edfb-a46e-e4bcc6b73500-1519ea2e" class="fs_prevnext_wrapper no-margin"><div fs-cmsprevnext-element="previous" class="fs_prevnext_block prev-block"><div fs-cmsprevnext-element="previous-empty" class="fs_prevnext_empty"><div>Previous</div></div></div><a href="/customers" class="button-variant-customers absolute-pagination-button w-inline-block"><div class="w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" fill="curent-color" stroke-linecap="round" stroke-linejoin="round" class="CK__Icon css-1ldyljq"><g class="icon-stroke" fill-rule="evenodd" transform="translate(1 1)"><polyline points="0 11 11 0 22 11"></polyline><polyline points="2.75 8.36 2.75 22 19.25 22 19.25 8.36"></polyline></g></svg></div><div>Site Reliability Engineering</div></a><div fs-cmsprevnext-element="next" class="fs_prevnext_block next-block"><div fs-cmsprevnext-element="next-empty" class="fs_prevnext_empty"><div>Next</div></div></div><div class="hide w-embed"><style>
|
||
.button-variant-customers.absolute-pagination-button {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
}
|
||
</style></div></div><div id="w-node-fbcbdd33-ac27-e497-5ebe-27236372ac3b-1519ea2e" class="hidden w-dyn-list"><div fs-cmsprevnext-element="list" role="list" class="column w-dyn-items"><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/what-is-site-reliability-engineering" class="button-variant-customers w-inline-block"><div>This is some text inside of a div block.</div></a></div><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/sre-interview-questions-and-job-descriptions" class="button-variant-customers w-inline-block"><div>This is some text inside of a div block.</div></a></div><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/how-much-money-do-sres-make" aria-current="page" class="button-variant-customers w-inline-block w--current"><div>This is some text inside of a div block.</div></a></div><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/how-to-become-a-top-notch-sre" class="button-variant-customers w-inline-block"><div>This is some text inside of a div block.</div></a></div><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/the-role-and-responsibilities-of-sres-in-software-engineering" class="button-variant-customers w-inline-block"><div>This is some text inside of a div block.</div></a></div><div role="listitem" class="prevnext-button-wrap w-dyn-item"><a href="/site-reliability-engineering/sre-vs-devops" class="button-variant-customers w-inline-block"><div>This is some text inside of a div block.</div></a></div></div></div></div></section><section class="section guide-chapters-section"><div class="container max-width-3xl"><h2 class="h2-medium text-center margin-bot-4-rem">Guide Chapters</h2><div class="w-dyn-list"><div role="list" class="chapters-collection w-dyn-items"><div role="listitem" class="w-dyn-item"><a data-w-id="a0f9ad67-862c-d9d8-7645-59f9fb1efd67" href="/site-reliability-engineering/what-is-site-reliability-engineering" class="chapters-card-sre w-inline-block"><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd68-1519ea2e" style="background-image:url("https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654ca0acbe765a80b8e6d215_what-is-sre.svg")" class="chapter-image-wrap"></div><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd69-1519ea2e" class="chapter-content-wrap-sre"><div class="chapter-subhead w-dyn-bind-empty"></div><h3 class="chapter-name">A primer on SRE for engineering leaders</h3><div class="blue-line"></div><p class="chapter-discription-sre">Site Reliability Engineering (SRE) is the outcome of combining IT operations responsibilities with software development. With SRE there is an inherent expectation of responsibility for meeting the service-level objectives (SLOs) set for the service they manage and the service-level agreements (SLAs) we promise in our contracts.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="a0f9ad67-862c-d9d8-7645-59f9fb1efd67" href="/site-reliability-engineering/sre-interview-questions-and-job-descriptions" class="chapters-card-sre w-inline-block"><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd68-1519ea2e" style="background-image:url("https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654c8b68f708aaa5f81b199d_interview.svg")" class="chapter-image-wrap"></div><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd69-1519ea2e" class="chapter-content-wrap-sre"><div class="chapter-subhead w-dyn-bind-empty"></div><h3 class="chapter-name">SRE interview questions and job descriptions</h3><div class="blue-line"></div><p class="chapter-discription-sre">What do Site Reliability Engineers do and what exactly are they responsible for within an engineering organization? While the specifics will depend on your company, there are some general trends for how SRE teams tend to organize themselves. This article focuses on how SRE teams share responsibilities across members while at the same time recognizing the strengths each member brings to the team as they work towards a common reliability goal.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="a0f9ad67-862c-d9d8-7645-59f9fb1efd67" href="/site-reliability-engineering/how-to-become-a-top-notch-sre" class="chapters-card-sre w-inline-block"><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd68-1519ea2e" style="background-image:url("https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654c8a46d8dc806fbb9eccea_top-notch.svg")" class="chapter-image-wrap"></div><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd69-1519ea2e" class="chapter-content-wrap-sre"><div class="chapter-subhead w-dyn-bind-empty"></div><h3 class="chapter-name">How to become a top notch SRE</h3><div class="blue-line"></div><p class="chapter-discription-sre">You have some experience with programming or systems administration, development or operations, and now that you have heard about Site Reliability Engineering (SRE) you think this sounds like something you would like to do as your next step. This article will help you learn in greater detail what you need to know to not only be successful, but one of the best SREs.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="a0f9ad67-862c-d9d8-7645-59f9fb1efd67" href="/site-reliability-engineering/the-role-and-responsibilities-of-sres-in-software-engineering" class="chapters-card-sre w-inline-block"><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd68-1519ea2e" style="background-image:url("https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654c893470b744f4191f8e5a_roles.svg")" class="chapter-image-wrap"></div><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd69-1519ea2e" class="chapter-content-wrap-sre"><div class="chapter-subhead w-dyn-bind-empty"></div><h3 class="chapter-name">The role and responsibilities of SREs in software engineering</h3><div class="blue-line"></div><p class="chapter-discription-sre">What do Site Reliability Engineers do and what exactly are they responsible for within an engineering organization? While the specifics will depend on your company, there are some general trends for how SRE teams tend to organize themselves. This article focuses on how SRE teams share responsibilities across members while at the same time recognizing the strengths each member brings to the team as they work towards a common reliability goal.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="a0f9ad67-862c-d9d8-7645-59f9fb1efd67" href="/site-reliability-engineering/sre-vs-devops" class="chapters-card-sre w-inline-block"><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd68-1519ea2e" style="background-image:url("https://cdn.prod.website-files.com/64a52fe92f1fc7debc3007b0/654c88d4f9cebe95d6dd407b_vs.svg")" class="chapter-image-wrap"></div><div id="w-node-a0f9ad67-862c-d9d8-7645-59f9fb1efd69-1519ea2e" class="chapter-content-wrap-sre"><div class="chapter-subhead w-dyn-bind-empty"></div><h3 class="chapter-name">SRE vs DevOps: Can they coexist or do they compete?</h3><div class="blue-line"></div><p class="chapter-discription-sre">DevOps. Site Reliability Engineering (SRE). Are they different or just different names for the same thing? This article explores that question in depth by delving into each and then comparing them.</p></div></a></div></div></div></div></section><section class="section contact-us-cta"><div class="container grid"><div id="w-node-c890b9a9-c706-016d-9b24-a3b0f5a8ea08-f5a8ea06" class="column gap-1rem mobile-bot-1rem"><h2 data-w-id="c890b9a9-c706-016d-9b24-a3b0f5a8ea09" class="heading-xl text-neutral max-width-500px">Avoid downtime. Use Gremlin to turn failure into resilience.</h2><p data-w-id="c890b9a9-c706-016d-9b24-a3b0f5a8ea0b" class="paragraph text-neutral">Gremlin empowers you to proactively root out failure before it causes downtime. See how you can harness chaos to build resilient systems by requesting a demo of Gremlin.</p><div data-w-id="c890b9a9-c706-016d-9b24-a3b0f5a8ea11" class="top-2-rem"><a href="/trial" class="button w-button">get started</a></div></div><div id="w-node-c890b9a9-c706-016d-9b24-a3b0f5a8ea14-f5a8ea06" class="contact-us-cta-image-wrap"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64f72caa02774a2b324d015a_Group%20723.avif" loading="lazy" data-w-id="c890b9a9-c706-016d-9b24-a3b0f5a8ea15" alt="Product Hero Image" class="contact-us-cta-image"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/654916df3e9c55cf7985d3a1_Frame%20(11).svg" loading="lazy" data-w-id="c890b9a9-c706-016d-9b24-a3b0f5a8ea16" alt="Shape" class="bg-gradient-shape"/></div></div></section></div><footer data-wf--footer--variant="base" class="footer-section"><div class="container grid footer"><div id="w-node-efa20e27-2b30-0e54-ff0c-cfb834f5c6b4-654d2164" class="column"><p class="paragraph-medium text-neutral">Sign up for news and best practices from Gremlin</p></div><div id="w-node-_95554617-738a-6869-adb4-9833a7cf7759-654d2164" class="spacer"></div><div id="w-node-_3ee85ca3-854c-3d8e-ebf4-5f81294b57e1-654d2164" class="footer-form-wrapper"><div class="footer-subscribe-form hide w-form"><form id="email-form" name="email-form" data-name="Email Form" method="get" data-wf-page-id="65a84319e1dd4b961519ea2e" data-wf-element-id="7f0bc1d4-fc49-a36b-81ab-3a2d124d5de7" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><label for="email" class="input-label">Email Address:</label><div class="input-wrap"><input class="input-field w-input" maxlength="256" name="email" data-name="Email" placeholder="" type="email" id="email" required=""/><a id="fake-submit" data-w-id="cf1268f9-2989-2e1e-b2cf-9b8324b6bb4f" href="#" class="submit-button w-inline-block"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64e839658c74f4adb98c1249_SVG%20copy.svg" loading="lazy" alt="Arrow Icon" class="submit-icon"/></a></div><input type="submit" data-wait="Please wait..." id="submit" class="button hide w-button" value="Submit"/></form><div class="success-message w-form-done"><div>Email confirmation sent!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="full-width w-embed"><div class="hs-form-frame" data-region="na1" data-form-id="8f0825b7-224f-4dd6-8701-f9f162661c57" data-portal-id="48295595"></div></div></div><div id="w-node-bee6ded2-a5b3-e226-6e52-b0da0e7ea06f-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">COMPANY</div><a href="/demo" class="footer-link">Get a demo</a><a href="/about" class="footer-link">About Gremlin</a><a href="/team" class="footer-link">Careers</a><a href="/contact" class="footer-link">Contact Us</a><a href="/customers" class="footer-link">Customers</a><a href="/partners" class="footer-link">Partners</a><a href="/product" class="footer-link">Product</a></div><div id="w-node-ff7a35de-38a5-810d-0fef-2b16f0086175-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">RESOURCES</div><a href="/resources" class="footer-link">All Resources</a><a href="/blog" class="footer-link">Blog</a><a href="/docs" class="footer-link">Docs</a><a href="/demo-center" class="footer-link">Demo Center</a><a href="/certification" class="footer-link">Certification</a><a href="/security" class="footer-link">Security</a><a href="https://support-site.gremlin.com/" target="_blank" class="footer-link">Support Center</a></div><div id="w-node-c609f962-9467-af7f-8067-052de34a7e9f-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">Solutions</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/solutions/retail" target="_blank" class="footer-link">Retail</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/solutions/finserve" target="_blank" class="footer-link">Finserve</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/solutions/saas" target="_blank" class="footer-link">SAAS</a></div></div></div></div><div id="w-node-_32e5999e-541b-d8a5-9fef-2d0d70c8749f-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">Technologies</div><div class="w-dyn-list"><div role="list" class="collection-list w-dyn-items"><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/dependency-discovery" target="_blank" class="footer-link">Dependency Discovery</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/detected-risks" target="_blank" class="footer-link">Detected Risks</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/disaster-recovery-testing" target="_blank" class="footer-link">Disaster Recovery Testing</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/failure-flags" target="_blank" class="footer-link">Failure Flags</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/fault-injection" target="_blank" class="footer-link">Fault Injection</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/gremlin-private-edition" target="_blank" class="footer-link">Gremlin Private Edition</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/reliability-intelligence" target="_blank" class="footer-link">Reliability Intelligence</a></div><div role="listitem" class="footer-collection-item w-dyn-item"><a href="/technologies/reliability-scoring" target="_blank" class="footer-link">Reliability Scoring</a></div></div></div></div><div id="w-node-_93dabfc0-1c9c-bc82-7b83-0c3b0e662253-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">FEATURED</div><a href="/whitepapers/close-the-reliability-gap" class="footer-link">Ebook: Closing the Reliability Gap</a><a href="/blog/how-gremlins-reliability-score-works/" class="footer-link">How Gremlin's Reliability Score Works</a><a href="/blog/what-is-reliability-management/" class="footer-link">What is Reliability Management</a><a href="/site-reliability-engineering" class="footer-link">What is Site Reliability Engineering?</a><a href="/chaos-engineering" class="footer-link">What is Chaos Engineering?</a></div><div id="w-node-bfc22755-c42f-6cf8-482d-25a7a23deefb-654d2164" class="column _0-5rem-gap mobile"><div class="footer-label">COMPARE</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="w-embed"><a class="footer-link" href="/compare/gremlin-vs-steadybit">Gremlin vs. Steadybit</a></div></div><div role="listitem" class="w-dyn-item"><div class="w-embed"><a class="footer-link" href="/compare/gremlin-vs-harness-resilience-testing">Gremlin vs. Harness Resilience Testing</a></div></div><div role="listitem" class="w-dyn-item"><div class="w-embed"><a class="footer-link" href="/compare/gremlin-vs-aws-fis">Gremlin vs. AWS FIS & Resilience Hub</a></div></div></div></div></div><div id="w-node-be7d47bf-f3bc-7c73-82ca-5a623cb658fc-654d2164" class="column"><div class="footer-label">LEGAL</div><a href="/terms" class="footer-link">Terms</a><a href="/privacy" class="footer-link">Privacy</a><a fs-cc="open-preferences" href="#" class="footer-link">Preferences</a></div><div id="w-node-f56878db-d23d-0c23-f576-64c323bd3988-654d2164" class="column"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="https://secure-stats.pingdom.com/xf7vwkfqygcb" class="flex-horizontal no-underline-link w-inline-block"><div id="pd-indicator" class="dot"></div><div> </div><div id="pd-status" class="footer-label">Loading...</div><div class="w-condition-invisible w-embed w-script"><script>
|
||
const status_success = {
|
||
message: "99.999% uptime, thanks to Gremlin",
|
||
indicator: "green"
|
||
};
|
||
const status_fail = {
|
||
message: "Service disruption",
|
||
indicator: "red"
|
||
};
|
||
const status_unknown = {
|
||
message: "Status unavailable",
|
||
indicator: "yellow"
|
||
};
|
||
|
||
let status = {};
|
||
|
||
switch("up") {
|
||
case "up":
|
||
status = status_success;
|
||
break;
|
||
case "down":
|
||
status = status_fail;
|
||
break;
|
||
default:
|
||
status = status_unknown;
|
||
};
|
||
|
||
const el = document.getElementById("pd-status");
|
||
el.textContent = status.message;
|
||
|
||
const ind = document.getElementById("pd-indicator");
|
||
ind.style.color = status.indicator;
|
||
</script></div></a></div></div></div></div><div id="w-node-e7f1b365-5303-fc07-24fc-6b6ff08bd583-654d2164" class="column grid-4-col"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/6851897825de2cd24cf2caaf_21972-312_SOC_NonCPA-min.png" loading="lazy" alt="The SOC logo" class="card-icon-image"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/655b36e11dd80a8c48ad3245_gdpr.svg" loading="lazy" alt="" class="card-icon-image"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/655b36e1557a0a7fd6df93df_owasp.svg" loading="lazy" alt="" class="card-icon-image"/><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/655b36e127bb0b39f6666b7f_nist.svg" loading="lazy" alt="" class="card-icon-image"/></div><div id="w-node-fd83409d-0f8f-fa9f-84e6-b0d7663fceb0-654d2164" class="footer-devider"></div><div id="w-node-_73c87ccf-69c8-d53d-9241-241543a429d2-654d2164" class="column _0-25rem-gap mobile"><a href="/" class="nav-brand-footer w-nav-brand"><div class="w-embed"><svg viewBox="0 0 140 30" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="css-gea78w"><path d="M26.823 7.575l-5.08 3.239c-.224-.286-.425-.516-.597-.765C19.188 7.2 16.45 5.98 13.061 6.64c-3.45.672-5.653 2.868-6.524 6.23-.968 3.743.586 7.636 3.737 9.637 2.445 1.553 5.059 1.686 7.718.703 1.876-.694 3.053-2.097 3.742-4.173h-6.57v-5.084h13.081c.269 1.906.13 3.756-.335 5.577-1.673 6.563-7.559 10.582-14.524 9.944-6.61-.606-11.9-5.361-13.134-11.81C-1.46 8.728 5.784.37 14.99.65c4.604.14 8.291 2.007 11.042 5.662.276.367.49.78.79 1.264zM97.94 28.968h-5.751c-.025-.451-.067-.864-.067-1.277-.006-3.126.004-6.253-.01-9.379-.003-.542-.034-1.099-.161-1.623-.358-1.477-1.39-2.32-2.834-2.393-1.517-.077-2.767.647-3.242 2.046-.258.762-.376 1.602-.39 2.41-.048 2.93-.026 5.86-.03 8.79v1.382h-5.822c-.021-.409-.06-.822-.062-1.235-.005-3.126.006-6.253-.013-9.379-.003-.58-.048-1.177-.198-1.735-.383-1.43-1.373-2.202-2.798-2.277-1.462-.078-2.725.605-3.197 1.937-.293.83-.42 1.75-.437 2.635-.055 2.89-.026 5.783-.03 8.674v1.38h-5.786V9.657h5.695l.182 1.988c1.707-1.733 3.55-2.626 5.818-2.568 2.29.058 4.114.96 5.523 2.85.556-.425 1.05-.796 1.536-1.174 2.075-1.61 4.446-1.987 6.952-1.475 3.135.641 5.117 3.147 5.171 6.559.067 4.141.027 8.284.029 12.426 0 .191-.041.382-.078.705zM53.595 24.426c-1.67-.52-2.592-1.763-3.127-3.546h14.657c-.127-1.393-.122-2.606-.362-3.77-1.448-7.01-7.415-9.187-12.842-7.502-4.187 1.3-6.953 5.262-6.958 9.759-.005 4.303 2.773 8.122 6.929 9.53 4.387 1.487 9.128.134 11.814-3.38.18-.234.308-.506.493-.815l-4.11-2.797c-1.613 2.473-3.762 3.371-6.494 2.52zm1.572-10.627c2.234-.017 3.764 1.166 4.139 3.285h-8.417c.298-1.88 2.125-3.268 4.277-3.285zM139.904 28.952h-5.725c-.024-.403-.069-.813-.07-1.222-.006-3.123 0-6.246-.008-9.37-.001-.466-.008-.942-.099-1.396-.313-1.558-1.293-2.483-2.754-2.655-1.64-.194-3.064.522-3.65 1.99-.281.704-.41 1.51-.421 2.271-.047 3.005-.02 6.012-.02 9.018v1.349h-5.807V9.654h5.71l.175 1.89c.409-.317.71-.539.998-.776 2.242-1.854 4.789-2.125 7.46-1.243 2.66.878 4.262 3.317 4.288 6.392.035 4.06.011 8.12.007 12.18 0 .264-.051.527-.084.855zM101.936 1.24h5.718v27.713h-5.718V1.241zM30.983 28.905V9.625c1.887-.138 3.752-.078 5.715-.022v19.213c-.785.254-3.964.32-5.715.09zM111.64 28.95V9.65h5.72v19.3h-5.72zM117.993 4.156c-.017 1.964-1.59 3.475-3.575 3.437-1.92-.037-3.457-1.567-3.471-3.456-.015-1.923 1.584-3.499 3.548-3.495 1.987.003 3.516 1.539 3.498 3.514zM41.636 9.1c1.979.011 3.504 1.536 3.494 3.493a3.488 3.488 0 01-3.54 3.468c-1.943-.015-3.523-1.596-3.51-3.514.013-1.927 1.592-3.459 3.556-3.447z" fill="currentColor"></path></svg></div></a><div class="copyright-label">© 2026 Gremlin Inc. Claymont, DE 19703</div></div><div id="w-node-ea526ae5-63c3-248c-0936-225f79bf9094-654d2164" class="social-wrap"><a href="https://www.linkedin.com/company/gremlin-inc./" target="_blank" class="social-link w-inline-block"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64e82bfcf4507a268c7b46fd_Vector%20copy%202.svg" loading="lazy" alt="Linkedin Icon" class="social-icon"/></a><a href="https://twitter.com/GremlinInc" target="_blank" class="social-link w-inline-block"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/658036aba175ab06e0f8409d_x-social-media-white-icon.webp" loading="lazy" alt="X icon for the social media site" class="social-icon"/></a><a href="https://www.facebook.com/gremlininc/" target="_blank" class="social-link w-inline-block"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64e82bfc43656941aba4fa2e_Vector%20copy.svg" loading="lazy" alt="Facebook Icon" height="Auto" class="social-icon"/></a><a href="https://www.instagram.com/thegremlininc/" target="_blank" class="social-link hidden w-inline-block"><img src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/64e82bfc43656941aba4fa67_SVG.svg" loading="lazy" alt="Instagram Icon" class="social-icon"/></a></div></div><div class="container grid"></div><div class="hide w-embed"><style>
|
||
.bg-blue-gradient {
|
||
background: linear-gradient(to right, #2F2256,#2f285e,#2f2e67,#2f3470,#2f3b79,#304182,#30478b,#304d94,#30549d,#305aa6,#3160ae,#3166b7,#316dc0,#3173c9,#3179d2,#327fdb,#3286e4,#328ced,#3292f6,#39f);
|
||
}
|
||
|
||
html.wf-design-mode .fs-preferences-manager-wrapper {
|
||
display: none;
|
||
}
|
||
</style></div><div class="cookies"><div id="consentPopup" fs-cc="banner" class="fs-cookie-popup-prod shadow"><p class="cookie-paragraph blog-rich-text">We use cookies to analyze website traffic, serve personalized content, and improve your browsing experience. By clicking "Accept", you consent to our use of cookies. See our <a href="/privacy" target="_blank">Privacy Policy</a> for more information.</p><div id="w-node-ce2a821c-5c62-d312-7328-6097d9074ba5-654d2164" class="button-wrapper-3"><a fs-cc="open-preferences" id="w-node-ce2a821c-5c62-d312-7328-6097d9074baa-654d2164" href="#" class="preferences-link-2">Preferences</a><a fs-cc="deny" id="w-node-ce2a821c-5c62-d312-7328-6097d9074ba8-654d2164" href="#" class="nav-button variant w-button">Reject</a><a fs-cc="allow" id="w-node-ce2a821c-5c62-d312-7328-6097d9074ba6-654d2164" href="#" class="button w-button">Accept</a></div></div><div fs-cc="preferences" class="fs-preferences-manager-wrapper"><div class="preferences-container"><a fs-cc="close" href="#" class="close-top-bar-icon w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/68b8510ed3e434954be8c87a_np_close_25798_27313D.svg" alt="" class="image-3"/></a><div class="blog-card-heading">Preferences</div><p class="paragraph-xxs">You have the option to disable cookies that are not essential for the website's basic functionality. Please note that disabling these may negatively impact your browsing experience. See our <a href="/privacy" target="_blank">privacy policy</a> for more information.</p><div class="consents-form w-form"><form id="wf-form-Consent-Form" name="wf-form-Consent-Form" data-name="Consent Form" method="get" data-wf-page-id="65a84319e1dd4b961519ea2e" data-wf-element-id="ce2a821c-5c62-d312-7328-6097d9074bba" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="grid"><div class="text-div"><label for="name" class="paragraph-small">Essential</label><p class="paragraph-xxs">These are required for basic website functionality.<br/></p></div><p id="w-node-ce2a821c-5c62-d312-7328-6097d9074bc2-654d2164" class="bold">Required</p></div><div class="grid"><div class="text-div"><label for="name" class="paragraph-small">Marketing</label><p class="paragraph-xxs">These allow us to provide you with more relevant content and a more personalized experience.<br/></p></div><label id="w-node-ce2a821c-5c62-d312-7328-6097d9074bcc-654d2164" class="w-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom checkbox-2 w--redirected-checked"></div><input type="checkbox" name="checkbox-4" id="checkbox-4" data-name="Checkbox 4" fs-cc-checkbox="marketing" style="opacity:0;position:absolute;z-index:-1" checked=""/><span class="checkbox-label-2 w-form-label" for="checkbox-4"></span></label></div><div fs-cc-checkbox="analytics" class="grid"><div class="text-div"><label for="name" class="paragraph-small">Analytics</label><p class="paragraph-xxs">These help us understand how our website is performing, how visitors are using it, and what (if any) technical issues are affecting usability.</p></div><label id="w-node-ce2a821c-5c62-d312-7328-6097d9074be0-654d2164" class="w-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom checkbox-2 w--redirected-checked"></div><input type="checkbox" name="checkbox-3" id="checkbox-3" data-name="Checkbox 3" fs-cc-checkbox="analytics" style="opacity:0;position:absolute;z-index:-1" checked=""/><span class="checkbox-label-2 w-form-label" for="checkbox-3"></span></label></div><div class="cta-button-wrapper align-right"><input type="submit" data-wait="Please wait..." fs-cc="submit" class="button w-button" value="Confirm"/></div></form><div class="success-message w-form-done"><div>Your preferences have been saved.</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div></footer><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=64a5291e7847ac04fe1531ad" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/js/gremlin-x-flowninja.schunk.f2efb3c5440a81cf.js" type="text/javascript" integrity="sha384-VK02VJvMib7ytrF5M2joPWNtDQs366FZgEQ5B+Iwnjx0WBnwQXfootyziSYxdrmS" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/js/gremlin-x-flowninja.schunk.d657d46f9c9507c9.js" type="text/javascript" integrity="sha384-3xUNFPAO2EEkJPeP2GNrG+R+L2OukanyV3NnbwD72zZn4M4ne/A3yPPU/AWm4yjm" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/64a5291e7847ac04fe1531ad/js/gremlin-x-flowninja.a5800217.54a318d282967e0e.js" type="text/javascript" integrity="sha384-+9SOJXtt5bozvhvKsNMfKFFfQm/Hi588L7JEgzz4XfZ9ZeBeNVmhfAZmNwMDD+57" crossorigin="anonymous"></script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MRKZ93T" height="0" width="0" style="display: none; visibility: hidden" aria-hidden="true"></iframe></noscript>
|
||
|
||
<!-- Disable Scroll Script -->
|
||
<script>
|
||
var Webflow = Webflow || [];
|
||
Webflow.push(function () {
|
||
var $body = $(document.body);
|
||
var scrollPosition = 0;
|
||
|
||
$('[scroll="disable"]').on('click', function () {
|
||
var oldWidth = $body.innerWidth();
|
||
scrollPosition = window.pageYOffset;
|
||
$body.css('overflow', 'hidden');
|
||
$body.css('position', 'fixed');
|
||
$body.css('top', `-${scrollPosition}px`);
|
||
$body.width(oldWidth);
|
||
});
|
||
$('[scroll="enable"]').on('click', function () {
|
||
if ($body.css('overflow') != 'hidden') {
|
||
scrollPosition = window.pageYOffset;
|
||
}
|
||
$body.css('overflow', '');
|
||
$body.css('position', '');
|
||
$body.css('top', '');
|
||
$body.width('');
|
||
$(window).scrollTop(scrollPosition);
|
||
});
|
||
$('[scroll="both"]').on('click', function () {
|
||
if ($body.css('overflow') !== 'hidden') {
|
||
var oldWidth = $body.innerWidth();
|
||
scrollPosition = window.pageYOffset;
|
||
$body.css('overflow', 'hidden');
|
||
$body.css('position', 'fixed');
|
||
$body.css('top', `-${scrollPosition}px`);
|
||
$body.width(oldWidth);
|
||
} else {
|
||
$body.css('overflow', '');
|
||
$body.css('position', '');
|
||
$body.css('top', '');
|
||
$body.width('');
|
||
$(window).scrollTop(scrollPosition);
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<!-- Custom popout component -->
|
||
<script>
|
||
class Popout extends HTMLElement {
|
||
connectedCallback() {
|
||
let type = this.getAttribute('type') || 'note';
|
||
const title = this.getAttribute('title') || 'Note';
|
||
const body = this.innerHTML;
|
||
|
||
// Identify note type using title for backwards compatability. All future notes should use the type field
|
||
const types = ["note", "warning", "important"];
|
||
const lowerTitle = title.toLowerCase();
|
||
if (lowerTitle !== type && types.includes(lowerTitle)){
|
||
type = lowerTitle;
|
||
}
|
||
|
||
// Get color scheme
|
||
let colorscheme = "card-base card-small card-shadow";
|
||
switch(type) {
|
||
case "warning":
|
||
colorscheme += " card-highlight";
|
||
break;
|
||
case "important":
|
||
colorscheme += " card-gradient-deep";
|
||
break;
|
||
default:
|
||
colorscheme += " card-gradient-orchid";
|
||
break;
|
||
}
|
||
|
||
this.innerHTML = `
|
||
<div class="${colorscheme}">
|
||
${title ? `<div class="card-title">${title}</div>` : ''}
|
||
<div class="card-body">${body}</div>
|
||
</div>`;
|
||
|
||
/*
|
||
this.innerHTML = `
|
||
<div fs-richtext-component="block-content" class="block-in-rich-text">
|
||
${title ? `<div class="tip-card-title green-tip">${title}</div>` : ''}
|
||
<div>${body}</div>
|
||
</div>`;
|
||
*/
|
||
}
|
||
}
|
||
customElements.define('gr-popout', Popout);
|
||
</script>
|
||
|
||
<style>
|
||
gr-popout { display: block; } /* unknown elements are inline by default */
|
||
gr-popout:not(:defined) { visibility: hidden; } /* avoids a flash of unstyled text */
|
||
</style>
|
||
<!-- End custom popout component -->
|
||
|
||
<!-- Custom code block component -->
|
||
<script>
|
||
(function () {
|
||
const COPY_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" class="CK__Icon css-1ea9lxr"><g stroke="currentColor" fill-rule="evenodd" stroke-width="1.5"><path d="M10.9 8.7h9.9c1.2 0 2.2 1 2.2 2.2v9.9c0 1.2-1 2.2-2.2 2.2h-9.9c-1.2 0-2.2-1-2.2-2.2v-9.9c0-1.2 1-2.2 2.2-2.2z"></path><path d="M4.3 15.3H3.2c-1.2 0-2.2-1-2.2-2.2V3.2C1 2 2 1 3.2 1h9.9c1.2 0 2.2 1 2.2 2.2v1.1"></path></g></svg>';
|
||
|
||
const LABELS = {
|
||
js: 'JavaScript', javascript: 'JavaScript', ts: 'TypeScript',
|
||
py: 'Python', python: 'Python', yaml: 'YAML', yml: 'YAML',
|
||
shell: 'Shell', bash: 'Shell', sh: 'Shell', json: 'JSON',
|
||
go: 'Go', hcl: 'HCL', kubernetes: 'Kubernetes'
|
||
};
|
||
|
||
let instance = 0;
|
||
|
||
function dedent(src) {
|
||
const lines = src.replace(/\t/g, ' ').split('\n');
|
||
while (lines.length && !lines[0].trim()) lines.shift();
|
||
while (lines.length && !lines[lines.length - 1].trim()) lines.pop();
|
||
if (!lines.length) return '';
|
||
const pad = Math.min(...lines.filter(l => l.trim())
|
||
.map(l => l.match(/^ */)[0].length));
|
||
return lines.map(l => l.slice(pad)).join('\n');
|
||
}
|
||
|
||
function div(className) {
|
||
const el = document.createElement('div');
|
||
if (className) el.className = className;
|
||
return el;
|
||
}
|
||
|
||
class CodeBlock extends HTMLElement {
|
||
connectedCallback() {
|
||
const raw = this.querySelector('script[type="text/plain"]');
|
||
const source = dedent(raw ? raw.textContent : this.textContent);
|
||
const lang = (this.getAttribute('lang') || 'plaintext').toLowerCase();
|
||
const label = this.getAttribute('label') || LABELS[lang] || lang;
|
||
|
||
const n = ++instance;
|
||
const suffix = n === 1 ? '' : '-' + n;
|
||
|
||
const wrapper = div('code-higlight-wrapper'); // sic — matches your class
|
||
|
||
const header = div('code-highlight-header');
|
||
const langWrap = div('code-language-wrapper');
|
||
const langText = div();
|
||
langText.textContent = label.toUpperCase();
|
||
langWrap.append(langText);
|
||
|
||
const copyWrap = div('copy-icon-wrapper');
|
||
const copyIcon = div('copy-icon w-embed');
|
||
copyIcon.setAttribute('fs-copyclip-element', 'click' + suffix);
|
||
copyIcon.setAttribute('fs-copyclip-message', 'Copied!');
|
||
copyIcon.setAttribute('role', 'button');
|
||
copyIcon.setAttribute('tabindex', '0');
|
||
copyIcon.setAttribute('aria-label', 'Copy code');
|
||
copyIcon.innerHTML = COPY_SVG;
|
||
copyWrap.append(copyIcon);
|
||
|
||
header.append(langWrap, copyWrap);
|
||
|
||
const body = div('code-highlight w-embed');
|
||
const pre = document.createElement('pre');
|
||
pre.className = 'language-' + lang;
|
||
const code = document.createElement('code');
|
||
code.className = 'language-' + lang;
|
||
code.setAttribute('fs-copyclip-element', 'copy-this' + suffix);
|
||
code.textContent = source; // no parsing, no escaping bugs
|
||
pre.append(code); // no stray whitespace
|
||
body.append(pre);
|
||
|
||
wrapper.append(header, body);
|
||
this.replaceChildren(wrapper);
|
||
|
||
if (window.Prism) Prism.highlightElement(code);
|
||
}
|
||
}
|
||
customElements.define('gr-code', CodeBlock);
|
||
})();
|
||
</script>
|
||
|
||
<style>
|
||
gr-code { display: block; }
|
||
gr-code:not(:defined) { display: none; }
|
||
</style>
|
||
<!-- End custom code block component -->
|
||
|
||
<!-- HubSpot forms loader — sitewide (portal 48295595). Scans every page
|
||
for div.hs-form-html and renders the matching form into it. One
|
||
copy handles any number of forms on any page, so this never needs
|
||
to be added again per-form. Added for the Gremlin Form
|
||
component (see /components page). -->
|
||
<script src="https://js.hsforms.net/forms/embed/developer/48295595.js" defer></script><script>
|
||
setTimeout(() => {
|
||
const nextElement = document.querySelector('[fs-cmsprevnext-element="next"] a');
|
||
const previousElement = document.querySelector('[fs-cmsprevnext-element="previous"] a');
|
||
if (window.innerWidth > 991) {
|
||
if (nextElement !== null && nextElement !== undefined) {
|
||
nextElement.innerText = 'Next';
|
||
}
|
||
if (previousElement !== null && previousElement !== undefined) {
|
||
previousElement.innerText = 'Previous';
|
||
}
|
||
}
|
||
if (window.innerWidth < 992) {
|
||
if (nextElement == null || nextElement == undefined) {
|
||
document.querySelector('[fs-cmsprevnext-element="next"]').innerText = '';
|
||
}
|
||
if (previousElement == null || previousElement == undefined) {
|
||
document.querySelector('[fs-cmsprevnext-element="previous"]').innerText = '';
|
||
}
|
||
if (nextElement !== null && nextElement !== undefined) {
|
||
nextElement.innerText = '';
|
||
}
|
||
if (previousElement !== null && previousElement !== undefined) {
|
||
previousElement.innerText = '';
|
||
}
|
||
}
|
||
}, 1000);
|
||
</script>
|
||
|
||
<!-- Script for copying code on click -->
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', function () {
|
||
// Get all elements with the class "copy-icon"
|
||
var copyIcons = document.querySelectorAll('.copy-icon');
|
||
|
||
// Iterate over each copy icon and attach a click event listener
|
||
copyIcons.forEach(function (copyIcon) {
|
||
// Create a copy feedback element
|
||
var copyFeedback = document.createElement('span');
|
||
copyFeedback.className = 'copy-feedback';
|
||
copyFeedback.innerText = 'Copied!';
|
||
|
||
copyIcon.appendChild(copyFeedback);
|
||
|
||
copyIcon.addEventListener('click', function () {
|
||
// Find the common parent element
|
||
var parentWrapper = copyIcon.closest('.code-higlight-wrapper');
|
||
|
||
if (!parentWrapper) {
|
||
console.error('Parent wrapper not found');
|
||
return;
|
||
}
|
||
|
||
// Find the code element within the parent wrapper
|
||
var codeElement = parentWrapper.querySelector('code[class*="language-"]');
|
||
|
||
if (!codeElement) {
|
||
console.error('Code element not found');
|
||
return;
|
||
}
|
||
|
||
// Select the text content of the code element
|
||
var textToCopy = codeElement.innerText || codeElement.textContent;
|
||
|
||
// Create a temporary textarea to perform the copy
|
||
var tempTextarea = document.createElement('textarea');
|
||
tempTextarea.value = textToCopy;
|
||
|
||
// Append the textarea to the document
|
||
document.body.appendChild(tempTextarea);
|
||
|
||
// Select the text in the textarea
|
||
tempTextarea.select();
|
||
tempTextarea.setSelectionRange(0, 99999); // For mobile devices
|
||
|
||
// Execute the copy command
|
||
document.execCommand('copy');
|
||
|
||
// Remove the temporary textarea
|
||
document.body.removeChild(tempTextarea);
|
||
|
||
// Show the copy feedback
|
||
copyFeedback.style.opacity = 1;
|
||
|
||
// Hide the copy feedback after a brief delay
|
||
setTimeout(function () {
|
||
copyFeedback.style.opacity = 0;
|
||
}, 1000);
|
||
});
|
||
});
|
||
});
|
||
</script><script src="https://hubspotv2.use1-marketplace-1p-apps-prod-red.if.webflow.services/static/disable-hubspot-chatbot.js" type="text/javascript" async="" defer=""></script><script src="https://js.hs-scripts.com/48295595.js" type="text/javascript" async="" defer=""></script></body></html> |