Files
nexus/sreweekly/articles/485/01-migrating-the-jira-database-platform-to-aws-aurora.html
2026-09-12 17:23:01 +08:00

1748 lines
214 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
<!-- This site is optimized with the Yoast SEO plugin v26.9 - https://yoast.com/product/yoast-seo-wordpress/ -->
<meta name="description" content="Explore how Atlassian successfully migrated four million Jira databases to AWS Aurora, overcoming unique technical and operational challenges at massive scale. Learn how the team balanced reliability, performance, and ambitious cost-saving goals—while minimizing downtime and user impact—by leveraging innovative migration strategies, automation, and close collaboration with AWS." />
<link rel="canonical" href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Migrating the Jira Database Platform to AWS Aurora - Inside Atlassian" />
<meta property="og:description" content="Explore how Atlassian successfully migrated four million Jira databases to AWS Aurora, overcoming unique technical and operational challenges at massive scale. Learn how the team balanced reliability, performance, and ambitious cost-saving goals—while minimizing downtime and user impact—by leveraging innovative migration strategies, automation, and close collaboration with AWS." />
<meta property="og:url" content="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora" />
<meta property="og:site_name" content="Inside Atlassian" />
<meta property="article:publisher" content="https://www.facebook.com/Atlassian" />
<meta property="article:published_time" content="2025-07-02T00:07:43+00:00" />
<meta property="article:modified_time" content="2025-07-08T08:26:55+00:00" />
<meta property="og:image" content="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png" />
<meta property="og:image:width" content="1080" />
<meta property="og:image:height" content="512" />
<meta property="og:image:type" content="image/png" />
<meta name="author" content="Pat Rubis" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:creator" content="@Atlassian" />
<meta name="twitter:site" content="@Atlassian" />
<meta name="twitter:label1" content="Written by" />
<meta name="twitter:data1" content="Pat Rubis" />
<meta name="twitter:label2" content="Est. reading time" />
<meta name="twitter:data2" content="12 minutes" />
<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#article","isPartOf":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora"},"author":[{"@id":"https://www.atlassian.com/blog/#/schema/person/image/65720f38ea424d919d3159c38139dfe4"}],"headline":"Migrating the Jira Database Platform to AWS Aurora","datePublished":"2025-07-02T00:07:43+00:00","dateModified":"2025-07-08T08:26:55+00:00","mainEntityOfPage":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora"},"wordCount":2257,"image":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#primaryimage"},"thumbnailUrl":"https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png","keywords":["how we build"],"articleSection":["How We Build"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora","url":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora","name":"Migrating the Jira Database Platform to AWS Aurora - Inside Atlassian","isPartOf":{"@id":"https://www.atlassian.com/blog/#website"},"primaryImageOfPage":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#primaryimage"},"image":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#primaryimage"},"thumbnailUrl":"https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png","datePublished":"2025-07-02T00:07:43+00:00","dateModified":"2025-07-08T08:26:55+00:00","author":{"@id":"https://www.atlassian.com/blog/#/schema/person/5397476cb78e6c6f761386b176c16e28"},"description":"Explore how Atlassian successfully migrated four million Jira databases to AWS Aurora, overcoming unique technical and operational challenges at massive scale. Learn how the team balanced reliability, performance, and ambitious cost-saving goals—while minimizing downtime and user impact—by leveraging innovative migration strategies, automation, and close collaboration with AWS.","breadcrumb":{"@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#primaryimage","url":"https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png","contentUrl":"https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png","width":1080,"height":512},{"@type":"BreadcrumbList","@id":"https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.atlassian.com/blog/"},{"@type":"ListItem","position":2,"name":"Migrating the Jira Database Platform to AWS Aurora"}]},{"@type":"WebSite","@id":"https://www.atlassian.com/blog/#website","url":"https://www.atlassian.com/blog/","name":"Inside Atlassian","description":"Research, expert perspectives, and product announcements from Atlassian on how teams can work smarter with AI. Subscribe for monthly insights on the future of teamwork.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.atlassian.com/blog/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.atlassian.com/blog/#/schema/person/image/65720f38ea424d919d3159c38139dfe4","name":"Pat Rubis","url":"https://www.atlassian.com/blog/author/pat-rubis"}]}</script>
<!-- / Yoast SEO plugin. -->
<title>Migrating the Jira Database Platform to AWS Aurora - Inside Atlassian</title>
<link rel='dns-prefetch' href='//atl-global.atlassian.com' />
<link rel='dns-prefetch' href='//stats.wp.com' />
<link rel="alternate" type="application/rss+xml" title="Inside Atlassian &raquo; Feed" href="https://www.atlassian.com/blog/feed" />
<link rel="alternate" type="application/rss+xml" title="Inside Atlassian &raquo; Comments Feed" href="https://www.atlassian.com/blog/comments/feed" />
<link rel="alternate" type="application/rss+xml" title="Inside Atlassian &raquo; Migrating the Jira Database Platform to AWS Aurora Comments Feed" href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora/feed" />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://atlassianblog.wpengine.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fhow-we-build%2Fmigrating-jira-database-platform-to-aws-aurora" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://atlassianblog.wpengine.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fhow-we-build%2Fmigrating-jira-database-platform-to-aws-aurora&#038;format=xml" />
<style id="wp-img-auto-sizes-contain-inline-css">
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<link rel='stylesheet' id='jetpack_related-posts-css' href='https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/modules/related-posts/related-posts.css?ver=20240116' media='all' />
<style id="wp-block-image-inline-css">
.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/image/style.min.css */
</style>
<style id="wp-block-paragraph-inline-css">
.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/paragraph/style.min.css */
</style>
<style id="wp-block-group-inline-css">
.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/group/style.min.css */
</style>
<style id="wp-block-button-inline-css">
.wp-block-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/button/style.min.css */
</style>
<style id="wp-block-buttons-inline-css">
.wp-block-buttons{box-sizing:border-box}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons .wp-block-button__link{width:100%}.wp-block-button.aligncenter{text-align:center}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/buttons/style.min.css */
</style>
<style id="wp-block-columns-inline-css">
.wp-block-columns{box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns{align-items:normal!important}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/columns/style.min.css */
</style>
<style id="rkv-banner-style-inline-css">
@property --rkv-banner--height{syntax:"<length>";inherits:true;initial-value:0}.wp-block-rkv-banner{position:relative}.wp-block-rkv-banner[hidden]{display:none}.wp-block-rkv-banner p{white-space:normal}.wp-block-rkv-banner button.alert-bar__close{align-content:center;align-items:center;appearance:none;background:none;border:none;cursor:pointer;display:flex;height:24px;justify-content:center;justify-items:center;margin:8px;padding:0;position:absolute;right:0;top:8px;width:24px;z-index:1}.wp-block-rkv-banner button.alert-bar__close svg{height:14px;width:14px}.wp-block-rkv-banner button.alert-bar__close svg path{stroke:var(--button-color,#000)}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/banner/style-block.css */
</style>
<style id="wp-block-post-title-inline-css">
.wp-block-post-title{box-sizing:border-box;word-break:break-word}.wp-block-post-title :where(a){display:inline-block;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/post-title/style.min.css */
</style>
<style id="wp-block-heading-inline-css">
h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/heading/style.min.css */
</style>
<style id="atlassian-consenthub-form-style-inline-css">
form{display:flex;flex-flow:column;gap:var(--wp--preset--spacing--300,24px)}.form-fields{align-items:flex-end;display:flex;gap:var(--wp--preset--spacing--100);justify-content:center}@media(max-width:767px){.form-fields{align-items:stretch;flex-direction:column;gap:32px}.form-fields .form-footer{margin:0 auto}}.form-body{flex-grow:1;padding:unset!important}.form-body label{display:block;margin-bottom:var(--wp--preset--spacing--100,8px)}.form-body input{border:0;border-radius:3px;box-sizing:border-box;font-family:var(--wp--preset--font-family--charlie-text,"Charlie Text",sans-serif);padding:10px;width:100%}.form-body .consenthub-email{border:2px solid var(--wp--preset--color--primary);border-radius:8px}.form-footer button[type=submit]{background-color:var(--wp--preset--color--blue);border-radius:100px;color:var(--wp--preset--color--white);cursor:pointer;font-family:var(--wp--preset--font-family--charlie-text);font-size:var(--wp--preset--font-size--fs-1250);font-weight:500}.form-footer button[type=submit]:focus,.form-footer button[type=submit]:hover{background-color:var(--wp--custom--color--navy);color:var(--wp--preset--color--white)}.form-footer button[type=submit]:focus{outline:2px solid var(--wp--preset--color--blue);outline-offset:2px}.form-footer button[type=submit].is-style-primary-alt{background-color:var(--wp--preset--color--yellow);color:var(--wp--preset--color--black)}.form-footer button[type=submit].is-style-primary-alt:focus,.form-footer button[type=submit].is-style-primary-alt:hover{background-color:var(--wp--custom--color--yellow-200);color:var(--wp--preset--color--black)}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/consenthub-form/style-block.css */
</style>
<style id="jetpack-block-sharing-button-inline-css">
a.jetpack-sharing-button__button{color:inherit}.jetpack-sharing-button__button{align-items:center;background:#fff;border-radius:4px;box-shadow:0 1px 2px #0000001f,0 0 0 1px #0000001f;color:inherit;cursor:default;display:flex;flex-direction:row;font-size:inherit;font-weight:500;height:auto;justify-content:center;line-height:23px;margin:4px 4px 0;padding:4px 9px 3px;text-decoration:none}.jetpack-sharing-button__button svg{fill:currentColor;height:1.5em;width:1.5em}.jetpack-sharing-button__button:hover{box-shadow:0 1px 2px #00000038,0 0 0 1px #00000038;cursor:pointer}.jetpack-sharing-button__button.components-button{font-size:inherit;padding:4px 11px 3px 9px}.jetpack-sharing-button__button.style-icon{border:0;border-radius:50%;box-shadow:none;color:#fff;height:auto;line-height:1;margin-bottom:0;padding:7px;position:relative;top:-2px;width:auto}.jetpack-sharing-button__button.style-icon.share-bluesky{background:#0085ff}.jetpack-sharing-button__button.style-icon.share-x{background:#000}.jetpack-sharing-button__button.style-icon.share-print{background:#c5c2c2}.jetpack-sharing-button__button.style-icon.share-reddit{background:#5f99cf}.jetpack-sharing-button__button.style-icon.share-facebook{background:#0866ff}.jetpack-sharing-button__button.style-icon.share-linkedin{background:#0976b4}.jetpack-sharing-button__button.style-icon.share-mail{background:#c5c2c2}.jetpack-sharing-button__button.style-icon.share-twitter{background:#55acee}.jetpack-sharing-button__button.style-icon.share-tumblr{background:#35465c}.jetpack-sharing-button__button.style-icon.share-pinterest{background:#cc2127}.jetpack-sharing-button__button.style-icon.share-telegram{background:#08c}.jetpack-sharing-button__button.style-icon.share-threads{background:#000}.jetpack-sharing-button__button.style-icon.share-whatsapp{background:#43d854}.jetpack-sharing-button__button.style-icon.share-mastodon{background:#6364ff}.jetpack-sharing-button__button.style-icon.share-nextdoor{background:#8ed500}.jetpack-sharing-button__button.style-icon.share-share{background:#000}.jetpack-sharing-button__button.style-icon.is-custom{padding:8px;top:2px}.jetpack-sharing-button__button.style-icon-text{margin-inline-end:4px;padding-inline-end:11px}.style-icon .jetpack-sharing-button__service-label,.style-text .sharing-buttons-preview-button__custom-icon,.style-text .social-logo{display:none}.jetpack-sharing-button__list-item{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;list-style-type:none;padding:0}.jetpack-sharing-button__list-item:first-child .jetpack-sharing-button__button{margin-inline-start:0}.style-icon-text .jetpack-sharing-button__service-label{margin-inline-start:5px}.tooltip{display:inline-block;position:relative}.tooltip .tooltiptext{background-color:#555;border-radius:6px;bottom:120%;color:#fff;display:none;padding:5px;position:absolute;text-align:center;width:5.5em}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/sharing-button/view.css?minify=false */
</style>
<style id="jetpack-sharing-buttons-style-inline-css">
.jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/sharing-buttons/view.css */
</style>
<style id="rkv-post-progress-bar-style-inline-css">
.wp-block-rkv-post-progress-bar{display:none}@media(min-width:1024px){.wp-block-rkv-post-progress-bar{display:block}}.wp-block-rkv-post-progress-bar{background:#fff;position:fixed;top:calc(var(--self-height, 100px)*-1);transition:top .3s ease-in-out;width:100%;z-index:5}.wp-block-rkv-post-progress-bar.in-view{top:calc(var(--wp-admin--admin-bar--height, 0px))}.wp-block-rkv-post-progress-bar:after{background-color:var(--wp--preset--color--blue);content:"";height:4px;position:absolute;width:clamp(0%,var(--page-progress),100%);botton:-4px;margin-inline:calc(var(--wp--preset--spacing--700)*-1)}.wp-block-rkv-post-progress-bar .wp-block-post-title{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;-webkit-box-orient:vertical}.wp-block-rkv-post-progress-bar .wp-block-button__link{text-wrap:nowrap}.wp-block-rkv-post-progress-bar .wp-block-jetpack-sharing-buttons{flex-wrap:nowrap}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/post-progress-bar/style-block.css */
</style>
<style id="rkv-mega-menu-featured-card-style-inline-css">
.wp-block-rkv-mega-menu-featured-card{position:relative}.wp-block-rkv-mega-menu-featured-card .card-link{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.wp-block-rkv-mega-menu-featured-card .media{aspect-ratio:1;height:40px;margin-bottom:8px;object-fit:contain;object-position:left;width:40px}.wp-block-rkv-mega-menu-featured-card .title{color:var(--wp--preset--color--black);font-size:16px;font-weight:700;letter-spacing:0;line-height:24px;margin-block:0 4px}.wp-block-rkv-mega-menu-featured-card .caption{color:var(--wp--preset--color--black);font-size:12px;font-weight:400;letter-spacing:0;line-height:18px;margin-block:0;white-space:break-spaces}.wp-block-navigation__responsive-container.has-modal-open .wp-block-rkv-mega-menu-featured-card{align-items:center;column-gap:8px;display:grid;grid-template-areas:"media title" "media caption";justify-content:start;padding-block:8px;row-gap:2px}.wp-block-navigation__responsive-container.has-modal-open .wp-block-rkv-mega-menu-featured-card .media{-ms-grid-row:1;-ms-grid-row-span:3;grid-area:media;-ms-grid-column:1;height:32px;margin:0;width:32px}.wp-block-navigation__responsive-container.has-modal-open .wp-block-rkv-mega-menu-featured-card .title{font-size:14px;grid-area:title;-ms-grid-column:3;-ms-grid-row:1;line-height:1;margin:0}.wp-block-navigation__responsive-container.has-modal-open .wp-block-rkv-mega-menu-featured-card .caption{font-size:12px;grid-area:caption;-ms-grid-column:3;-ms-grid-row:3;line-height:14px}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/mega-menu-featured-card/style-block.css */
</style>
<style id="rkv-mega-menu-style-inline-css">
.wp-block-rkv-mega-menu button{background-color:initial;border:none;color:currentColor;cursor:pointer;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;height:100%;line-height:inherit;padding:0;text-transform:inherit}.wp-block-rkv-mega-menu .menu-container{background:#fff;height:auto;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .1s linear;width:var(--wp--style--global--wide-size);z-index:2}.wp-block-rkv-mega-menu .menu-container .menu-container__close-button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:#fff;border:none;border-radius:999px;cursor:pointer;display:flex;justify-content:center;opacity:0;padding:4px;position:absolute;right:12px;text-align:center;top:12px;transition:opacity .2s ease;z-index:100}.wp-block-rkv-mega-menu .menu-container .menu-container__close-button:focus,.wp-block-rkv-mega-menu .menu-container:hover .menu-container__close-button{opacity:1}.main-nav{z-index:1001}.rkv-mega-menu-panel{color:var(--wp--preset--color--text-gray,#586f78);display:none;font-size:14px;font-weight:600;line-height:22.4px}.rkv-mega-menu-panel h2{font-size:20px;font-weight:700;line-height:22px}.rkv-mega-menu-panel h3{font-size:18px;font-weight:600;line-height:19.8px}.rkv-mega-menu-panel h3 a{color:inherit;text-decoration:none;transition:.5s}.rkv-mega-menu-panel h3 a:hover{color:var(--wp--preset--color--blue);text-decoration:underline;text-underline-offset:2px}.rkv-mega-menu-panel .wp-block-columns[class] .wp-block-column[class].is-layout-flow.wp-block-column-is-layout-flow{row-gap:32px}.rkv-mega-menu-panel .wp-block-columns[class] .wp-block-column[class].is-layout-flow.wp-block-column-is-layout-flow:has(.wp-block-image+.wp-block-buttons[class]){min-width:327px;padding-inline:0}.rkv-mega-menu-panel .wp-block-columns[class] .wp-block-column[class].is-layout-flow.wp-block-column-is-layout-flow .wp-block-group.is-vertical.is-layout-flex.wp-block-group-is-layout-flex{row-gap:0}.rkv-mega-menu-panel .wp-block-image+.wp-block-buttons[class]>.wp-block-button.is-style-arrow[class]>.wp-block-button__link[class]{--block--button-font-size:24px;--block--button-line-height:26.4px;--block--button-font-weight:600}.rkv-mega-menu-panel .wp-block-image+.wp-block-buttons[class]>.wp-block-button.is-style-arrow[class]>.wp-block-button__link[class]:after{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2717%27 height=%2714%27 fill=%27none%27%3E%3Cpath fill=%27%23364248%27 fill-rule=%27evenodd%27 d=%27M10 0H6l5.5 5.5H2l-2 3h11.5L6 14h4l7-7z%27 clip-rule=%27evenodd%27/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:17px 14px;border:1px solid #ddd;border-radius:50%;height:40px;mask:none;-webkit-mask:none;padding:0;width:40px}.rkv-mega-menu-panel .wp-block-image+.wp-block-buttons[class]>.wp-block-button.is-style-arrow[class]>.wp-block-button__link[class]:hover:after{background-color:var(--wp--preset--color--light-orange);border-color:var(--wp--preset--color--orange)}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel{--panel--active--top:72px;--panel--top:3rem;background:#fff;border-radius:20px;box-shadow:0 0 0 1px var(--shadowoverlaythird,rgba(188,214,240,0)) inset,0 8px 12px 0 var(--shadowoverlaysecond,rgba(9,30,66,.149)),0 0 1px 0 var(--shadowoverlayfirst,rgba(9,30,66,.31));display:grid;grid-template-areas:"content";height:auto;left:0;margin-inline:auto;max-width:912px;opacity:var(--panel--opacity,0);overflow:hidden;padding:40px;pointer-events:var(--panel--pointer-events,none);position:absolute;right:0;top:var(--panel--top,-100vh);transition:all .25s linear;width:100%;z-index:2}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel>*{grid-area:content;-ms-grid-column:1;-ms-grid-row:1;z-index:0}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel[aria-hidden=false]{opacity:var(--panel--active--opacity,1);overflow:visible;top:var(--panel--active--top,0);--panel--pointer-events:all}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel .rkv-mega-menu-panel-mobile-header{display:none}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel>:not(button){margin:0;padding:var(--wp--preset--spacing--50)}.wp-block-navigation.desktop-menu .rkv-mega-menu-panel>button{align-self:start;display:none;justify-self:end;z-index:1}body:has(.desktop-menu):not(.has-mega-menu-panel-opened){--blanket-opacity:0}body:has(.desktop-menu).has-mega-menu-panel-opened{--blanket-opacity:0.7}body:has(.desktop-menu) .wp-site-blocks:before{background:#fff;bottom:0;content:"";height:100%;left:0;opacity:var(--blanket-opacity,0);pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease-in-out;width:100%;z-index:6}html:not(.has-modal-open) body:has(.mobile-menu){--blanket-opacity:0}html.has-modal-open body:has(.mobile-menu){--blanket-opacity:0.7}body:has(.mobile-menu) .wp-site-blocks:before{background:#fff;bottom:0;content:"";height:100%;left:0;opacity:var(--blanket-opacity,0);pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease-in-out;width:100%;z-index:6}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/mega-menu/style-block.css */
</style>
<style id="wp-block-navigation-link-inline-css">
.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{outline:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-left:8px;text-transform:uppercase}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/navigation-link/style.min.css */
</style>
<style id="wp-block-search-inline-css">
.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/search/style.min.css */
</style>
<link rel='stylesheet' id='wp-block-navigation-css' href='https://atlassianblog.wpengine.com/wp-includes/blocks/navigation/style.min.css?ver=7.0.4' media='all' />
<style id="wp-block-post-date-inline-css">
.wp-block-post-date{box-sizing:border-box}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/post-date/style.min.css */
</style>
<style id="wp-block-post-terms-inline-css">
.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/post-terms/style.min.css */
</style>
<style id="wp-block-post-featured-image-inline-css">
.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image :where(img){box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:initial}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/post-featured-image/style.min.css */
</style>
<style id="rkv-post-featured-image-expand-style-inline-css">
.wp-block-post-featured-image.expand{--icon--expand:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMS41SDlWMGgzYTIgMiAwIDAgMSAyIDJ2M2gtMS41VjJhLjUuNSAwIDAgMC0uNS0uNW0tMTAgMGEuNS41IDAgMCAwLS41LjV2M0gwVjJhMiAyIDAgMCAxIDItMmgzdjEuNXpNMS41IDl2M2EuNS41IDAgMCAwIC41LjVoM1YxNEgyYTIgMiAwIDAgMS0yLTJWOXptMTEgM1Y5SDE0djNhMiAyIDAgMCAxLTIgMkg5di0xLjVoM2EuNS41IDAgMCAwIC41LS41IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=);--icon--collapse:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNSAxMXYzSDl2LTNhMiAyIDAgMCAxIDItMmgzdjEuNWgtM2EuNS41IDAgMCAwLS41LjVtLTcgM3YtM2EuNS41IDAgMCAwLS41LS41SDBWOWgzYTIgMiAwIDAgMSAyIDJ2M3pNMTEgMy41aDNWNWgtM2EyIDIgMCAwIDEtMi0yVjBoMS41djNhLjUuNSAwIDAgMCAuNS41bS04IDBhLjUuNSAwIDAgMCAuNS0uNVYwSDV2M2EyIDIgMCAwIDEtMiAySDBWMy41eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+);display:grid;grid-template-areas:"content";--button--icon:var(--icon--expand)}.wp-block-post-featured-image.expand.is-expanded{--button--icon:var(--icon--collapse)}.wp-block-post-featured-image.expand.is-expanded img{aspect-ratio:unset}.wp-block-post-featured-image.expand.is-expanded .credit{opacity:1}.wp-block-post-featured-image.expand>*{grid-area:content;-ms-grid-column:1;-ms-grid-row:1}.wp-block-post-featured-image.expand img{aspect-ratio:3/1;object-fit:cover;object-position:center center}.wp-block-post-featured-image.expand .credit{background:rgba(0,0,0,.541);border-radius:3px;color:#fff;font-size:11px;font-weight:653;letter-spacing:.3px;line-height:16px;margin:8px;opacity:0;padding-inline:4px;place-self:end start;text-align:center;text-transform:uppercase;vertical-align:middle}.wp-block-post-featured-image.expand button.toggle{align-content:center;align-items:center;appearance:none;background-color:rgba(0,0,0,.541);border:0;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;justify-items:center;margin:8px;padding:0;place-self:end end;width:32px}.wp-block-post-featured-image.expand button.toggle:hover{background-color:rgba(0,0,0,.098)}.wp-block-post-featured-image.expand button.toggle:after{background:currentColor;content:"";height:14px;mask-image:var(--button--icon);mask-position:center center;mask-repeat:no-repeat;mask-size:100%;width:14px}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/post-featured-image-expand/style-view.css */
</style>
<style id="wp-block-list-inline-css">
ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/list/style.min.css */
</style>
<style id="wp-block-post-content-inline-css">
.wp-block-post-content{display:flow-root}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/post-content/style.min.css */
</style>
<style id="wp-block-query-title-inline-css">
.wp-block-query-title{box-sizing:border-box}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-includes/blocks/query-title/style.min.css */
</style>
<style id="co-authors-plus-coauthors-style-inline-css">
.wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline}
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/co-authors-plus/build/blocks/block-coauthors/style-index.css */
</style>
<link rel='stylesheet' id='rkv-feed-style-css' href='https://atlassianblog.wpengine.com/wp-content/plugins/curator/dist/feed/style-index.css?ver=0.1.0' media='all' />
<link rel='stylesheet' id='wp-block-cover-css' href='https://atlassianblog.wpengine.com/wp-includes/blocks/cover/style.min.css?ver=7.0.4' media='all' />
<style id="rkv-blocks-core-cover-inline-css">
.wp-block-cover.cover-block-contain .wp-block-cover__image-background{object-fit:contain;object-position:top center}/*# sourceMappingURL=cover.css.map */
/*# sourceURL=https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/assets/dist/cover.css */
</style>
<link rel='stylesheet' id='wp-block-library-css' href='https://atlassianblog.wpengine.com/wp-includes/css/dist/block-library/style.min.css?ver=7.0.4' media='all' />
<style id="global-styles-inline-css">
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #101214;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #FFFFFF;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--blue: #1868DB;--wp--preset--color--lime: #82B536;--wp--preset--color--purple: #BF63F3;--wp--preset--color--yellow: #FCA700;--wp--preset--color--default: #292a2e;--wp--preset--color--navy: #09326C;--wp--preset--color--green: #164B35;--wp--preset--color--red: #AE2A19;--wp--preset--color--neutral-light-100: #f8f8f8;--wp--preset--color--blue-light-100: #E9F2FE;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.536), 20px);--wp--preset--font-size--large: clamp(22.041px, 1.378rem + ((1vw - 3.2px) * 1.246), 36px);--wp--preset--font-size--x-large: clamp(25.014px, 1.563rem + ((1vw - 3.2px) * 1.517), 42px);--wp--preset--font-size--fs-0750: 0.75rem;--wp--preset--font-size--fs-0875: 0.875rem;--wp--preset--font-size--fs-1000: 1rem;--wp--preset--font-size--fs-1125: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.179), 1.125rem);--wp--preset--font-size--fs-1250: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.179), 1.25rem);--wp--preset--font-size--fs-1375: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.357), 1.375rem);--wp--preset--font-size--fs-1500: clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 0.357), 1.5rem);--wp--preset--font-size--fs-1750: clamp(1.5rem, 1.5rem + ((1vw - 0.2rem) * 0.357), 1.75rem);--wp--preset--font-size--fs-2000: clamp(1.5rem, 1.5rem + ((1vw - 0.2rem) * 0.714), 2rem);--wp--preset--font-size--fs-2500: clamp(2rem, 2rem + ((1vw - 0.2rem) * 0.714), 2.5rem);--wp--preset--font-size--fs-3000: clamp(2rem, 2rem + ((1vw - 0.2rem) * 1.429), 3rem);--wp--preset--font-size--fs-3500: clamp(3rem, 3rem + ((1vw - 0.2rem) * 0.714), 3.5rem);--wp--preset--font-size--fs-4000: clamp(2.5rem, 2.5rem + ((1vw - 0.2rem) * 2.143), 4rem);--wp--preset--font-family--charlie-text: Charlie Text;--wp--preset--font-family--charlie-display: Charlie Display;--wp--preset--font-family--atlassian-mono: "Atlassian Mono";--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 0.25rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--spacing--0: 0rem;--wp--preset--spacing--25: 0.125rem;--wp--preset--spacing--75: 0.375rem;--wp--preset--spacing--100: 0.5rem;--wp--preset--spacing--150: 0.75rem;--wp--preset--spacing--200: 1rem;--wp--preset--spacing--250: clamp(1rem, 0.7794rem + 0.5882vw, 1.25rem);--wp--preset--spacing--300: clamp(1rem, 0.5588rem + 1.1765vw, 1.5rem);--wp--preset--spacing--400: clamp(1.25rem, 0.5882rem + 1.7647vw, 2rem);--wp--preset--spacing--500: clamp(1.5rem, 0.6176rem + 2.3529vw, 2.5rem);--wp--preset--spacing--600: clamp(2rem, 1.1176rem + 2.3529vw, 3rem);--wp--preset--spacing--700: clamp(2rem, 1.5687rem + 4.7059vw, 3.75rem);--wp--preset--spacing--800: clamp(2.5rem, 1.1765rem + 3.5294vw, 4rem);--wp--preset--spacing--1000: clamp(3rem, 1.2353rem + 4.7059vw, 5rem);--wp--preset--spacing--1500: clamp(4rem, 0.9118rem + 8.2353vw, 7.5rem);--wp--preset--spacing--2000: clamp(5rem, 0.5882rem + 11.7647vw, 10rem);--wp--preset--spacing--auto: auto;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);--wp--preset--shadow--shadow-overflow: 0px 0px 8px #091E4229, 0px 0px 1px #091E421F;--wp--preset--shadow--shadow-overlay: 0px 8px 12px #091E4226, 0px 0px 1px #091E424F;--wp--preset--shadow--shadow-raised: 0px 1px 1px #091E4240, 0px 0px 1px #091E424F;--wp--preset--border-radius--50: 8px;--wp--preset--border-radius--0750: 12px;--wp--preset--border-radius--1000: 16px;--wp--preset--border-radius--1250: 20px;--wp--preset--border-radius--round: 100%;--wp--custom--color--blue-100: #E9F2FE;--wp--custom--color--blue-1000: #1C2B42;--wp--custom--color--blue-200: #CFE1FD;--wp--custom--color--blue-300: #8FB8F6;--wp--custom--color--blue-400: #669df1;--wp--custom--color--blue-500: #4d8ced;--wp--custom--color--blue-600: #357de8;--wp--custom--color--blue-700: #1868DB;--wp--custom--color--blue-800: #1558BC;--wp--custom--color--blue-900: #123263;--wp--custom--color--gray-100: #f8f8f8;--wp--custom--color--gray-1000: #292a2e;--wp--custom--color--gray-1100: #1e1f21;--wp--custom--color--gray-200: #F0F1F2;--wp--custom--color--gray-300: #DDDEE1;--wp--custom--color--gray-400: #B7B9BE;--wp--custom--color--gray-500: #8C8F97;--wp--custom--color--gray-600: #7D818A;--wp--custom--color--gray-700: #6C6F77;--wp--custom--color--gray-800: #505258;--wp--custom--color--gray-900: #3b3d42;--wp--custom--color--lime-100: #EFFFD6;--wp--custom--color--lime-1000: #28311b;--wp--custom--color--lime-200: #D3F1A7;--wp--custom--color--lime-300: #B3DF72;--wp--custom--color--lime-400: #94C748;--wp--custom--color--lime-500: #82B536;--wp--custom--color--lime-600: #6a9a23;--wp--custom--color--lime-700: #5b7f24;--wp--custom--color--lime-800: #4c6b1f;--wp--custom--color--lime-900: #37471f;--wp--custom--color--neutral--dark-0: #18191a;--wp--custom--color--neutral--dark-100: #1f1f21;--wp--custom--color--neutral--dark-1000: #cecfd2;--wp--custom--color--neutral--dark-1100: #e2e3e4;--wp--custom--color--neutral--dark-200: #242528;--wp--custom--color--neutral--dark-300: #303134;--wp--custom--color--neutral--dark-400: #4b4d51;--wp--custom--color--neutral--dark-500: #63666b;--wp--custom--color--neutral--dark-600: #7e8188;--wp--custom--color--neutral--dark-700: #96999e;--wp--custom--color--neutral--dark-800: #a9abaf;--wp--custom--color--neutral--dark-900: #bfc1c4;--wp--custom--color--neutral--light-100: #f8f8f8;--wp--custom--color--neutral--light-1000: #292a2e;--wp--custom--color--neutral--light-1100: #1e1f21;--wp--custom--color--neutral--light-200: #F0F1F2;--wp--custom--color--neutral--light-300: #DDDEE1;--wp--custom--color--neutral--light-400: #B7B9BE;--wp--custom--color--neutral--light-500: #8C8F97;--wp--custom--color--neutral--light-600: #7D818A;--wp--custom--color--neutral--light-700: #6C6F77;--wp--custom--color--neutral--light-800: #505258;--wp--custom--color--neutral--light-900: #3b3d42;--wp--custom--color--orange-300: #FB9700;--wp--custom--color--purple-100: #f8eefe;--wp--custom--color--purple-1000: #35243f;--wp--custom--color--purple-200: #eed7fc;--wp--custom--color--purple-300: #d8a0f7;--wp--custom--color--purple-400: #c97cf4;--wp--custom--color--purple-500: #bf63f3;--wp--custom--color--purple-600: #af59e1;--wp--custom--color--purple-700: #964ac0;--wp--custom--color--purple-800: #803fa5;--wp--custom--color--purple-900: #48245d;--wp--custom--color--yellow-100: #fff5d4;--wp--custom--color--yellow-1000: #3a2c1f;--wp--custom--color--yellow-200: #ffe48f;--wp--custom--color--yellow-300: #ffc716;--wp--custom--color--yellow-400: #fca700;--wp--custom--color--yellow-500: #fa8700;--wp--custom--color--yellow-600: #e56910;--wp--custom--color--yellow-700: #bd5b00;--wp--custom--color--yellow-800: #9e4c00;--wp--custom--color--yellow-900: #693200;--wp--custom--font-size--fs-4375: 4.375rem;--wp--custom--font-size--fs-5000: 5rem;}:root { --wp--style--global--content-size: 1168px;--wp--style--global--wide-size: 1440px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--white);color: var(--wp--preset--color--text);font-family: Charlie Text, sans-serif;font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.179), 1rem);line-height: 1.5;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: 0px;--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: 0px;}a:where(:not(.wp-element-button)){color: var(--wp--custom--color--blue-700);font-weight: 600;text-decoration: none;}:root :where(a:where(:not(.wp-element-button)):hover){color: var(--wp--custom--color--blue-800);text-decoration: underline;}h1, h2, h3, h4, h5, h6{font-family: var(--wp--preset--font-family--charlie-display);font-style: normal;font-weight: 700;}h1{font-family: var(--wp--preset--font-family--charlie-display);font-size: var(--wp--preset--font-size--fs-3000);font-weight: 700;line-height: 3.5rem;}h2{font-family: var(--wp--preset--font-family--charlie-display);font-size: var(--wp--preset--font-size--fs-2500);font-weight: 700;line-height: 3rem;}h3{font-family: var(--wp--preset--font-family--charlie-display);font-size: var(--wp--preset--font-size--fs-2000);font-weight: 700;letter-spacing: 0.3px;line-height: 2.375rem;}h4{font-family: var(--wp--preset--font-family--charlie-display);font-size: var(--wp--preset--font-size--fs-1500);font-weight: 700;letter-spacing: 0.3px;line-height: 1.875rem;}h5{font-family: var(--wp--preset--font-family--charlie-display);font-size: var(--wp--preset--font-size--fs-1250);font-weight: 700;line-height: 1.75rem;margin-top: 0;}h6{font-size: var(--wp--preset--font-size--fs-1000);font-weight: 700;line-height: 1.5rem;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){color: var(--wp--preset--color--black);font-size: var(--wp--preset--font-size--fs-0875);line-height: 20px;margin-top: .5rem;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-blue-color{color: var(--wp--preset--color--blue) !important;}.has-lime-color{color: var(--wp--preset--color--lime) !important;}.has-purple-color{color: var(--wp--preset--color--purple) !important;}.has-yellow-color{color: var(--wp--preset--color--yellow) !important;}.has-default-color{color: var(--wp--preset--color--default) !important;}.has-navy-color{color: var(--wp--preset--color--navy) !important;}.has-green-color{color: var(--wp--preset--color--green) !important;}.has-red-color{color: var(--wp--preset--color--red) !important;}.has-neutral-light-100-color{color: var(--wp--preset--color--neutral-light-100) !important;}.has-blue-light-100-color{color: var(--wp--preset--color--blue-light-100) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-blue-background-color{background-color: var(--wp--preset--color--blue) !important;}.has-lime-background-color{background-color: var(--wp--preset--color--lime) !important;}.has-purple-background-color{background-color: var(--wp--preset--color--purple) !important;}.has-yellow-background-color{background-color: var(--wp--preset--color--yellow) !important;}.has-default-background-color{background-color: var(--wp--preset--color--default) !important;}.has-navy-background-color{background-color: var(--wp--preset--color--navy) !important;}.has-green-background-color{background-color: var(--wp--preset--color--green) !important;}.has-red-background-color{background-color: var(--wp--preset--color--red) !important;}.has-neutral-light-100-background-color{background-color: var(--wp--preset--color--neutral-light-100) !important;}.has-blue-light-100-background-color{background-color: var(--wp--preset--color--blue-light-100) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-blue-border-color{border-color: var(--wp--preset--color--blue) !important;}.has-lime-border-color{border-color: var(--wp--preset--color--lime) !important;}.has-purple-border-color{border-color: var(--wp--preset--color--purple) !important;}.has-yellow-border-color{border-color: var(--wp--preset--color--yellow) !important;}.has-default-border-color{border-color: var(--wp--preset--color--default) !important;}.has-navy-border-color{border-color: var(--wp--preset--color--navy) !important;}.has-green-border-color{border-color: var(--wp--preset--color--green) !important;}.has-red-border-color{border-color: var(--wp--preset--color--red) !important;}.has-neutral-light-100-border-color{border-color: var(--wp--preset--color--neutral-light-100) !important;}.has-blue-light-100-border-color{border-color: var(--wp--preset--color--blue-light-100) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-fs-0750-font-size{font-size: var(--wp--preset--font-size--fs-0750) !important;}.has-fs-0875-font-size{font-size: var(--wp--preset--font-size--fs-0875) !important;}.has-fs-1000-font-size{font-size: var(--wp--preset--font-size--fs-1000) !important;}.has-fs-1125-font-size{font-size: var(--wp--preset--font-size--fs-1125) !important;}.has-fs-1250-font-size{font-size: var(--wp--preset--font-size--fs-1250) !important;}.has-fs-1375-font-size{font-size: var(--wp--preset--font-size--fs-1375) !important;}.has-fs-1500-font-size{font-size: var(--wp--preset--font-size--fs-1500) !important;}.has-fs-1750-font-size{font-size: var(--wp--preset--font-size--fs-1750) !important;}.has-fs-2000-font-size{font-size: var(--wp--preset--font-size--fs-2000) !important;}.has-fs-2500-font-size{font-size: var(--wp--preset--font-size--fs-2500) !important;}.has-fs-3000-font-size{font-size: var(--wp--preset--font-size--fs-3000) !important;}.has-fs-3500-font-size{font-size: var(--wp--preset--font-size--fs-3500) !important;}.has-fs-4000-font-size{font-size: var(--wp--preset--font-size--fs-4000) !important;}.has-charlie-text-font-family{font-family: var(--wp--preset--font-family--charlie-text) !important;}.has-charlie-display-font-family{font-family: var(--wp--preset--font-family--charlie-display) !important;}.has-atlassian-mono-font-family{font-family: var(--wp--preset--font-family--atlassian-mono) !important;}
:root :where(.wp-block-button .wp-block-button__link){border-radius: 1000px;border-color: transparent;border-width: 2px;border-style: solid;font-family: var(--wp--preset--font-family--charlie-text);font-size: var(--wp--preset--font-size--fs-1000);font-weight: 500;line-height: 1.25rem;padding-top: .375rem;padding-right: 1.375rem;padding-bottom: .5rem;padding-left: 1.375rem;}
:root :where(.wp-block-button .wp-block-button__link a:where(:not(.wp-element-button))){background-color: var(--wp--preset--color--blue);color: var(--wp--preset--color--white);}
:root :where(.wp-block-rkv-blocks-pullquote-author-info){font-size: var(--wp--preset--font-size--fs-0875, .875rem);font-style: normal;font-weight: 500;letter-spacing: 1px;line-height: 1.5em;text-transform: uppercase;}
:root :where(.wp-block-rkv-blocks-pullquote-cite){font-size: var(--wp--preset--font-size--fs-1250, 1.25rem);font-style: none;font-weight: 700;line-height: 1.5em;margin-bottom: 0;}
:root :where(.wp-block-rkv-blocks-pullquote-quote){font-size: var(--wp--preset--font-size--fs-1750, 1.75rem);font-style: normal;line-height: 1.5em;}
:root :where(.wp-block-navigation){font-weight: inherit;}
:root :where(.wp-block-navigation a:where(:not(.wp-element-button))){color: currentColor;font-weight: inherit;text-decoration: none;}
:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover){color: var(--wp--custom--color--blue-800);text-decoration: none;}
:root :where(.wp-block-search){background-color: var(--wp--custom--color--neutral--light-200);border-top-left-radius: 40px;border-top-right-radius: 40px;border-bottom-left-radius: 40px;border-bottom-right-radius: 40px;border-color: #b7b9be;border-top-color: #b7b9be;border-top-style: solid;border-right-color: #b7b9be;border-right-style: solid;border-bottom-color: #b7b9be;border-bottom-style: solid;border-left-color: #b7b9be;border-left-style: solid;}:root :where(.wp-block-search .wp-block-search__label, .wp-block-search .wp-block-search__input, .wp-block-search .wp-block-search__button){font-weight: inherit;}
:root :where(.wp-block-search .wp-element-button,.wp-block-search .wp-block-button__link){background-color: transparent;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;}
:root :where(.wp-block-rkv-browse-by-title){font-size: var(--wp--preset--font-size--fs-2500);font-weight: 600;line-height: 1.1;}
/*# sourceURL=global-styles-inline-css */
</style>
<style id="block-style-variation-styles-inline-css">
:root :where(.is-style-with-arrow--1 .wp-element-button, .is-style-with-arrow--1 .wp-block-button__link){background-color: transparent;border-radius: 0px;border-color: transparent;border-width: 0px;border-style: solid;color: currentColor;}:root :where(.is-style-with-arrow--1 .wp-element-button:hover, .is-style-with-arrow--1 .wp-block-button__link:hover){background-color: transparent;border-color: transparent;color: var(--wp--preset--color--black);}:root :where(.is-style-with-arrow--1 .wp-element-button:focus, .is-style-with-arrow--1 .wp-block-button__link:focus){outline-color: var(--wp--custom--color--blue-900);outline-offset: 2px;outline-style: solid;outline-width: 2px;}:root :where(.wp-block-button.is-style-with-arrow--1 .wp-block-button__link){font-family: var(--wp--preset--font-family--charlie-text);font-size: var(--wp--preset--font-size--fs-0875);font-weight: 500;line-height: 1.4rem;padding-top: .5rem;padding-right: 1.375rem;padding-bottom: .5rem;padding-left: 0;}
:root :where(p.is-style-lozenge--2){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--3){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--5){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--6){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(.wp-block-search.is-style-header--15){background-color: transparent;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;padding-top: 0;padding-right: 0;padding-bottom: 0;padding-left: 0;}
:root :where(.wp-block-rkv-cta.is-style-hat-and-pants--17){background-color: transparent;}
:root :where(p.is-style-lozenge--18){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--19){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--21){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(p.is-style-lozenge--22){font-family: var(--wp--preset--font-family--charlie-text);font-size: 0.6875rem;font-weight: 500;letter-spacing: 0.03px;line-height: 1rem;text-transform: uppercase;}
:root :where(.wp-block-list.is-style-no-decoration--24){padding-left: 0;}:root :where(.wp-block-list.is-style-no-decoration--24){list-style: none;}
:root :where(.wp-block-list.is-style-no-decoration--25){padding-left: 0;}:root :where(.wp-block-list.is-style-no-decoration--25){list-style: none;}
:root :where(.is-style-with-arrow--26 .wp-element-button, .is-style-with-arrow--26 .wp-block-button__link){background-color: transparent;border-radius: 0px;border-color: transparent;border-width: 0px;border-style: solid;color: currentColor;}:root :where(.is-style-with-arrow--26 .wp-element-button:hover, .is-style-with-arrow--26 .wp-block-button__link:hover){background-color: transparent;border-color: transparent;color: var(--wp--preset--color--black);}:root :where(.is-style-with-arrow--26 .wp-element-button:focus, .is-style-with-arrow--26 .wp-block-button__link:focus){outline-color: var(--wp--custom--color--blue-900);outline-offset: 2px;outline-style: solid;outline-width: 2px;}:root :where(.wp-block-button.is-style-with-arrow--26 .wp-block-button__link){font-family: var(--wp--preset--font-family--charlie-text);font-size: var(--wp--preset--font-size--fs-0875);font-weight: 500;line-height: 1.4rem;padding-top: .5rem;padding-right: 1.375rem;padding-bottom: .5rem;padding-left: 0;}
:root :where(.wp-block-list.is-style-no-decoration--27){padding-left: 0;}:root :where(.wp-block-list.is-style-no-decoration--27){list-style: none;}
:root :where(.is-style-with-arrow--28 .wp-element-button, .is-style-with-arrow--28 .wp-block-button__link){background-color: transparent;border-radius: 0px;border-color: transparent;border-width: 0px;border-style: solid;color: currentColor;}:root :where(.is-style-with-arrow--28 .wp-element-button:hover, .is-style-with-arrow--28 .wp-block-button__link:hover){background-color: transparent;border-color: transparent;color: var(--wp--preset--color--black);}:root :where(.is-style-with-arrow--28 .wp-element-button:focus, .is-style-with-arrow--28 .wp-block-button__link:focus){outline-color: var(--wp--custom--color--blue-900);outline-offset: 2px;outline-style: solid;outline-width: 2px;}:root :where(.wp-block-button.is-style-with-arrow--28 .wp-block-button__link){font-family: var(--wp--preset--font-family--charlie-text);font-size: var(--wp--preset--font-size--fs-0875);font-weight: 500;line-height: 1.4rem;padding-top: .5rem;padding-right: 1.375rem;padding-bottom: .5rem;padding-left: 0;}
:root :where(.wp-block-list.is-style-no-decoration--29){padding-left: 0;}:root :where(.wp-block-list.is-style-no-decoration--29){list-style: none;}
:root :where(.is-style-with-arrow--30 .wp-element-button, .is-style-with-arrow--30 .wp-block-button__link){background-color: transparent;border-radius: 0px;border-color: transparent;border-width: 0px;border-style: solid;color: currentColor;}:root :where(.is-style-with-arrow--30 .wp-element-button:hover, .is-style-with-arrow--30 .wp-block-button__link:hover){background-color: transparent;border-color: transparent;color: var(--wp--preset--color--black);}:root :where(.is-style-with-arrow--30 .wp-element-button:focus, .is-style-with-arrow--30 .wp-block-button__link:focus){outline-color: var(--wp--custom--color--blue-900);outline-offset: 2px;outline-style: solid;outline-width: 2px;}:root :where(.wp-block-button.is-style-with-arrow--30 .wp-block-button__link){font-family: var(--wp--preset--font-family--charlie-text);font-size: var(--wp--preset--font-size--fs-0875);font-weight: 500;line-height: 1.4rem;padding-top: .5rem;padding-right: 1.375rem;padding-bottom: .5rem;padding-left: 0;}
/*# sourceURL=block-style-variation-styles-inline-css */
</style>
<style id="wp-emoji-styles-inline-css">
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
/*# sourceURL=wp-emoji-styles-inline-css */
</style>
<style id="core-block-supports-inline-css">
.wp-elements-cf2ad008cc77f1e6a73ec91fff8efeb0 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-elements-8d49e01b1dda775d59ce0a79bbd89c4f a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-core-group-is-layout-3bba6f78{gap:var(--wp--preset--spacing--0);flex-direction:column;align-items:flex-start;}.wp-container-core-buttons-is-layout-3e41869c{justify-content:center;}.wp-container-core-group-is-layout-27247572{gap:var(--wp--preset--spacing--100);justify-content:space-between;}.wp-container-core-columns-is-layout-b1623eb6{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--600);}.wp-container-rkv-banner-is-layout-a567f5d2{flex-wrap:nowrap;justify-content:space-between;}.wp-elements-e54477bacee3013b3f0ec14b0fcb45cb a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-rkv-modal-is-layout-31bc13f3 > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1440px;margin-left:auto !important;margin-right:auto !important;}.wp-container-rkv-modal-is-layout-31bc13f3 > .alignwide{max-width:1440px;}.wp-container-rkv-modal-is-layout-31bc13f3 .alignfull{max-width:none;}.wp-container-jetpack-sharing-buttons-is-layout-c116baee{gap:12px 12px;justify-content:flex-end;}.wp-container-core-group-is-layout-f6404499{flex-wrap:nowrap;gap:var(--wp--preset--spacing--200);justify-content:flex-start;}@media (width <= 480px){.wp-block-hidden-mobile{display:none !important;}}.wp-container-core-group-is-layout-ac8f365a{flex-wrap:nowrap;gap:1rem;}.wp-container-core-group-is-layout-e5460375{flex-wrap:nowrap;justify-content:space-between;align-items:center;}.wp-container-core-group-is-layout-5542e6dd > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1168px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-group-is-layout-5542e6dd > .alignwide{max-width:1168px;}.wp-container-core-group-is-layout-5542e6dd .alignfull{max-width:none;}.wp-container-core-group-is-layout-5542e6dd > .alignfull{margin-right:calc(var(--wp--preset--spacing--500) * -1);margin-left:calc(var(--wp--preset--spacing--500) * -1);}.wp-container-content-d9f67ff0{flex-basis:160px;}.wp-container-core-group-is-layout-72368dad{grid-template-columns:repeat(auto-fill, minmax(min(184px, 100%), 1fr));container-type:inline-size;gap:var(--wp--preset--spacing--400);}.wp-elements-8ac304082e451495ea13e458b7dbe2d3 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-core-group-is-layout-3d7bf318{flex-wrap:nowrap;gap:var(--wp--preset--spacing--400);justify-content:space-between;}.wp-container-core-group-is-layout-be5a9108{flex-wrap:nowrap;gap:var(--wp--preset--spacing--400);}.wp-container-core-group-is-layout-7387b849{flex-wrap:nowrap;}.wp-container-core-group-is-layout-21404a33{gap:8px;}.wp-container-core-group-is-layout-adc55d44{gap:var(--wp--preset--spacing--200);flex-direction:column;align-items:flex-start;}.wp-container-core-group-is-layout-2f90d75f > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1168px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-group-is-layout-2f90d75f > .alignwide{max-width:1168px;}.wp-container-core-group-is-layout-2f90d75f .alignfull{max-width:none;}.wp-container-core-group-is-layout-2f90d75f > .alignfull{margin-right:calc(var(--wp--preset--spacing--400) * -1);margin-left:calc(var(--wp--preset--spacing--400) * -1);}.wp-container-core-post-content-is-layout-ede4728f > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:768px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-post-content-is-layout-ede4728f > .alignwide{max-width:1168px;}.wp-container-core-post-content-is-layout-ede4728f .alignfull{max-width:none;}.wp-container-core-post-content-is-layout-ede4728f > .alignfull{margin-right:calc(var(--wp--preset--spacing--400) * -1);margin-left:calc(var(--wp--preset--spacing--400) * -1);}.wp-container-content-fd3097a4{flex-basis:48px;}.wp-container-core-group-is-layout-0370e391{gap:2px;flex-direction:column;align-items:flex-start;}.wp-container-core-group-is-layout-70db5c02{flex-wrap:nowrap;gap:12px;align-items:flex-start;}.wp-container-co-authors-plus-coauthors-is-layout-b74df84d > *{margin-block-start:0;margin-block-end:0;}.wp-container-co-authors-plus-coauthors-is-layout-b74df84d > * + *{margin-block-start:32px;margin-block-end:0;}.wp-container-core-group-is-layout-f40f8135{gap:32px;align-items:flex-start;}.wp-container-core-column-is-layout-443fcbf2 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-column-is-layout-443fcbf2 > * + *{margin-block-start:10px;margin-block-end:0;}.wp-container-core-column-is-layout-2910ada7 > :where(:not(.alignleft):not(.alignright):not(.alignfull)){margin-right:0 !important;}.wp-container-core-columns-is-layout-7387b849{flex-wrap:nowrap;}.wp-elements-cab578e1c22086e04230cf9b898b50b2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-rkv-modal-is-layout-2af163c8 > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1440px;margin-left:auto !important;margin-right:auto !important;}.wp-container-rkv-modal-is-layout-2af163c8 > .alignwide{max-width:1440px;}.wp-container-rkv-modal-is-layout-2af163c8 .alignfull{max-width:none;}.wp-container-core-group-is-layout-f263b67d > .alignfull{margin-right:calc(var(--wp--preset--spacing--300) * -1);margin-left:calc(var(--wp--preset--spacing--300) * -1);}.wp-block-rkv-feed.wp-block-rkv-feed-23{--rkv-curator--display:flex;--rkv-curator--flex-direction:row;--rkv-curator--card--flex:1;--rkv-curator--column-gap:var(--wp--preset--spacing--400);}.wp-container-core-group-is-layout-97d1ae46 > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1168px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-group-is-layout-97d1ae46 > .alignwide{max-width:1168px;}.wp-container-core-group-is-layout-97d1ae46 .alignfull{max-width:none;}.wp-container-core-group-is-layout-97d1ae46 > .alignfull{margin-right:calc(var(--wp--preset--spacing--500) * -1);margin-left:calc(var(--wp--preset--spacing--500) * -1);}.wp-elements-7131cc32b544ece94dbc2331a9f6ae58 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-ee58f2427611d7f3de12954756c0e550 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-9ae7b38158c1480dcc933b6e2fbc8fcb a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-5f687de5dd5895431bf85cf0b23e96d2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-container-core-group-is-layout-55e10aea{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;}.wp-container-core-group-is-layout-bb5be5a5 > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1168px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-group-is-layout-bb5be5a5 > .alignwide{max-width:1168px;}.wp-container-core-group-is-layout-bb5be5a5 .alignfull{max-width:none;}.wp-elements-5a052948761059eb0f5e65a27577ab2f a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-48a3d20ff432649288c1439dc23ffab3 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-elements-6af28d7260fd2ee933ca571e7a26e45a a:where(:not(.wp-element-button)){color:var(--wp--preset--color--black);}.wp-container-core-group-is-layout-02c95f99{flex-wrap:nowrap;gap:var(--wp--preset--spacing--400);}.wp-container-core-group-is-layout-49496290{justify-content:space-between;}.wp-container-core-group-is-layout-be5f114f > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1168px;margin-left:auto !important;margin-right:auto !important;}.wp-container-core-group-is-layout-be5f114f > .alignwide{max-width:1168px;}.wp-container-core-group-is-layout-be5f114f .alignfull{max-width:none;}.wp-container-core-group-is-layout-be5f114f > .alignfull{margin-right:calc(var(--wp--preset--spacing--300) * -1);margin-left:calc(var(--wp--preset--spacing--300) * -1);}.wp-container-core-group-is-layout-be5f114f > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-be5f114f > * + *{margin-block-start:var(--wp--preset--spacing--400);margin-block-end:0;}
/*# sourceURL=core-block-supports-inline-css */
</style>
<style id="wp-block-template-skip-link-inline-css">
/*! This file is auto-generated */
.skip-link.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal!important}.skip-link.screen-reader-text:focus{background-color:#eee;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */
</style>
<link rel='stylesheet' id='rkv-embeds-style-css' href='https://atlassianblog.wpengine.com/wp-content/plugins/atlassian-core/inc/classes/Utility/assets/dist/index.css?ver=1.0.0' media='all' />
<link rel='stylesheet' id='rkv-fse-style-css' href='https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/dist/main.css?ver=1789057799' media='all' />
<link rel='stylesheet' id='rkv-fse-print-css' href='https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/dist/print.css?ver=1778784519' media='print' />
<link rel='stylesheet' id='multilingualpress-quicklinks-frontend-css' href='https://atlassianblog.wpengine.com/wp-content/plugins/multilingualpress/src/modules/QuickLinks/public/css/frontend.css?ver=1751291935' media='all' />
<link rel='stylesheet' id='multilingualpress-flag-icons-css' href='https://atlassianblog.wpengine.com/wp-content/plugins/multilingualpress/src/modules/SiteFlags/public/css/frontend.css?ver=1751291938' media='all' />
<script data-wp-strategy="defer" defer id="atlassian-consenthub-form-view-script-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/consenthub-form/view.js?ver=da023b840e915ab95d2b"></script>
<script id="jetpack-blocks-assets-base-url-js-before">
var Jetpack_Block_Assets_Base_Url="https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/";
//# sourceURL=jetpack-blocks-assets-base-url-js-before
</script>
<script data-wp-strategy="defer" defer id="jetpack-sharing-button-view-script-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/sharing-button/view.js?ver=e94af43b7684647a3184"></script>
<script id="wp-dom-ready-js" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/dom-ready.min.js?ver=a06281ae5cf5500e9317"></script>
<script data-wp-strategy="defer" defer id="jetpack-sharing-buttons-view-script-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/sharing-buttons/view.js?ver=333b4824017f8498de3c"></script>
<script data-wp-strategy="defer" defer id="rkv-post-progress-bar-view-script-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/post-progress-bar/view.js?ver=3244edd0f28a34780b45"></script>
<link rel="https://api.w.org/" href="https://atlassianblog.wpengine.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://atlassianblog.wpengine.com/wp-json/wp/v2/posts/70026" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://atlassianblog.wpengine.com/xmlrpc.php?rsd" />
<link rel='shortlink' href='https://wp.me/phdlri-ids' />
<meta name="google-site-verification" content="dOJjQldMkOfhKElbWD6qvohmfLJ-XpvK1yjKYqugg8Q" /><!-- Stream WordPress user activity plugin v4.1.1 -->
<style>img#wpstats{display:none}</style>
<meta name="google-site-verification" content="HNNnCkeVQ-w56fqPpX2TTEMRmta5QJ-bDunwoaUep-o" />
<meta name="google-site-verification" content="ayWGqoaWJhTnahPSpfLcla5clD7xdAgDPBxf8r9CXJ0" />
<!-- OneTrust Cookies Consent Notice (Production CDN, www.atlassian.com, en-GB) start -->
<script>
function OptanonWrapper() {}
</script>
<!-- OneTrust Cookies Consent Notice (Production CDN, www.atlassian.com, en-GB) end -->
<script
src="https://atl-onetrust-wrapper.atlassian.com/assets/atl-onetrust-wrapper.min.js"
data-domain="ed42d30f-c9f0-408c-b65a-cd77205ecdf5"
data-test="false"
data-geofence="false"
data-sync="false"
></script>
<script id="wp-importmap" type="importmap">
{"imports":{"@wordpress/interactivity":"https://atlassianblog.wpengine.com/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1"}}
</script>
<script id="rkv-post-featured-image-expand-view-script-module-js-module" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/post-featured-image-expand/view.js?ver=0f5647d65ba34d31d3ff" type="module"></script>
<link rel="modulepreload" href="https://atlassianblog.wpengine.com/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1" id="@wordpress/interactivity-js-modulepreload" data-wp-fetchpriority="low">
<style>
.algolia-search-highlight {
background-color: #fffbcc;
border-radius: 2px;
font-style: normal;
}
</style>
<link rel="preload" as="style" href="https://atlassianblog.wpengine.com/wp-content/plugins/code-prettify/prettify/prettify.css" /><style class="wp-fonts-local">
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:200;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Thin.woff2') format('woff2');}
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:300;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Light.woff2') format('woff2');}
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:400;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Regular.woff2') format('woff2');}
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:500;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Semibold.woff2') format('woff2');}
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:700;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Bold.woff2') format('woff2');}
@font-face{font-family:"Charlie Text";font-style:normal;font-weight:900;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-text/Charlie_Text-Black.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:200;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Thin.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:300;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Light.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:400;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Regular.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:500;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Semibold.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:700;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Bold.woff2') format('woff2');}
@font-face{font-family:"Charlie Display";font-style:normal;font-weight:900;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/fonts/charlie-sans/charlie-display/Charlie_Display-Black.woff2') format('woff2');}
@font-face{font-family:"Atlassian Mono";font-style:normal;font-weight:100 800;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/fonts/atlassian-mono/atlassian-mono-100-800-normal.woff2') format('woff2');}
@font-face{font-family:"Atlassian Mono";font-style:italic;font-weight:100 800;font-display:fallback;src:url('https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/fonts/atlassian-mono/atlassian-mono-100-800-italic.woff2') format('woff2');}
</style>
<link rel="icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/cropped-logo-light_atlassian_mark_brand_rgb_@2x-32x32.png" sizes="32x32" />
<link rel="icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/cropped-logo-light_atlassian_mark_brand_rgb_@2x-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/cropped-logo-light_atlassian_mark_brand_rgb_@2x-180x180.png" />
<meta name="msapplication-TileImage" content="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/cropped-logo-light_atlassian_mark_brand_rgb_@2x-270x270.png" />
<script type="text/javascript"> _linkedin_partner_id = "44935"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(l) { if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; window.lintrk.q=[]} var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(window.lintrk); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=44935&fmt=gif" /> </noscript>
</head>
<body class="wp-singular post-template-default single single-post postid-70026 single-format-standard wp-embed-responsive wp-theme-atlassian-fse has-related-posts-hidden">
<a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a><div class="wp-site-blocks"><header class="wp-block-template-part">
<div hidden data-wp-bind--hidden="!context.visible" data-wp-context="{&quot;version&quot;:&quot;d33a3038a122e70594b1cc27add305584a445c2c5f5de7585f7702e8086e70f8&quot;,&quot;visible&quot;:false}" data-wp-init="callbacks.initVisibility" data-wp-interactive="rkv/banner" data-wp-on-document--readystatechange="callbacks.visibilityChanged" style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;--button-color:#FFFFFF" class="wp-block-rkv-banner is-banner-promo has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-cf2ad008cc77f1e6a73ec91fff8efeb0 is-content-justification-space-between is-nowrap is-layout-flex wp-container-rkv-banner-is-layout-a567f5d2 wp-block-rkv-banner-is-layout-flex">
<figure class="wp-block-image size-full decoration-image"><img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/images/eventlogo.png" alt=""/></figure>
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-b1623eb6 wp-block-columns-is-layout-flex" style="padding-top:var(--wp--preset--spacing--200);padding-bottom:var(--wp--preset--spacing--200)">
<div class="wp-block-column is-vertically-aligned-stretch is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:125px">
<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/images/rovo-logo-with-name.svg" alt=""/></figure>
</div>
<div class="wp-block-column is-vertically-aligned-stretch is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-27247572 wp-block-group-is-layout-flex">
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-3bba6f78 wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><strong>AI that knows your business</strong></p>
<p class="has-white-color has-text-color has-link-color wp-elements-8d49e01b1dda775d59ce0a79bbd89c4f wp-block-paragraph">Connect people, knowledge, and work to move faster together</p>
</div>
<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-with-arrow is-style-with-arrow--1"><a class="wp-block-button__link has-white-color has-text-color has-link-color wp-element-button" href="https://www.atlassian.com/software/rovo">Learn more </a></div>
</div>
</div>
</div>
</div>
<button data-wp-on--click="actions.dismiss" class="alert-bar__close"><span class="screen-reader-text">Dismiss</span><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 11L11 0.999999" stroke="black" stroke-width="2"></path><path d="M1 1L11 11" stroke="black" stroke-width="2"></path></svg></button></div>
<div class="wp-block-group wp-block-rkv-post-progress-bar post-progress-bar has-white-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-5542e6dd wp-block-group-is-layout-constrained" style="border-bottom-color:#b7b9be;border-bottom-style:solid;border-bottom-width:1px;padding-right:var(--wp--preset--spacing--700);padding-left:var(--wp--preset--spacing--700)">
<div class="wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-e5460375 wp-block-group-is-layout-flex" style="min-height:72px"><h2 style="line-height:1.25" class="wp-block-post-title has-fs-1250-font-size">Migrating the Jira Database Platform to AWS Aurora</h2>
<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ac8f365a wp-block-group-is-layout-flex" style="padding-left:var(--wp--preset--spacing--600)">
<div class="wp-block-group wp-block-hidden-mobile is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-f6404499 wp-block-group-is-layout-flex">
<div class="wp-block-rkv-modal has-global-padding is-layout-constrained wp-container-rkv-modal-is-layout-31bc13f3 wp-block-rkv-modal-is-layout-constrained" data-modal-id="rkv-modal-303ecaf0-4">
<div style="margin-bottom:0" class="rkv-modal-trigger wp-block-button wp-block-rkv-modal-trigger" data-event-container="" data-event-component="" data-label="" data-uuid="" data-event="" data-schema-version="" data-toggle="modal">
<button
class="wp-block-button__link"
type="button"
command="show-modal"
commandfor="rkv-modal-303ecaf0-4"
aria-haspopup="dialog"
aria-controls="rkv-modal-303ecaf0-4"
aria-expanded="false"
>
Sign up now</button>
</div>
<dialog style="border-top-left-radius:var(--wp--preset--border-radius--1250);border-top-right-radius:var(--wp--preset--border-radius--1250);border-bottom-left-radius:var(--wp--preset--border-radius--1250);border-bottom-right-radius:var(--wp--preset--border-radius--1250);--close-icon-position: 0;--close-icon-color: #000000;--close-icon-background:;--close-icon-color-hover: #000000;--close-icon-background-hover:;--overlay-background-color: #091e427d" class="rkv-modal-popover wp-block-rkv-modal-popover has-text-color has-default-color" id="rkv-modal-303ecaf0-4" role="dialog" aria-modal="true" closedby="any">
<button class="modal__close modal-closer" type="button" command="close" commandfor="rkv-modal-303ecaf0-4" aria-controls="rkv-modal-303ecaf0-4">
<span class="screen-reader-text">Dismiss</span>
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M1 11L11 0.999999" strokeWidth="2" />
<path d="M1 1L11 11" strokeWidth="2" />
</svg>
</button>
<div class="modal__content">
<h3 class="wp-block-heading has-text-align-center" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--50)">Subscribe to our newsletter</h3>
<p class="has-text-align-center wp-block-paragraph">Research and insights on how teams can deliver results with AI.</p>
<div class="atlassian-consenthub-form is-style-small-primary-blue is-style-default wp-block-atlassian-consenthub-form" data-config-url="https://preferences.atlassian.com/rest/forms/config" data-submit-url="https://www.atlassian.com/endpoint/preferencesV2/update" data-form-id="blogForm" data-key="atlassian.atlassianBlog" data-invalid-email-text="Please enter a valid email address" data-submitting-text="Submitting..." data-error-text="An error occurred when submitting your information.">
<form class="consenthub-form">
<div class="consenthub-error"></div>
<div class="form-fields">
<div class="form-body">
<label class="sr-only">
Email Address </label>
<div class="form-input-container form-input-container-email">
<input
type="email"
class="consenthub-email large"
placeholder="yourname@yourcompany.com"
required
autofocus
/>
</div>
</div>
<div class="form-footer wp-block-button">
<button
type="submit"
class="wp-block-button__link consenthub-submit"
>
Sign up </button>
</div>
</div>
</form>
<div class="consenthub-success-template" hidden>
<div class="wp-block-group has-white-color has-navy-background-color has-text-color has-background has-link-color wp-elements-e54477bacee3013b3f0ec14b0fcb45cb is-layout-flow wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--500);padding-right:var(--wp--preset--spacing--500);padding-bottom:var(--wp--preset--spacing--500);padding-left:var(--wp--preset--spacing--500)">
<p class="has-text-align-center is-style-lozenge is-style-lozenge--6 wp-block-paragraph">Thank you!</p>
<p class="has-text-align-center has-charlie-display-font-family has-fs-1750-font-size wp-block-paragraph" style="font-style:normal;font-weight:700">Your time is valuable. We promise to send only what’s actually worth reading.</p>
</div>
</div>
</div>
</div>
</dialog>
</div>
<ul class="wp-block-jetpack-sharing-buttons has-normal-icon-size jetpack-sharing-buttons__services-list is-content-justification-right is-layout-flex wp-container-jetpack-sharing-buttons-is-layout-c116baee wp-block-jetpack-sharing-buttons-is-layout-flex" id="jetpack-sharing-serivces-list"><li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=facebook&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-facebook" style="background-color:#101214;" data-service="facebook" data-shared="sharing-facebook-70026" aria-labelledby="sharing-facebook-70026"><span id="sharing-facebook-70026" hidden>Share on Facebook (Opens in new window)</span><svg class="social-logo social-logo-facebook" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">Facebook</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=x&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-x" style="background-color:#101214;" data-service="x" data-shared="sharing-x-70026" aria-labelledby="sharing-x-70026"><span id="sharing-x-70026" hidden>Share on X (Opens in new window)</span><svg class="social-logo social-logo-x" height="24" width="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path d="M13.982 10.622L20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378zm-2.128 2.474l-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">X</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=linkedin&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-linkedin" style="background-color:#101214;" data-service="linkedin" data-shared="sharing-linkedin-70026" aria-labelledby="sharing-linkedin-70026"><span id="sharing-linkedin-70026" hidden>Share on LinkedIn (Opens in new window)</span><svg class="social-logo social-logo-linkedin" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M19.7 3H4.3A1.3 1.3 0 003 4.3v15.4A1.3 1.3 0 004.3 21h15.4a1.3 1.3 0 001.3-1.3V4.3A1.3 1.3 0 0019.7 3zM8.339 18.338H5.667v-8.59h2.672v8.59zM7.004 8.574a1.548 1.548 0 11-.002-3.096 1.548 1.548 0 01.002 3.096zm11.335 9.764H15.67v-4.177c0-.996-.017-2.278-1.387-2.278-1.389 0-1.601 1.086-1.601 2.206v4.249h-2.667v-8.59h2.559v1.174h.037c.356-.675 1.227-1.387 2.526-1.387 2.703 0 3.203 1.779 3.203 4.092v4.711z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">LinkedIn</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="mailto:?subject=%5BShared%20Post%5D%20Migrating%20the%20Jira%20Database%20Platform%20to%20AWS%20Aurora&#038;body=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fhow-we-build%2Fmigrating-jira-database-platform-to-aws-aurora&#038;share=email" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-mail" style="background-color:#101214;" data-service="mail" data-shared="sharing-mail-70026" aria-labelledby="sharing-mail-70026"><span id="sharing-mail-70026" hidden>Share on Mail (Opens in new window)</span><svg class="social-logo social-logo-mail" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4.236l-8 4.882-8-4.882V6h16v2.236z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">Mail</span></a></li></ul>
</div>
</div>
</div>
</div>
<div class="wp-block-group main-header is-nowrap is-layout-flex wp-container-core-group-is-layout-7387b849 wp-block-group-is-layout-flex">
<figure class="wp-block-image size-large atlassian-logo"><a href="https://www.atlassian.com"><img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/images/atlassian-logo-white-blue.svg" alt=""/></a></figure>
<div class="wp-block-group alignwide is-nowrap is-layout-flex wp-container-core-group-is-layout-be5a9108 wp-block-group-is-layout-flex" style="padding-right:0;padding-left:0">
<p class="site-name wp-container-content-d9f67ff0 wp-block-paragraph"><a href="https://www.atlassian.com/blog">Inside Atlassian</a></p>
<div class="wp-block-group row__menu-inner-inner is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-3d7bf318 wp-block-group-is-layout-flex"><nav style="font-style:normal;font-weight:400" class="is-responsive wp-block-navigation is-layout-flex wp-block-navigation-is-layout-flex" aria-label="Main Navigation"
data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Menu"}'><button aria-label="Close menu" class="wp-block-navigation__responsive-container-close"
data-wp-on--click="actions.closeMenuOnClick"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg></button><button aria-haspopup="dialog" aria-label="Open menu" class="wp-block-navigation__responsive-container-open"
data-wp-on--click="actions.openMenuOnClick"
data-wp-on--keydown="actions.handleMenuKeydown"
><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 7.5h16v1.5H4z"></path><path d="M4 15h16v1.5H4z"></path></svg></button>
<div class="wp-block-navigation__responsive-container disable-default-overlay" id="modal-9"
data-wp-class--has-modal-open="state.isMenuOpen"
data-wp-class--is-menu-open="state.isMenuOpen"
data-wp-watch="callbacks.initMenu"
data-wp-on--keydown="actions.handleMenuKeydown"
data-wp-on--focusout="actions.handleMenuFocusout"
tabindex="-1"
>
<div class="wp-block-navigation__responsive-close" tabindex="-1">
<div class="wp-block-navigation__responsive-dialog"
data-wp-bind--aria-modal="state.ariaModal"
data-wp-bind--aria-label="state.ariaLabel"
data-wp-bind--role="state.roleAttribute"
>
<div class="wp-block-navigation__responsive-container-content"
data-wp-watch="callbacks.focusFirstElement"
id="modal-9-content">
<ul style="font-style:normal;font-weight:400" class="wp-block-navigation__container is-responsive wp-block-navigation"><li class="wp-block-rkv-mega-menu" data-wp-interactive="rkv/mega-menu"
data-wp-class--has-open-panel="state.isPanelOpen"
data-wp-class--is-mobile-menu-active="state.isMobileMenuOpen"
data-wp-on--mouseover="actions.openPanel"
data-wp-on--mouseout="actions.closePanel"
data-wp-watch="callbacks.mobileMenuStatusChange"
data-wp-context='{"panelId":"panel-topics7"}' >
<button
class="rkv-mega-menu-panel__button"
data-wp-on--keydown="actions.focusToPanel"
data-wp-on--click="actions.togglePanel"
data-wp-bind--aria-expanded="state.isPanelOpen"
data-wp-bind--aria-controls="state.responsivePanelId">Topics</button>
<div aria-hidden="true" class="rkv-mega-menu-panel" id="panel-topics7" data-wp-key="panel-topics7"
data-wp-watch="callbacks.togglePanel"
data-wp-bind--aria-hidden="!state.isPanelOpen"
>
<div class="rkv-mega-menu-panel-mobile-header">
<button
aria-label="Close menu"
class="rkv-mega-menu-panel-mobile-header-close-button menu-container__close-button"
type="button"
data-wp-on--click="actions.togglePanel"
>
Back
</button>
<span class="rkv-mega-menu-panel-mobile-header-title">Topics</span>
</div>
<div class="wp-block-group is-layout-grid wp-container-core-group-is-layout-72368dad wp-block-group-is-layout-grid"><div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=leadership"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/leadership.svg" class="media" />
<h2 class="title">Leadership</h2>
<p class="caption">Develop AI-empowered teams that deliver results</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=teamwork"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/teamwork.svg" class="media" />
<h2 class="title">Teamwork</h2>
<p class="caption">Proven methods and insights to help teams collaborate</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=innovation"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/innovation.svg" class="media" />
<h2 class="title">Innovation</h2>
<p class="caption">Put the future of work into practice</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=development"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/development.svg" class="media" />
<h2 class="title">Development</h2>
<p class="caption">Better ways to build and ship software</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=how-we-build"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/how-we-build.svg" class="media" />
<h2 class="title">How we build</h2>
<p class="caption">A look inside Atlassian’s approach to building apps and teams</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/browse-all-topics.svg" class="media" />
<h2 class="title">Browse all</h2>
<p class="caption">Explore posts for all topics</p>
</div>
</div>
</div><!-- .rkv-mega-menu-panel-mobile -->
</li>
<li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/search?topic%5B0%5D=ai-at-work"><span class="wp-block-navigation-item__label">AI at Work</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/ai-research"><span class="wp-block-navigation-item__label">AI Research</span></a></li><li class="wp-block-rkv-mega-menu" data-wp-interactive="rkv/mega-menu"
data-wp-class--has-open-panel="state.isPanelOpen"
data-wp-class--is-mobile-menu-active="state.isMobileMenuOpen"
data-wp-on--mouseover="actions.openPanel"
data-wp-on--mouseout="actions.closePanel"
data-wp-watch="callbacks.mobileMenuStatusChange"
data-wp-context='{"panelId":"panel-apps8"}' >
<button
class="rkv-mega-menu-panel__button"
data-wp-on--keydown="actions.focusToPanel"
data-wp-on--click="actions.togglePanel"
data-wp-bind--aria-expanded="state.isPanelOpen"
data-wp-bind--aria-controls="state.responsivePanelId">Apps</button>
<div aria-hidden="true" class="rkv-mega-menu-panel" id="panel-apps8" data-wp-key="panel-apps8"
data-wp-watch="callbacks.togglePanel"
data-wp-bind--aria-hidden="!state.isPanelOpen"
>
<div class="rkv-mega-menu-panel-mobile-header">
<button
aria-label="Close menu"
class="rkv-mega-menu-panel-mobile-header-close-button menu-container__close-button"
type="button"
data-wp-on--click="actions.togglePanel"
>
Back
</button>
<span class="rkv-mega-menu-panel-mobile-header-title">Apps</span>
</div>
<div class="wp-block-group is-layout-grid wp-container-core-group-is-layout-72368dad wp-block-group-is-layout-grid"><div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=rovo"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/rovo.svg" class="media" />
<h2 class="title">Rovo</h2>
<p class="caption">AI-powered apps &#8211; driven by your team’s knowledge</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=jira"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/jira.svg" class="media" />
<h2 class="title">Jira</h2>
<p class="caption">Flexible project management</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=confluence"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/confluence.svg" class="media" />
<h2 class="title">Confluence</h2>
<p class="caption">Knowledge, all in one place</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=loom"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/loom.svg" class="media" />
<h2 class="title">Loom</h2>
<p class="caption">Quick, async video updates</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=trello"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/trello.svg" class="media" />
<h2 class="title">Trello</h2>
<p class="caption">Organized &amp; visualized work</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=bitbucket"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/bitbucket.svg" class="media" />
<h2 class="title">Bitbucket</h2>
<p class="caption">Source code and CI/CD</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=jira-service-management"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/jira-service-management.svg" class="media" />
<h2 class="title">Jira Service Management</h2>
<p class="caption">Deliver service at high velocity</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search"></a>
<img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/browse-all-apps.svg" class="media" />
<h2 class="title">Browse all apps</h2>
<p class="caption">Explore posts for all Atlassian apps</p>
</div>
</div>
</div><!-- .rkv-mega-menu-panel-mobile -->
</li>
<li class="wp-block-navigation-item menu-item menu-item-type-custom menu-item-object-custom wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/company-news" title=""><span class="wp-block-navigation-item__label">News</span></a></li></ul>
<div class="wp-block-navigation__overlay-container"><form data-wp-interactive="rkv/browse-by-search" data-wp-on--submit="callbacks.submitSearch" role="search" method="get" action="https://www.atlassian.com/blog/search" style="margin-bottom:32px" class="wp-block-search__button-inside wp-block-search__icon-button wp-block-search" ><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-10" >Search</label><div class="wp-block-search__inside-wrapper" style="width: 100%"><input class="wp-block-search__input" id="wp-block-search__input-10" placeholder="" value="" type="search" name="s" /><button aria-label="Search" class="wp-block-search__button has-icon wp-element-button" type="submit" ><svg width="23" height="25" viewBox="0 0 23 25" fill="none" xmlns="http://www.w3.org/2000/svg" class="search-icon" style="--_138lqrp: #63666B; --_1r6llbg: #1868DB;"><path d="M17.0918 18.5623L20.2497 21.7201" stroke="#101214" stroke-width="2.75" stroke-linecap="round"></path><path d="M10.8417 19.1316C15.289 19.1316 18.8943 15.5263 18.8943 11.079C18.8943 6.63165 15.289 3.02637 10.8417 3.02637C6.39435 3.02637 2.78906 6.63165 2.78906 11.079C2.78906 15.5263 6.39435 19.1316 10.8417 19.1316Z" stroke="#101214" stroke-width="2.25"></path></svg></button></div></form>
<div class="wp-block-rkv-modal has-global-padding is-vertical is-content-justification-center is-layout-constrained wp-container-rkv-modal-is-layout-31bc13f3 wp-block-rkv-modal-is-layout-constrained" data-modal-id="rkv-modal-303ecaf0-11">
<div style="margin-bottom:12px" class="rkv-modal-trigger wp-block-button wp-block-rkv-modal-trigger" data-event-container="" data-event-component="" data-label="" data-uuid="" data-event="" data-schema-version="" data-toggle="modal">
<button
class="wp-block-button__link"
type="button"
command="show-modal"
commandfor="rkv-modal-303ecaf0-11"
aria-haspopup="dialog"
aria-controls="rkv-modal-303ecaf0-11"
aria-expanded="false"
>
Sign up now</button>
</div>
<dialog style="border-top-left-radius:var(--wp--preset--border-radius--1250);border-top-right-radius:var(--wp--preset--border-radius--1250);border-bottom-left-radius:var(--wp--preset--border-radius--1250);border-bottom-right-radius:var(--wp--preset--border-radius--1250);--close-icon-position: 0;--close-icon-color: #000000;--close-icon-background:;--close-icon-color-hover: #000000;--close-icon-background-hover:;--overlay-background-color: #091e427d" class="rkv-modal-popover wp-block-rkv-modal-popover has-text-color has-default-color" id="rkv-modal-303ecaf0-11" role="dialog" aria-modal="true" closedby="any">
<button class="modal__close modal-closer" type="button" command="close" commandfor="rkv-modal-303ecaf0-11" aria-controls="rkv-modal-303ecaf0-11">
<span class="screen-reader-text">Dismiss</span>
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M1 11L11 0.999999" strokeWidth="2" />
<path d="M1 1L11 11" strokeWidth="2" />
</svg>
</button>
<div class="modal__content">
<h3 class="wp-block-heading has-text-align-center" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--50)">Subscribe to our newsletter</h3>
<p class="has-text-align-center wp-block-paragraph">Research and insights on how teams can deliver results with AI.</p>
<div class="atlassian-consenthub-form is-style-small-primary-blue wp-block-atlassian-consenthub-form" data-config-url="https://preferences.atlassian.com/rest/forms/config" data-submit-url="https://www.atlassian.com/endpoint/preferencesV2/update" data-form-id="blogForm" data-key="atlassian.atlassianBlog" data-invalid-email-text="Please enter a valid email address" data-submitting-text="Submitting..." data-error-text="An error occurred when submitting your information.">
<form class="consenthub-form">
<div class="consenthub-error"></div>
<div class="form-fields">
<div class="form-body">
<label class="sr-only">
Email Address </label>
<div class="form-input-container form-input-container-email">
<input
type="email"
class="consenthub-email large"
placeholder="yourname@yourcompany.com"
required
autofocus
/>
</div>
</div>
<div class="form-footer wp-block-button">
<button
type="submit"
class="wp-block-button__link consenthub-submit"
>
Sign up </button>
</div>
</div>
</form>
<div class="consenthub-success-template" hidden>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow">
<h3 class="wp-block-heading">Thank you for subscribing.</h3>
<p class="wp-block-paragraph">Your time is valuable. We promise to send only what’s actually worth reading.</p>
</div>
</div>
</div>
</div>
</dialog>
</div>
<div class="is-vertical wp-block-navigation is-layout-flow wp-block-navigation-is-layout-flow" aria-label="Main Navigation"><ul class="wp-block-navigation__container is-vertical wp-block-navigation"><li class="wp-block-rkv-mega-menu" data-wp-interactive="rkv/mega-menu"
data-wp-class--has-open-panel="state.isPanelOpen"
data-wp-class--is-mobile-menu-active="state.isMobileMenuOpen"
data-wp-on--mouseover="actions.openPanel"
data-wp-on--mouseout="actions.closePanel"
data-wp-watch="callbacks.mobileMenuStatusChange"
data-wp-context='{"panelId":"panel-topics12"}' >
<button
class="rkv-mega-menu-panel__button"
data-wp-on--keydown="actions.focusToPanel"
data-wp-on--click="actions.togglePanel"
data-wp-bind--aria-expanded="state.isPanelOpen"
data-wp-bind--aria-controls="state.responsivePanelId">Topics</button>
<div aria-hidden="true" class="rkv-mega-menu-panel" id="panel-topics12" data-wp-key="panel-topics12"
data-wp-watch="callbacks.togglePanel"
data-wp-bind--aria-hidden="!state.isPanelOpen"
>
<div class="rkv-mega-menu-panel-mobile-header">
<button
aria-label="Close menu"
class="rkv-mega-menu-panel-mobile-header-close-button menu-container__close-button"
type="button"
data-wp-on--click="actions.togglePanel"
>
Back
</button>
<span class="rkv-mega-menu-panel-mobile-header-title">Topics</span>
</div>
<div class="wp-block-group is-layout-grid wp-container-core-group-is-layout-72368dad wp-block-group-is-layout-grid"><div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=leadership"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/leadership.svg" class="media" />
<h2 class="title">Leadership</h2>
<p class="caption">Develop AI-empowered teams that deliver results</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=teamwork"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/teamwork.svg" class="media" />
<h2 class="title">Teamwork</h2>
<p class="caption">Proven methods and insights to help teams collaborate</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=innovation"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/innovation.svg" class="media" />
<h2 class="title">Innovation</h2>
<p class="caption">Put the future of work into practice</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=development"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/development.svg" class="media" />
<h2 class="title">Development</h2>
<p class="caption">Better ways to build and ship software</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?topic%5B0%5D=how-we-build"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/how-we-build.svg" class="media" />
<h2 class="title">How we build</h2>
<p class="caption">A look inside Atlassian’s approach to building apps and teams</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/browse-all-topics.svg" class="media" />
<h2 class="title">Browse all</h2>
<p class="caption">Explore posts for all topics</p>
</div>
</div>
</div><!-- .rkv-mega-menu-panel-mobile -->
</li>
<li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/search?topic%5B0%5D=ai-at-work"><span class="wp-block-navigation-item__label">AI at Work</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/ai-research"><span class="wp-block-navigation-item__label">AI Research</span></a></li><li class="wp-block-rkv-mega-menu" data-wp-interactive="rkv/mega-menu"
data-wp-class--has-open-panel="state.isPanelOpen"
data-wp-class--is-mobile-menu-active="state.isMobileMenuOpen"
data-wp-on--mouseover="actions.openPanel"
data-wp-on--mouseout="actions.closePanel"
data-wp-watch="callbacks.mobileMenuStatusChange"
data-wp-context='{"panelId":"panel-apps13"}' >
<button
class="rkv-mega-menu-panel__button"
data-wp-on--keydown="actions.focusToPanel"
data-wp-on--click="actions.togglePanel"
data-wp-bind--aria-expanded="state.isPanelOpen"
data-wp-bind--aria-controls="state.responsivePanelId">Apps</button>
<div aria-hidden="true" class="rkv-mega-menu-panel" id="panel-apps13" data-wp-key="panel-apps13"
data-wp-watch="callbacks.togglePanel"
data-wp-bind--aria-hidden="!state.isPanelOpen"
>
<div class="rkv-mega-menu-panel-mobile-header">
<button
aria-label="Close menu"
class="rkv-mega-menu-panel-mobile-header-close-button menu-container__close-button"
type="button"
data-wp-on--click="actions.togglePanel"
>
Back
</button>
<span class="rkv-mega-menu-panel-mobile-header-title">Apps</span>
</div>
<div class="wp-block-group is-layout-grid wp-container-core-group-is-layout-72368dad wp-block-group-is-layout-grid"><div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=rovo"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/rovo.svg" class="media" />
<h2 class="title">Rovo</h2>
<p class="caption">AI-powered apps &#8211; driven by your team’s knowledge</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=jira"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/jira.svg" class="media" />
<h2 class="title">Jira</h2>
<p class="caption">Flexible project management</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=confluence"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/confluence.svg" class="media" />
<h2 class="title">Confluence</h2>
<p class="caption">Knowledge, all in one place</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=loom"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/loom.svg" class="media" />
<h2 class="title">Loom</h2>
<p class="caption">Quick, async video updates</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=trello"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/trello.svg" class="media" />
<h2 class="title">Trello</h2>
<p class="caption">Organized &amp; visualized work</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=bitbucket"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/bitbucket.svg" class="media" />
<h2 class="title">Bitbucket</h2>
<p class="caption">Source code and CI/CD</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search?apps%5B0%5D=jira-service-management"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/jira-service-management.svg" class="media" />
<h2 class="title">Jira Service Management</h2>
<p class="caption">Deliver service at high velocity</p>
</div>
<div class="wp-block-rkv-mega-menu-featured-card">
<a class="card-link" href="/blog/search"></a>
<img decoding="async" fetchpriority="low" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/browse-all-apps.svg" class="media" />
<h2 class="title">Browse all apps</h2>
<p class="caption">Explore posts for all Atlassian apps</p>
</div>
</div>
</div><!-- .rkv-mega-menu-panel-mobile -->
</li>
<li class="wp-block-navigation-item menu-item menu-item-type-custom menu-item-object-custom wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://www.atlassian.com/blog/company-news" title=""><span class="wp-block-navigation-item__label">News</span></a></li></ul></div></div>
</div>
</div>
</div>
</div></nav>
<div class="wp-block-group wp-block-hidden-mobile is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-f6404499 wp-block-group-is-layout-flex">
<div class="wp-block-rkv-modal has-global-padding is-layout-constrained wp-container-rkv-modal-is-layout-31bc13f3 wp-block-rkv-modal-is-layout-constrained" data-modal-id="rkv-modal-303ecaf0-14">
<div style="margin-bottom:0" class="rkv-modal-trigger wp-block-button wp-block-rkv-modal-trigger" data-event-container="" data-event-component="" data-label="" data-uuid="" data-event="" data-schema-version="" data-toggle="modal">
<button
class="wp-block-button__link"
type="button"
command="show-modal"
commandfor="rkv-modal-303ecaf0-14"
aria-haspopup="dialog"
aria-controls="rkv-modal-303ecaf0-14"
aria-expanded="false"
>
Subscribe</button>
</div>
<dialog style="border-top-left-radius:var(--wp--preset--border-radius--1250);border-top-right-radius:var(--wp--preset--border-radius--1250);border-bottom-left-radius:var(--wp--preset--border-radius--1250);border-bottom-right-radius:var(--wp--preset--border-radius--1250);--close-icon-position: 0;--close-icon-color: #000000;--close-icon-background:;--close-icon-color-hover: #000000;--close-icon-background-hover:;--overlay-background-color: #091e427d" class="rkv-modal-popover wp-block-rkv-modal-popover has-text-color has-default-color" id="rkv-modal-303ecaf0-14" role="dialog" aria-modal="true" closedby="any">
<button class="modal__close modal-closer" type="button" command="close" commandfor="rkv-modal-303ecaf0-14" aria-controls="rkv-modal-303ecaf0-14">
<span class="screen-reader-text">Dismiss</span>
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M1 11L11 0.999999" strokeWidth="2" />
<path d="M1 1L11 11" strokeWidth="2" />
</svg>
</button>
<div class="modal__content">
<h3 class="wp-block-heading has-text-align-center" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--50)">Subscribe to our newsletter</h3>
<p class="has-text-align-center wp-block-paragraph">Research and insights on how teams can deliver results with AI.</p>
<div class="atlassian-consenthub-form is-style-small-primary-blue wp-block-atlassian-consenthub-form" data-config-url="https://preferences.atlassian.com/rest/forms/config" data-submit-url="https://www.atlassian.com/endpoint/preferencesV2/update" data-form-id="blogForm" data-key="atlassian.atlassianBlog" data-invalid-email-text="Please enter a valid email address" data-submitting-text="Submitting..." data-error-text="An error occurred when submitting your information.">
<form class="consenthub-form">
<div class="consenthub-error"></div>
<div class="form-fields">
<div class="form-body">
<label class="sr-only">
Email Address </label>
<div class="form-input-container form-input-container-email">
<input
type="email"
class="consenthub-email large"
placeholder="yourname@yourcompany.com"
required
autofocus
/>
</div>
</div>
<div class="form-footer wp-block-button">
<button
type="submit"
class="wp-block-button__link consenthub-submit"
>
Sign up </button>
</div>
</div>
</form>
<div class="consenthub-success-template" hidden>
<div class="wp-block-group has-white-color has-navy-background-color has-text-color has-background has-link-color wp-elements-8ac304082e451495ea13e458b7dbe2d3 is-layout-flow wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--500);padding-right:var(--wp--preset--spacing--500);padding-bottom:var(--wp--preset--spacing--500);padding-left:var(--wp--preset--spacing--500)">
<h3 class="wp-block-heading">Thank you for subscribing.</h3>
<p class="wp-block-paragraph">Your time is valuable. We promise to send only what’s actually worth reading.</p>
</div>
</div>
</div>
</div>
</dialog>
</div>
<form role="search" method="get" action="https://www.atlassian.com/blog/search" class="wp-block-search__button-only wp-block-search__searchfield-hidden wp-block-search__icon-button is-style-header is-style-header--15 wp-block-search"
data-wp-interactive="core/search"
data-wp-context='{"isSearchInputVisible":false,"inputId":"wp-block-search__input-16","ariaLabelExpanded":"Submit Search","ariaLabelCollapsed":"Expand search field"}'
data-wp-class--wp-block-search__searchfield-hidden="!context.isSearchInputVisible"
data-wp-on--keydown="actions.handleSearchKeydown"
><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-16" >Search</label><div data-wp-interactive="{&quot;namespace&quot;:&quot;rkv\/header-search&quot;}" class="wp-block-search__inside-wrapper" ><input data-wp-on-async--keydown="actions.handleInputKeydown" aria-hidden="true" class="wp-block-search__input" data-wp-bind--aria-hidden="!context.isSearchInputVisible" data-wp-bind--tabindex="state.tabindex" id="wp-block-search__input-16" placeholder="" value="" type="search" name="s" required style="border-top-left-radius: var(--wp--preset--border-radius--1250);border-top-right-radius: var(--wp--preset--border-radius--1250);border-bottom-left-radius: var(--wp--preset--border-radius--1250);border-bottom-right-radius: var(--wp--preset--border-radius--1250)"/><button data-wp-on-async--click="actions.handleSearchButtonClick" class="wp-block-search__button has-text-color has-navy-color has-icon wp-element-button" data-wp-bind--aria-controls="state.ariaControls" data-wp-bind--aria-expanded="context.isSearchInputVisible" data-wp-bind--aria-label="state.ariaLabel" type="button" style="border-top-left-radius: var(--wp--preset--border-radius--1250);border-top-right-radius: var(--wp--preset--border-radius--1250);border-bottom-left-radius: var(--wp--preset--border-radius--1250);border-bottom-right-radius: var(--wp--preset--border-radius--1250)"><svg width="23" height="25" viewBox="0 0 23 25" fill="none" xmlns="http://www.w3.org/2000/svg" class="search-icon" style="--_138lqrp: #63666B; --_1r6llbg: #1868DB;"><path d="M17.0918 18.5623L20.2497 21.7201" stroke="#101214" stroke-width="2.75" stroke-linecap="round"></path><path d="M10.8417 19.1316C15.289 19.1316 18.8943 15.5263 18.8943 11.079C18.8943 6.63165 15.289 3.02637 10.8417 3.02637C6.39435 3.02637 2.78906 6.63165 2.78906 11.079C2.78906 15.5263 6.39435 19.1316 10.8417 19.1316Z" stroke="#101214" stroke-width="2.25"></path></svg></button><button aria-label="Close Search Form" class="wp-block-search__button-close" data-wp-on--click="actions.handleClosingSearch"></button></div></form></div>
</div>
</div>
</div>
</header>
<main id="wp--skip-link--target" class="wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow" style="margin-top:var(--wp--preset--spacing--800)"><div class="post-header wp-block-template-part">
<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-2f90d75f wp-block-group-is-layout-constrained" style="margin-top:0px;margin-bottom:var(--wp--preset--spacing--400);padding-right:var(--wp--preset--spacing--400);padding-left:var(--wp--preset--spacing--400)">
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-adc55d44 wp-block-group-is-layout-flex" style="margin-bottom:var(--wp--preset--spacing--400)"><h1 style="line-height:1.1" class="wp-block-post-title has-fs-2500-font-size">Migrating the Jira Database Platform to AWS Aurora</h1>
<div class="wp-block-group is-layout-flex wp-container-core-group-is-layout-21404a33 wp-block-group-is-layout-flex"><div class="wp-block-post-date has-fs-0875-font-size"><time datetime="2025-07-01T17:07:43-07:00">July 1, 2025</time></div>
<div style="font-style:normal;font-weight:500;text-transform:uppercase" class="taxonomy-category is-style-lozenge wp-block-post-terms has-fs-0750-font-size"><span class="wp-block-post-terms__prefix">Published In </span><a class="term-lozenge" data-term="how-we-build" href="https://www.atlassian.com/blog/search?topic%5B0%5D=how-we-build" rel="tag">How We Build</a></div>
</div>
</div>
<figure data-wp-class--is-expanded="context.isExpanded" data-wp-context="{&quot;isExpanded&quot;:false}" data-wp-interactive="rkv/featuredImageExpand" class="alignwide expand wp-block-post-featured-image"><img width="1080" height="512" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px;object-fit:cover;" decoding="async" fetchpriority="high" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256.png 1080w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-300x142.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-600x284.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-768x364.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-720x341.png 720w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-955x453.png 955w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-477x226.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-490x232.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-980x465.png 980w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/engblog-29_540x256-245x116.png 245w" sizes="(max-width: 1080px) 100vw, 1080px" /><button class="toggle" data-wp-on--click="actions.toggleExpanded"></button></figure>
</div>
</div>
<div class="post-content wp-block-template-part"><div style="padding-right:var(--wp--preset--spacing--400);padding-left:var(--wp--preset--spacing--400)" class="entry-content wp-block-post-content has-fs-1000-font-size has-global-padding is-layout-constrained wp-container-core-post-content-is-layout-ede4728f wp-block-post-content-is-layout-constrained">
<p class="wp-block-paragraph">How would you migrate a database, without your users noticing?</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1036" height="546" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562.png" alt="" class="wp-image-70028" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562.png 1036w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-300x158.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-600x316.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-768x405.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-720x379.png 720w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-955x503.png 955w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-477x251.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-490x258.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-980x516.png 980w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10562-245x129.png 245w" sizes="auto, (max-width: 1036px) 100vw, 1036px" /></figure>
<p class="wp-block-paragraph">At Atlassian we migrate databases at scale as part of our regular server rebalancing work, to help maintain an even spread of load across the Jira database fleet. On average we migrate one thousand databases every day, all without tangible interruption to our customers. But most recently, we had to deal with a new challenge:</p>
<p class="wp-block-paragraph">How would you migrate several <em>million</em> databases, with minimal impact to your users?</p>
<h1 class="wp-block-heading" id="Background">Background</h1>
<p class="wp-block-paragraph">Jira uses Postgres as its backing store. All your issues, projects, workflows, custom fields: everything is stored in your database &#8211; one database per Jira tenant. We have millions of Jira tenants, thus we have millions of Jira databases!</p>
<p class="wp-block-paragraph">One database per tenant is an uncommon architecture, and we’ve opted for it in order to maximize isolation, scalability, and operational control at Atlassian’s massive scale. It makes it much easier to ensure that data from one tenant cannot accidentally or maliciously be accessed by another, and allows us to scale our fleet horizontally, balancing load and optimising performance for tenants of significantly different sizes.</p>
<p class="wp-block-paragraph">We spread these four million databases across about 3,000 PostgreSQL servers in 13 AWS regions worldwide, where our PostgreSQL servers are instances either of AWS RDS for PostgreSQL or AWS Aurora PostgreSQL, so we generally don’t use the word ‘server’ and opt instead for ‘instance’.</p>
<p class="wp-block-paragraph">We migrate our databases around the Jira database instance fleet as part of regular server rebalancing to help maintain a nice even spread of load. We perform these migrations via two methods: for small databases we are able to take a backup and then restore it on the destination instance very quickly, whereas for larger databases we set up logical replication of the target database between the source and destination instances, which allows us to take our time copying the data while the database and its tenant continue to operate normally. On average we migrate one thousand databases every day, with minimal interruption to our customers.</p>
<p class="wp-block-paragraph">We split our databases and their host instances similar to what the AWS Well-Architected Framework calls the &#8220;bridge model&#8221;: the vast majority of our tenants are located on shared infrastructure, with a small number of very large tenants residing on dedicated infrastructure. These very large tenants require very large amounts of resources, more than we could supply with an RDS instance, and thus they&#8217;ve been platformed on Aurora PostgreSQL for many years.</p>
<p class="wp-block-paragraph">In late 2023 we started exploring a potential project to replatform the remainder of the Jira database fleet also to Aurora PostgreSQL in order to achieve some bold cost, reliability, and performance objectives. Our RDS configuration enabled the use of only a single instance at a time, whereas on Aurora we could access <em>both</em> the writer and the reader instance (multiple readers, if necessary) simultaneously. More on this later but in short the use of twice the instances meant we could reduce our instance sizes by half. Much more effective! We would also be able to take advantage of Aurora’s better SLA (99.99% as opposed to 99.95%), plus autoscaling during peak loads up to 15 readers &#8211; which we do occasionally reach. The discovery work achieved positive results and so we decided to move ahead with the project.</p>
<h1 class="wp-block-heading" id="Migration-Design">Migration Design</h1>
<p class="wp-block-paragraph">So, we had desired outcomes and an objective we believed could deliver them. But we had additional goals along the path to get us there as well:</p>
<ol start="1" class="wp-block-list">
<li>Minimise tenant downtime</li>
<li>Minimise cost by controlling the amount of migration-related infrastructure</li>
<li>Complete the migrations in a timely manner &#8211; in practice, this was a few months in total.</li>
</ol>
<p class="wp-block-paragraph">With these objectives in mind we determined the best method would be, for each RDS PostgreSQL Multi-AZ DB instance to migrate to Aurora:</p>
<ol start="1" class="wp-block-list">
<li>Add a <em>DB instance read replica</em> to the instance, and allow the replica to to synchronise the underlying data to a new Aurora cluster volume; this functionality is a standard offering in RDS.</li>
<li>Perform a cutover at a suitable window by &#8220;promoting&#8221; the new read replica to a standalone Aurora cluster.</li>
</ol>
<p class="wp-block-paragraph">We referred to this process as “conversion” of an RDS instance to an Aurora cluster. At a surface level it sounds like a textbook approach but at Atlassian scale there are complexities!</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2130" height="1293" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056.png" alt="" class="wp-image-70029" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056.png 2130w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-300x182.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-600x364.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-768x466.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-1536x932.png 1536w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-2048x1243.png 2048w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-1334x810.png 1334w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-667x405.png 667w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-885x537.png 885w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-1769x1074.png 1769w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-441x268.png 441w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-455x276.png 455w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-909x552.png 909w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-1056-227x138.png 227w" sizes="auto, (max-width: 2130px) 100vw, 2130px" /></figure>
<h1 class="wp-block-heading" id="Conversion">Conversion</h1>
<p class="wp-block-paragraph">The first complexity is that our clusters host up to about 4,000 databases each, with each database representing a unique Jira tenant. To perform a &#8220;promotion&#8221; to a new, standalone Aurora cluster would mean we would need to perform that cutover in unison for all 4,000 tenants, each with their own unique connection endpoint and credentials. We would need to update the Jira application, running on EC2 instances, that connects to those database backends to use the new standalone cluster&#8217;s new connection endpoint for each tenant, in a way that safely guaranteed we would not accidentally write to the wrong (old) database. To do so, our cutover process locked out every SQL user on the source database instance, completed the &#8220;promotion&#8221; to a separate cluster, and then unlocked all the SQL users only on the destination.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1327" height="1378" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563.png" alt="" class="wp-image-70030" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563.png 1327w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-289x300.png 289w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-600x623.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-768x798.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-780x810.png 780w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-390x405.png 390w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-517x537.png 517w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-1034x1074.png 1034w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-258x268.png 258w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-266x276.png 266w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-532x552.png 532w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10563-133x138.png 133w" sizes="auto, (max-width: 1327px) 100vw, 1327px" /></figure>
<p class="wp-block-paragraph">All of this was orchestrated through an AWS Step Function that performed a host of safety checks preflight, during, and after conversion to safely return to standard operation as soon as anything went wrong. We monitored customer traffic post conversion for a number of hours to make sure we could see everything was working correctly.</p>
<p class="wp-block-paragraph">To make things really snappy during cutover, we used feature flags as a forcing function: when things were ready, we used a feature flag to override the tenants&#8217; database endpoints on our application servers <em>immediately,</em> rather than the slow periodic refresh they do normally. Due to this, and because the initial synchronisation process was able to be performed ahead of time, we were able to limit the actual cutover time to less than 3 minutes apiece &#8211; well within our SLAs &#8211; even for our most massive instances we’d need to convert. Excellent!</p>
<p class="wp-block-paragraph">Our build and test phase proceeded without any major hassles, until one day our support team at AWS contacted us. We had a large test RDS instance that was synchronising in preparation for conversion but AWS were alerted that although synchronisation had completed, the new cluster had failed to start. From our side looking at the AWS console this failed replica instance still appeared to be a healthy, still-replicating instance, but AWS’s control plane detected that the instance&#8217;s startup process had timed out.</p>
<p class="wp-block-paragraph">The reason the startup had timed out was, unknown to us at the time, there were so many files on our source RDS database instance (and therefore, also on our new destination Aurora cluster volume) that the new read replica instance was timing out while performing a status check activity that involved enumerating all those files. The more files one had, the longer the process would take, and the higher the likelihood of hitting this startup timeout threshold. And we had millions and millions of files!</p>
<h3 class="wp-block-heading" id="File-counts">File counts</h3>
<p class="wp-block-paragraph">In Postgres, each high-level database object like tables, indexes, and sequences are stored in at least one file on disk each: the more tables, indexes, and sequences in your database schema, the more files on disk you will have.</p>
<p class="wp-block-paragraph">Jira has a large number of these high-level database objects, which means that in total a single Jira database needs about 5,000 files on disk. With the large number of databases we co-host together on Jira database instances, we wound up creating substantially more files on our new Aurora cluster volumes than any other AWS customer normally would. So even if we weren&#8217;t using up all the enormous space available on an Aurora cluster volume, we were still effectively pushing another boundary &#8211; impacting our ability to convert our clusters safely.</p>
<p class="wp-block-paragraph">The advice from AWS was: drastically reduce your file counts on your RDS instances if you want to perform safe RDS-&gt;Aurora conversions. The only ways to reduce the file counts on the cluster volume were either to reduce the number of files per database, or to reduce the number of databases on a given instance. Because it wasn’t really going to be possible to reduce the number of files per database <em>drastically</em> (we do need to actually store our tenants&#8217; tables, after all!) the only path available to us was to reduce the number of tenants on instances to be converted, which we referred to as “draining”.</p>
<p class="wp-block-paragraph">AWS also advised that once an RDS instance had been successfully converted to an Aurora cluster, we were free to re-populate it with tenant databases again up to sensible limits. This was important to us since one of our objectives was to minimise migration-related infrastructure: it enabled us to provision only enough capacity in the fleet to accommodate migrating tenants of in-flight conversions. Once the conversions were complete, we could begin refilling them again on the other side.</p>
<p class="wp-block-paragraph">Our plan was simple:</p>
<ol start="1" class="wp-block-list">
<li>Drain an instance to a suitable minimum number of tenants</li>
<li>Convert that instance to an Aurora cluster</li>
<li>“Refill” the new cluster by using it as a target for tenants being migrated from the next instances being drained.</li>
</ol>
<p class="wp-block-paragraph">This approach effectively established a daisy chain of sorts of instances and clusters performing a <em>drain</em>&#8211;<em>promote</em>&#8211;<em>refill</em> loop, and allowed us to maintain a low overhead of excess infrastructure during the migrations.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2560" height="999" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-scaled.png" alt="" class="wp-image-70031" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-scaled.png 2560w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-300x117.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-600x234.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-768x300.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-1536x599.png 1536w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-2048x799.png 2048w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-1440x562.png 1440w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-720x281.png 720w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-955x373.png 955w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-1910x745.png 1910w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-477x186.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-490x191.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-980x382.png 980w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/untitled-2025-05-09-10564-245x96.png 245w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /><figcaption class="wp-element-caption">Begun, the draining had!</figcaption></figure>
<h1 class="wp-block-heading" id="Draining">Draining</h1>
<p class="wp-block-paragraph">Following the advice from AWS, we built a tool to orchestrate our business-as-usual database migration tool, but on steroids: the number of databases we needed to move to reach file count targets was in the millions, and we didn&#8217;t want to waste any time. We analysed our tenant distributions and prioritised the smallest tenants with the least usage, to reduce the amount of data we’d need to migrate (and therefore increase our throughput). At peak, our tool averaged 38,000 daily migrations with a peak of nearly 90,000 &#8211; a hefty scale-up on its usual 1,000! All of this, and while still meeting our high reliability targets.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1606" height="624" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday.png" alt="" class="wp-image-70032" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday.png 1606w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-300x117.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-600x233.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-768x298.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-1536x597.png 1536w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-1440x560.png 1440w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-720x280.png 720w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-955x371.png 955w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-477x185.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-490x190.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-980x381.png 980w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/dbmigrationsperday-245x95.png 245w" sizes="auto, (max-width: 1606px) 100vw, 1606px" /></figure>
<p class="wp-block-paragraph">As RDS DB instances were drained to their file counts threshold the tool would move onto other targets, leaving &#8220;drained&#8221; instances ready for our conversion process to kick off the data sync and await a suitable cutover period. Following cutover, source RDS DB instances were cleaned up automatically after a short safety period.</p>
<h1 class="wp-block-heading" id="Race-to-the-finish">Race to the finish</h1>
<p class="wp-block-paragraph">Once the conversion and draining processes were established, the flow was just a large numbers game in a well-oiled machine. There were a lot of numbers! Source concurrency was the number of outbound database migrations we allowed in parallel per RDS instance, and destination concurrency was how many inbound we allowed per Aurora cluster. Controlling both types of concurrency was key to making sure we didn&#8217;t impact normal operations during the migration process.</p>
<p class="wp-block-paragraph">Draining throughput was largely determined by how many Aurora clusters &#8211; i.e., destinations &#8211; were available in a given region: we found that increasing destination concurrency too much began to impact the destination clusters&#8217; performance too much, well before we reached any limits on source concurrency. Since we had a ceiling on the throughput rate of a given Aurora destination cluster, to boost overall throughput we should have more Aurora clusters. Ultimately, we had to find a balance between how much additional infrastructure we wanted in each region to perform the migrations (and how much that would cost), and how long we were comfortable with each region taking to complete. We wanted the project to run reasonably lean, so to maintain throughput rates we ensured good discipline in converting drained RDS instances to Aurora clusters &#8211; thus making them available as destinations for draining from <em>other</em> RDS instances &#8211; as soon as possible!</p>
<p class="wp-block-paragraph">We projected daily targets based on a sliding window of actuals, and tinkered here and there as we needed to in order to achieve our milestones. Ultimately, we were able to complete the project ahead of schedule!</p>
<p class="wp-block-paragraph">In summary:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="591" height="179" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am.png" alt="" class="wp-image-70033" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am.png 591w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am-300x91.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am-477x144.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am-490x148.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.38.58 am-245x74.png 245w" sizes="auto, (max-width: 591px) 100vw, 591px" /></figure>
<h1 class="wp-block-heading" id="End-Game">End Game</h1>
<p class="wp-block-paragraph">We achieved our migration targets on schedule, but what did it give us? It’s worth sharing one more data point:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="594" height="48" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am.png" alt="" class="wp-image-70034" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am.png 594w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am-300x24.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am-477x39.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am-490x40.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/screenshot-2025-07-02-at-9.39.39 am-245x20.png 245w" sizes="auto, (max-width: 594px) 100vw, 594px" /></figure>
<p class="wp-block-paragraph">Keen eyes observing that we have nearly triple the Aurora cluster instances than we had RDS database instances may ask why: the answer is that through Aurora we were able to scale down our instance class size by half, and <em>still</em> get better performing database instances. Our standard instance size went down from <code>m5.4xlarge</code> on RDS to <code>r6.2xlarge</code> on Aurora: we kept the same memory size, but reduced the number (and type) of CPUs. Was this loss of CPUs significant? Well, no, not really. Recall the earlier point about being able to use <em>all</em> instances in an Aurora cluster versus just the primary in our old RDS configuration. We effectively have the same amount of CPUs, or <em>more</em> during scale-out events! So, during peak hours our clusters scale out; in off-peak they scale back in and greatly reduce our instance footprint.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2560" height="664" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-scaled.png" alt="" class="wp-image-70035" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-scaled.png 2560w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-300x78.png 300w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-600x156.png 600w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-768x199.png 768w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-1536x398.png 1536w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-2048x531.png 2048w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-1440x373.png 1440w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-720x187.png 720w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-955x248.png 955w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-1910x495.png 1910w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-477x124.png 477w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-490x127.png 490w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-980x254.png 980w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/07/image-20250613-042832-245x64.png 245w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /><figcaption class="wp-element-caption">Count of instances over time in a typical Jira Aurora cluster, where the peaks correspond with local business hours and troughs with off-peak.</figcaption></figure>
<p class="wp-block-paragraph">Although the path was long and technically challenging, we achieved our ambitious cost-saving target and improved our reliability and performance in doing so. It was a great win for databases at Atlassian!</p>
<p class="wp-block-paragraph">A final note: we’d like to extend a special thanks to the good folks at AWS who have been tireless in their continued collaboration with us, working with our abnormally high file counts and striving to ensure the best possible experience with Aurora.</p>
</div></div>
<div class="post-footer wp-block-template-part">
<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-97d1ae46 wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--400);margin-bottom:0;padding-top:var(--wp--preset--spacing--400);padding-right:var(--wp--preset--spacing--500);padding-left:var(--wp--preset--spacing--500)">
<div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex">
<div class="wp-block-column has-fs-0875-font-size has-global-padding is-layout-constrained wp-container-core-column-is-layout-443fcbf2 wp-block-column-is-layout-constrained"><h5 style="font-style:normal;font-weight:500;line-height:1.4;text-transform:uppercase;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;margin-top:0;margin-bottom:10px" class="about-this wp-block-query-title has-fs-0875-font-size">About This Article</h5>
<div class="wp-block-group is-layout-flex wp-container-core-group-is-layout-f40f8135 wp-block-group-is-layout-flex">
<div class="wp-block-co-authors-plus-coauthors is-layout-flow wp-container-co-authors-plus-coauthors-is-layout-b74df84d wp-block-co-authors-plus-coauthors-is-layout-flow"><div class="wp-block-co-authors-plus-coauthor"><div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-70db5c02 wp-block-group-is-layout-flex"><div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-0370e391 wp-block-group-is-layout-flex"><p style="font-style:normal;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:0.04px" class="wp-block-co-authors-plus-name"><a href="https://www.atlassian.com/blog/author/pat-rubis" rel="author" title="Posts by Pat Rubis">Pat Rubis</a></p><p class="has-fs-0875-font-size wp-block-paragraph" style="line-height:1.4">Principal Site Reliability Engineer</p></div></div></div></div>
</div>
</div>
<div class="wp-block-column has-global-padding is-content-justification-right is-layout-constrained wp-container-core-column-is-layout-2910ada7 wp-block-column-is-layout-constrained" style="flex-basis:175px">
<ul class="wp-block-jetpack-sharing-buttons has-normal-icon-size jetpack-sharing-buttons__services-list is-content-justification-right is-layout-flex wp-container-jetpack-sharing-buttons-is-layout-c116baee wp-block-jetpack-sharing-buttons-is-layout-flex" id="jetpack-sharing-serivces-list">
<li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=facebook&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-facebook" style="background-color:#101214;" data-service="facebook" data-shared="sharing-facebook-70026" aria-labelledby="sharing-facebook-70026"><span id="sharing-facebook-70026" hidden>Share on Facebook (Opens in new window)</span><svg class="social-logo social-logo-facebook" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">Facebook</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=x&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-x" style="background-color:#101214;" data-service="x" data-shared="sharing-x-70026" aria-labelledby="sharing-x-70026"><span id="sharing-x-70026" hidden>Share on X (Opens in new window)</span><svg class="social-logo social-logo-x" height="24" width="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path d="M13.982 10.622L20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378zm-2.128 2.474l-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">X</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="https://www.atlassian.com/blog/how-we-build/migrating-jira-database-platform-to-aws-aurora?share=linkedin&#038;nb=1" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-linkedin" style="background-color:#101214;" data-service="linkedin" data-shared="sharing-linkedin-70026" aria-labelledby="sharing-linkedin-70026"><span id="sharing-linkedin-70026" hidden>Share on LinkedIn (Opens in new window)</span><svg class="social-logo social-logo-linkedin" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M19.7 3H4.3A1.3 1.3 0 003 4.3v15.4A1.3 1.3 0 004.3 21h15.4a1.3 1.3 0 001.3-1.3V4.3A1.3 1.3 0 0019.7 3zM8.339 18.338H5.667v-8.59h2.672v8.59zM7.004 8.574a1.548 1.548 0 11-.002-3.096 1.548 1.548 0 01.002 3.096zm11.335 9.764H15.67v-4.177c0-.996-.017-2.278-1.387-2.278-1.389 0-1.601 1.086-1.601 2.206v4.249h-2.667v-8.59h2.559v1.174h.037c.356-.675 1.227-1.387 2.526-1.387 2.703 0 3.203 1.779 3.203 4.092v4.711z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">LinkedIn</span></a></li>
<li class="jetpack-sharing-button__list-item"><a href="mailto:?subject=%5BShared%20Post%5D%20Migrating%20the%20Jira%20Database%20Platform%20to%20AWS%20Aurora&#038;body=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fhow-we-build%2Fmigrating-jira-database-platform-to-aws-aurora&#038;share=email" target="_blank" rel="nofollow noopener noreferrer" class="jetpack-sharing-button__button style-icon share-mail" style="background-color:#101214;" data-service="mail" data-shared="sharing-mail-70026" aria-labelledby="sharing-mail-70026"><span id="sharing-mail-70026" hidden>Share on Mail (Opens in new window)</span><svg class="social-logo social-logo-mail" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4.236l-8 4.882-8-4.882V6h16v2.236z"/></g></svg><span class="jetpack-sharing-button__service-label" aria-hidden="true">Mail</span></a></li>
</ul>
</div>
</div>
<div class="is-style-hat-and-pants is-style-hat-and-pants--17 wp-block-rkv-cta">
<div class="wp-block-group has-blue-light-100-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-f263b67d wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--300);padding-right:var(--wp--preset--spacing--300);padding-bottom:var(--wp--preset--spacing--300);padding-left:var(--wp--preset--spacing--300)">
<p class="has-text-align-center wp-block-paragraph" style="margin-bottom:var(--wp--preset--spacing--250)">Subscribe for more</p>
<h2 class="wp-block-heading has-text-align-center has-fs-3000-font-size" style="font-style:normal;font-weight:400">Inside <strong>Atlassian</strong></h2>
<h3 class="wp-block-heading has-text-align-center">Get insights like this in your inbox</h3>
<div class="wp-block-rkv-modal has-global-padding is-horizontal is-content-justification-center is-layout-constrained wp-container-rkv-modal-is-layout-2af163c8 wp-block-rkv-modal-is-layout-constrained" data-modal-id="rkv-modal-303ecaf0-20">
<div class="rkv-modal-trigger wp-block-button wp-block-rkv-modal-trigger" data-event-container="" data-event-component="" data-label="" data-uuid="" data-event="" data-schema-version="" data-toggle="modal">
<button
class="wp-block-button__link"
type="button"
command="show-modal"
commandfor="rkv-modal-303ecaf0-20"
aria-haspopup="dialog"
aria-controls="rkv-modal-303ecaf0-20"
aria-expanded="false"
>
Sign up now</button>
</div>
<dialog style="border-top-left-radius:var(--wp--preset--border-radius--1250);border-top-right-radius:var(--wp--preset--border-radius--1250);border-bottom-left-radius:var(--wp--preset--border-radius--1250);border-bottom-right-radius:var(--wp--preset--border-radius--1250);--close-icon-position: 0;--close-icon-color: #000000;--close-icon-background:;--close-icon-color-hover: #000000;--close-icon-background-hover:;--overlay-background-color: #091e427d" class="rkv-modal-popover wp-block-rkv-modal-popover has-text-color has-default-color" id="rkv-modal-303ecaf0-20" role="dialog" aria-modal="true" closedby="any">
<button class="modal__close modal-closer" type="button" command="close" commandfor="rkv-modal-303ecaf0-20" aria-controls="rkv-modal-303ecaf0-20">
<span class="screen-reader-text">Dismiss</span>
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M1 11L11 0.999999" strokeWidth="2" />
<path d="M1 1L11 11" strokeWidth="2" />
</svg>
</button>
<div class="modal__content">
<h3 class="wp-block-heading has-text-align-center" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--50)">Subscribe to our newsletter</h3>
<p class="has-text-align-center wp-block-paragraph">Research and insights on how teams can deliver results with AI.</p>
<div class="atlassian-consenthub-form is-style-small-primary-blue is-style-default wp-block-atlassian-consenthub-form" data-config-url="https://preferences.atlassian.com/rest/forms/config" data-submit-url="https://www.atlassian.com/endpoint/preferencesV2/update" data-form-id="blogForm" data-key="atlassian.atlassianBlog" data-invalid-email-text="Please enter a valid email address" data-submitting-text="Submitting..." data-error-text="An error occurred when submitting your information.">
<form class="consenthub-form">
<div class="consenthub-error"></div>
<div class="form-fields">
<div class="form-body">
<label class="sr-only">
Email Address </label>
<div class="form-input-container form-input-container-email">
<input
type="email"
class="consenthub-email large"
placeholder="yourname@yourcompany.com"
required
autofocus
/>
</div>
</div>
<div class="form-footer wp-block-button">
<button
type="submit"
class="wp-block-button__link consenthub-submit"
>
Sign up </button>
</div>
</div>
</form>
<div class="consenthub-success-template" hidden>
<div class="wp-block-group has-white-color has-navy-background-color has-text-color has-background has-link-color wp-elements-cab578e1c22086e04230cf9b898b50b2 is-layout-flow wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--500);padding-right:var(--wp--preset--spacing--500);padding-bottom:var(--wp--preset--spacing--500);padding-left:var(--wp--preset--spacing--500)">
<p class="has-text-align-center is-style-lozenge is-style-lozenge--22 wp-block-paragraph">Thank you!</p>
<p class="has-text-align-center has-charlie-display-font-family has-fs-1750-font-size wp-block-paragraph" style="font-style:normal;font-weight:700">Your time is valuable. We promise to send only what’s actually worth reading.</p>
</div>
</div>
</div>
</div>
</dialog>
</div>
</div>
</div>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--800);padding-bottom:var(--wp--preset--spacing--800)">
<h2 class="wp-block-heading has-fs-2000-font-size" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--400);line-height:1.13">Related content</h2>
<div class="wp-block-rkv-feed-23 is-arrangement-type-row related-content wp-block-rkv-feed">
<div
style="--card--border--color: #b7b9be; --card--border--width: 1px; --card--featured-media--desktop--aspect-ratio: 16/9; --card--featured-media--tablet--aspect-ratio: 16/9; --card--featured-media--mobile--aspect-ratio: 16/9; --card--headline--desktop--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--tablet--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--mobile--font-size: var(--wp--preset--font-size--fs-1500); --card--description--desktop--font-size: var(--wp--preset--font-size--fs-1125); --card--description--tablet--font-size: var(--wp--preset--font-size--fs-1125); --card--description--mobile--font-size: var(--wp--preset--font-size--fs-1125);" class="has-card-styles--borders has-card-styles--align--left has-featured-media-desktop--position--top has-featured-media-desktop--size--16-9 has-featured-media-tablet--position--top has-featured-media-tablet--size--16-9 has-featured-media-mobile--position--top has-featured-media-mobile--size--16-9 rkv-card is-type-post has-card-design-card">
<a class="rkv-card-link" href="https://www.atlassian.com/blog/development/amazon-aurora-atlassian-data-center" aria-label="Doubling down on stability with Amazon Aurora for Atlassian Data Center"></a>
<figure class="rkv-card-column rkv-card-image featured-media">
<picture>
<source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2019/09/smt-2401_auroradb-support_blog-hero_v04-1-300x146.png" media="(min-width: 1440px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2019/09/smt-2401_auroradb-support_blog-hero_v04-1-300x146.png" media="(min-width: 375px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2019/09/smt-2401_auroradb-support_blog-hero_v04-1-300x146.png" media="(max-width: 374px)" /><img decoding="async" width="300" height="146" src="https://atlassianblog.wpengine.com/wp-content/uploads/2019/09/smt-2401_auroradb-support_blog-hero_v04-1-300x146.png" class="attachment-medium size-medium" alt="" loading="lazy" /><span class="rkv-icon content-type" style="--icon--image:var(--icon--article)"></span> </picture>
</figure>
<div class="rkv-card-column rkv-card-content">
<span class="eyebrow" style=""> <span>Article</span>
<span> in </span><span class="term-lozenges"><a class="term-lozenge wp-element-button" data-term="development" href="https://www.atlassian.com/blog/search?topic[0]=development">Development</a> </span></span>
<h3 class="rkv-card-title" style="line-height: 1.2; font-weight: ;"
>Doubling down on stability with Amazon Aurora for Atlassian Data Center</h3>
<p class="description"
style="line-height: ;font-weight: ;" data-max-lines="3">Announcing support for a true fault-tolerant relational database built for the cloud.</p>
</div>
</div>
<div
style="--card--border--color: #b7b9be; --card--border--width: 1px; --card--featured-media--desktop--aspect-ratio: 16/9; --card--featured-media--tablet--aspect-ratio: 16/9; --card--featured-media--mobile--aspect-ratio: 16/9; --card--headline--desktop--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--tablet--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--mobile--font-size: var(--wp--preset--font-size--fs-1500); --card--description--desktop--font-size: var(--wp--preset--font-size--fs-1125); --card--description--tablet--font-size: var(--wp--preset--font-size--fs-1125); --card--description--mobile--font-size: var(--wp--preset--font-size--fs-1125);" class="has-card-styles--borders has-card-styles--align--left has-featured-media-desktop--position--top has-featured-media-desktop--size--16-9 has-featured-media-tablet--position--top has-featured-media-tablet--size--16-9 has-featured-media-mobile--position--top has-featured-media-mobile--size--16-9 rkv-card is-type-post has-card-design-card">
<a class="rkv-card-link" href="https://www.atlassian.com/blog/jira-service-management/aws-quick-starts-for-jira-service-desk-data-center" aria-label="AWS Quick Starts now available for Jira Service Desk Data Center"></a>
<figure class="rkv-card-column rkv-card-image featured-media">
<picture>
<source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/v3announcements@2x_blue-1-300x150.png" media="(min-width: 1440px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/v3announcements@2x_blue-1-300x150.png" media="(min-width: 375px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/v3announcements@2x_blue-1-300x150.png" media="(max-width: 374px)" /><img decoding="async" width="300" height="150" src="https://atlassianblog.wpengine.com/wp-content/uploads/v3announcements@2x_blue-1-300x150.png" class="attachment-medium size-medium" alt="" loading="lazy" /><span class="rkv-icon content-type" style="--icon--image:var(--icon--article)"></span> </picture>
</figure>
<div class="rkv-card-column rkv-card-content">
<span class="eyebrow" style=""> <span>Article</span>
<span> in </span><span class="term-lozenges"> <a class="term-lozenge wp-element-button" data-term="jira-service-management" href="https://www.atlassian.com/blog/search?apps[0]=jira-service-management">Jira Service Management</a></span></span>
<h3 class="rkv-card-title" style="line-height: 1.2; font-weight: ;"
>AWS Quick Starts now available for Jira Service Desk Data Center</h3>
<p class="description"
style="line-height: ;font-weight: ;" data-max-lines="3">At Atlassian Summit 2016, we announced that Data Center customers can now deploy their Jira Software and Bitbucket Data Center instances to Amazon’s Web Services (AWS) in just a few minutes with AWS’s Quick Starts. We’re now excited to announce that Jira Service Desk has joined the family! With AWS’s Quick Starts – powered by [&hellip;]</p>
</div>
</div>
<div
style="--card--border--color: #b7b9be; --card--border--width: 1px; --card--featured-media--desktop--aspect-ratio: 16/9; --card--featured-media--tablet--aspect-ratio: 16/9; --card--featured-media--mobile--aspect-ratio: 16/9; --card--headline--desktop--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--tablet--font-size: var(--wp--preset--font-size--fs-1500); --card--headline--mobile--font-size: var(--wp--preset--font-size--fs-1500); --card--description--desktop--font-size: var(--wp--preset--font-size--fs-1125); --card--description--tablet--font-size: var(--wp--preset--font-size--fs-1125); --card--description--mobile--font-size: var(--wp--preset--font-size--fs-1125);" class="has-card-styles--borders has-card-styles--align--left has-featured-media-desktop--position--top has-featured-media-desktop--size--16-9 has-featured-media-tablet--position--top has-featured-media-tablet--size--16-9 has-featured-media-mobile--position--top has-featured-media-mobile--size--16-9 rkv-card is-type-post has-card-design-card">
<a class="rkv-card-link" href="https://www.atlassian.com/blog/archives/marketplace-monday-nfeed-for-jira" aria-label="Marketplace Monday: Connect Databases with nFeed for Jira"></a>
<figure class="rkv-card-column rkv-card-image featured-media">
<picture>
<source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/abstract-line-1-purple-300x169.png" media="(min-width: 1440px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/abstract-line-1-purple-300x169.png" media="(min-width: 375px)" /><source srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/abstract-line-1-purple-300x169.png" media="(max-width: 374px)" /><img decoding="async" width="300" height="169" src="https://atlassianblog.wpengine.com/wp-content/uploads/2026/04/abstract-line-1-purple-300x169.png" class="attachment-medium size-medium" alt="" loading="lazy" /><span class="rkv-icon content-type" style="--icon--image:var(--icon--article)"></span> </picture>
</figure>
<div class="rkv-card-column rkv-card-content">
<span class="eyebrow" style=""> <span>Article</span>
<span> in </span><span class="term-lozenges"><a class="term-lozenge wp-element-button" data-term="archives" href="https://www.atlassian.com/blog/search?topic[0]=archives">Archives</a> </span></span>
<h3 class="rkv-card-title" style="line-height: 1.2; font-weight: ;"
>Marketplace Monday: Connect Databases with nFeed for Jira</h3>
<p class="description"
style="line-height: ;font-weight: ;" data-max-lines="3">Getting all your data repositories in sync is a painful process. You might find yourself manually copying data from other sources on to Jira issues. If filling up field after field with the same information has become a nightmare, nFeed for Jira by Valiantys is a fantastic solution to display information directly from your database! [&hellip;]</p>
</div>
</div>
</div>
</div>
</div>
</div></main>
<footer class="wp-block-template-part">
<div class="wp-block-cover alignfull is-light has-fs-0875-font-size" style="margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--200);padding-bottom:0;min-height:511px;aspect-ratio:unset;"><span aria-hidden="true" class="wp-block-cover__background has-white-background-color has-background-dim-100 has-background-dim"></span><div class="wp-block-cover__inner-container has-global-padding is-layout-constrained wp-block-cover-is-layout-constrained">
<div class="wp-block-group alignfull has-background is-layout-flow wp-block-group-is-layout-flow" style="border-bottom-left-radius:24px;border-bottom-right-radius:24px;background-color:#f8f8f8;margin-bottom:0">
<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-bb5be5a5 wp-block-group-is-layout-constrained">
<div class="wp-block-group alignwide row__menu-inner is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-55e10aea wp-block-group-is-layout-flex" style="margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--300);padding-bottom:var(--wp--preset--spacing--600)">
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-image size-large"><img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/src/images/logo-light.svg" alt="" class="wp-image-71897"/></figure>
<ul style="margin-top:0;padding-right:0;padding-left:0" class="wp-block-list is-style-no-decoration has-black-color has-text-color has-link-color has-fs-0875-font-size wp-elements-7131cc32b544ece94dbc2331a9f6ae58 is-style-no-decoration--24">
<li style="margin-top:0;margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/blog/about" data-type="link" data-id="https://www.atlassian.com/blog/about">About the blog</a></strong></li>
<li style="margin-top:0;margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/company">Company</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/company/careers">Careers</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/company/events">Events</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://investors.atlassian.com/">Investor relations</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassianfoundation.org/">Atlassian Foundation</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/company/news/press-kit">Press kit</a></strong></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><strong><a href="https://www.atlassian.com/company/contact" data-type="link" data-id="https://www.atlassian.com/company/contact">Contact us</a></strong></li>
</ul>
</div>
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="is-style-eyebrow wp-block-paragraph" style="margin-bottom:var(--wp--preset--spacing--400);font-style:normal;font-weight:600">Products</p>
<ul style="margin-top:0;margin-bottom:var(--wp--preset--spacing--400);padding-right:0;padding-left:0" class="wp-block-list is-style-no-decoration has-black-color has-text-color has-link-color has-fs-0875-font-size wp-elements-ee58f2427611d7f3de12954756c0e550 is-style-no-decoration--25">
<li style="margin-top:0;margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/rovo" data-type="post_tag" data-id="14682">Rovo</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/jira" data-type="category" data-id="13050">Jira</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/jira/align">Jira Align</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/jira/service-management">Jira Service Management</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/confluence">Confluence</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/loom">Loom</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://trello.com/home">Trello</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/software/bitbucket">Bitbucket</a></li>
</ul>
<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-with-arrow is-style-with-arrow--26"><a class="wp-block-button__link has-black-color has-text-color has-link-color wp-element-button" href="https://www.atlassian.com/software">See all products</a></div>
</div>
</div>
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="is-style-eyebrow wp-block-paragraph" style="margin-bottom:var(--wp--preset--spacing--400);font-style:normal;font-weight:600">Resources</p>
<ul style="margin-top:0;margin-bottom:var(--wp--preset--spacing--400);padding-right:0;padding-left:0" class="wp-block-list is-style-no-decoration has-black-color has-text-color has-link-color has-fs-0875-font-size wp-elements-9ae7b38158c1480dcc933b6e2fbc8fcb is-style-no-decoration--27">
<li style="margin-top:0;margin-bottom:var(--wp--preset--spacing--150)"><a href="https://support.atlassian.com/">Technical support</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/licensing/purchase-licensing">Purchasing &amp; licensing</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://community.atlassian.com/">Atlassian Community</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/team-playbook" data-type="link" data-id="https://www.atlassian.com/team-playbook">Team Playbook</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://confluence.atlassian.com/kb">Knowledge base</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://marketplace.atlassian.com/">Marketplace</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://my.atlassian.com/products/index">My account</a></li>
</ul>
<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-with-arrow is-style-with-arrow--28"><a class="wp-block-button__link has-black-color has-text-color has-link-color wp-element-button" href="https://support.atlassian.com/contact/">Create support ticket</a></div>
</div>
</div>
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="is-style-eyebrow wp-block-paragraph" style="margin-bottom:var(--wp--preset--spacing--400);font-style:normal;font-weight:600">Learn</p>
<ul style="margin-top:0;margin-bottom:var(--wp--preset--spacing--400);padding-right:0;padding-left:0" class="wp-block-list is-style-no-decoration has-black-color has-text-color has-link-color has-fs-0875-font-size wp-elements-5f687de5dd5895431bf85cf0b23e96d2 is-style-no-decoration--29">
<li style="margin-top:0;margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/partners">Partners</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/university">Training &amp; certification</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://confluence.atlassian.com/display/ALLDOC/Atlassian+Documentation">Documentation</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/developers">Developer resources</a></li>
<li style="margin-top:var(--wp--preset--spacing--150);margin-bottom:var(--wp--preset--spacing--150)"><a href="https://www.atlassian.com/enterprise/services">Enterprise services</a></li>
</ul>
<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-with-arrow is-style-with-arrow--30"><a class="wp-block-button__link has-black-color has-text-color has-link-color wp-element-button" href="https://www.atlassian.com/resources">See all resources</a></div>
</div>
</div>
</div>
</div>
</div>
<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-container-core-group-is-layout-be5f114f wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--300);padding-right:var(--wp--preset--spacing--300);padding-bottom:var(--wp--preset--spacing--300);padding-left:var(--wp--preset--spacing--300)">
<div class="wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-49496290 wp-block-group-is-layout-flex" style="font-style:normal;font-weight:300">
<p class="wp-block-paragraph">Copyright 2026 Atlassian</p>
<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-02c95f99 wp-block-group-is-layout-flex">
<p class="has-black-color has-text-color has-link-color wp-elements-5a052948761059eb0f5e65a27577ab2f wp-block-paragraph" style="font-style:normal;font-weight:400"><a href="https://www.atlassian.com/legal/privacy-policy" data-type="link" data-id="https://www.atlassian.com/legal/privacy-policy">Privacy policy</a></p>
<p class="has-black-color has-text-color has-link-color wp-elements-48a3d20ff432649288c1439dc23ffab3 wp-block-paragraph"><a href="https://www.atlassian.com/legal/cloud-terms-of-service" data-type="link" data-id="https://www.atlassian.com/legal/cloud-terms-of-service">Terms</a></p>
<p class="has-black-color has-text-color has-link-color wp-elements-6af28d7260fd2ee933ca571e7a26e45a wp-block-paragraph"><a href="https://www.atlassian.com/legal/impressum" data-type="link" data-id="https://www.atlassian.com/legal/impressum">Impressum</a></p>
<p class="wp-block-paragraph">English</p>
</div>
</div>
</div>
</div></div>
</footer></div>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/blog/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/atlassian-fse/*","/blog/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script data-wp-router-options="{&quot;loadOnClientNavigation&quot;:true}" fetchpriority="low" id="rkv-banner-view-script-module-js-module" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/banner/view.js?ver=e14776a39a82ccccb1fc" type="module"></script>
<script data-wp-router-options="{&quot;loadOnClientNavigation&quot;:true}" fetchpriority="low" id="@wordpress/block-library/navigation/view-js-module" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=96a846e1d7b789c39ab9" type="module"></script>
<script data-wp-router-options="{&quot;loadOnClientNavigation&quot;:true}" fetchpriority="low" id="rkv-mega-menu-view-script-module-js-module" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/mega-menu/view.js?ver=98c27bdfd2225a530c0e" type="module"></script>
<script data-wp-router-options="{&quot;loadOnClientNavigation&quot;:true}" fetchpriority="low" id="rkv-mega-menu-view-script-module-2-js-module" src="https://atlassianblog.wpengine.com/wp-content/plugins/rkv-blocks/dist/mega-menu/search.js?ver=e9cb82dde894cdca8705" type="module"></script>
<script data-wp-router-options="{&quot;loadOnClientNavigation&quot;:true}" fetchpriority="low" id="@wordpress/block-library/search/view-js-module" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/script-modules/block-library/search/view.min.js?ver=38bd0e230eaffa354d2a" type="module"></script>
<script type="text/javascript">var algolia = {"debug":false,"application_id":"CU5KFWE75C","search_api_key":"eddcc95cc6f07e68185e896fe4befb75","powered_by_enabled":false,"insights_enabled":false,"search_hits_per_page":"15","query":"","indices":{"searchable_posts":{"name":"wp_atlblog_searchable_posts","id":"searchable_posts","enabled":true,"replicas":[]}},"autocomplete":{"sources":[],"input_selector":"input[name='s']:not(.no-autocomplete):not(#adminbar-search)"}};</script><script data-wp-strategy="defer" defer id="jetpack-block-sharing-button-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/jetpack/_inc/blocks/sharing-button/view.js?minify=false&#038;ver=15.7.1"></script>
<script id="rkv-embeds-lazy-load-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/atlassian-core/inc/classes/Utility/assets/dist/blockEmbedLazyLoad.js?ver=1.0.0"></script>
<script id="code-prettify-js-before">
var codePrettifyLoaderBaseUrl = "https:\/\/atlassianblog.wpengine.com\/wp-content\/plugins\/code-prettify\/prettify";
//# sourceURL=code-prettify-js-before
</script>
<script id="code-prettify-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/code-prettify/prettify/run_prettify.js?ver=1.4.0"></script>
<script id="wp-hooks-js" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d"></script>
<script id="wp-i18n-js" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec"></script>
<script id="wp-i18n-js-after">
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
</script>
<script id="wp-url-js" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/url.min.js?ver=bb0f766c3d2efe497871"></script>
<script id="wp-api-fetch-js" src="https://atlassianblog.wpengine.com/wp-includes/js/dist/api-fetch.min.js?ver=d7efe4dc1468d36c39b8"></script>
<script id="wp-api-fetch-js-after">
wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "https://atlassianblog.wpengine.com/wp-json/" ) );
wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "3aa80c5251" );
wp.apiFetch.use( wp.apiFetch.nonceMiddleware );
wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware );
wp.apiFetch.nonceEndpoint = "https://atlassianblog.wpengine.com/wp-admin/admin-ajax.php?action=rest-nonce";
rkv_apifetch = {"site_url":"https:\/\/www.atlassian.com\/blog\/"}
//# sourceURL=wp-api-fetch-js-after
</script>
<script id="rkv-fse-js-js" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassian-fse/assets/dist/main.js?ver=1785775284"></script>
<script id="segment-io-script-js" src="https://atl-global.atlassian.com/js/atl-global.min.js?ver=1.0"></script>
<script id="multilingualpress-quicklinks-frontend-js" src="https://atlassianblog.wpengine.com/wp-content/plugins/multilingualpress/src/modules/QuickLinks/public/js/frontend.min.js?ver=5e881ae2761a140e2f58"></script>
<script id="jetpack-stats-js-before">
_stq = window._stq || [];
_stq.push([ "view", {"v":"ext","blog":"254378392","post":"70026","tz":"-7","srv":"atlassianblog.wpengine.com","j":"1:15.7.1"} ]);
_stq.push([ "clickTrackerInit", "254378392", "70026" ]);
//# sourceURL=jetpack-stats-js-before
</script>
<script data-wp-strategy="defer" defer id="jetpack-stats-js" src="https://stats.wp.com/e-202637.js"></script>
<script id="wp-emoji-settings" type="application/json">
{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://atlassianblog.wpengine.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0.4"}}
</script>
<script type="module">
/*! This file is auto-generated */
var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
//# sourceURL=https://atlassianblog.wpengine.com/wp-includes/js/wp-emoji-loader.min.js
</script>
<script>
ace.analytics.Initializer.initWithPageAnalytics('kiv6wyh2nw');
</script>
</body>
</html>