{"id":7414,"date":"2025-10-29T12:21:42","date_gmt":"2025-10-29T12:21:42","guid":{"rendered":"https:\/\/titanapps.io\/blog\/?p=7414"},"modified":"2026-02-20T12:56:05","modified_gmt":"2026-02-20T12:56:05","slug":"data-center-to-cloud-migration-case-study","status":"publish","type":"post","link":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study","title":{"rendered":"From Data Center to Cloud (Forge): Smart Checklist migration case study"},"content":{"rendered":"\n<p>Many teams are moving from Jira Data Center to Jira Cloud because the platform is becoming Cloud-first, Server support ended on February 15, 2024, and Atlassian <a href=\"https:\/\/www.atlassian.com\/licensing\/data-center-end-of-life#data-center-eol-general-questions\">recently announced the end of life<\/a> for Data Center.&nbsp;<\/p>\n\n\n\n<p>In Cloud, Atlassian delivers faster feature releases, broader automation, and evolving <strong>r<\/strong>oadmaps and dashboards. At the same time, the heavy lifting of infrastructure is taken off your plate. This means less time patching and scaling nodes and more time improving workflows.<a href=\"https:\/\/www.atlassian.com\/blog\/announcements\/server-support-30-day-countdown?utm_source=chatgpt.com\">&nbsp;<\/a><\/p>\n\n\n\n<p>A smooth move starts with structured migration planning. We typically recommend a quick inventory of your instance (projects, workflows, custom fields, apps, permissions), running the pre-migration checks, and trying everything in a Cloud sandbox before production. Atlassian\u2019s<a href=\"https:\/\/www.atlassian.com\/migration\/plan\/cloud-guide\"> <strong>Cloud Migration Guide<\/strong><\/a> outlines clear options, tooling, and validation steps to reduce migration downtime and avoid disruptions during this period.<a href=\"https:\/\/www.atlassian.com\/migration\/plan\/cloud-guide?utm_source=chatgpt.com\">&nbsp;<\/a><\/p>\n\n\n\n<p>This case study walks through the real issues we ran into while helping customers migrate Smart Checklist from DC to Jira Cloud (Forge): what went wrong, how we fixed it, and what you can reuse in your own plan. If you\u2019re earlier in the journey, you might also scan our background piece on <a href=\"https:\/\/titanapps.io\/blog\/data-center-migration-to-cloud-step-by-step-guide\/\">migrating <strong>DC to Cloud<\/strong><\/a> for context.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Customer backdrop &amp; migration approach<\/h2>\n\n\n\n<p>Most migrations start from a familiar starting point: a Jira Data Center instance that\u2019s been tuned for years, with hundreds (sometimes thousands) of projects, strict security controls, and a long list of Marketplace apps. Teams typically <a href=\"https:\/\/www.peakforce.dev\/blog\/why-migrate-to-jira-cloud-atlassian-cloud-vs-data-center-hosting-comparison\" target=\"_blank\" rel=\"noreferrer noopener\">choose Cloud<\/a> to cut infrastructure overhead and stay current, but they still need assurance that product data, custom fields, and app functionality will land intact.<\/p>\n\n\n\n<p>We generally recommend a low-risk migration path for our customers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"large-list\">Spin up a Cloud sandbox for trial runs. This allows admins and product owners to rehearse the move, compare workflows, dashboards, and permissions, and identify gaps early.<br><\/li>\n\n\n\n<li>Run JCMA pre-checks and conduct an app assessment. The Jira Cloud Migration Assistant surfaces user and domain issues, flags unsupported plugins, and helps plan the order of moves.<br><\/li>\n\n\n\n<li>Migrate in waves. Large instances benefit from staged moves: select a pilot set of projects, validate them in Cloud, and then scale up. Wave planning reduces migration downtime and keeps user management and permission fixes manageable.<br><\/li>\n\n\n\n<li>Define \u201csuccess\u201d upfront. For Smart Checklist, this means: ensuring all checklists and progress values are present, no duplicate custom fields, and clean visibility for developers, the product team, and other stakeholders after migration.<\/li>\n<\/ul>\n\n\n\n<p>This approach provides space to test assumptions, align expectations with stakeholders, and make a predictable, low-drama move to Jira Cloud, which customers look for.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"549\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/review.svg\" alt=\"\" class=\"wp-image-7415\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The hard parts we hit (at a glance)<\/h2>\n\n\n\n<p>Even with careful migration planning, a few patterns kept recurring as customers migrated Smart Checklist from the Data Center to Jira Cloud.<\/p>\n\n\n\n<p><strong>App paths and timing.<\/strong> Smart Checklist is built on Forge in Cloud. When automated app-data migration was not yet available on Forge, some admins hit a blocker mid-run. Our workaround was a short Connect bridge purely to transport data, then finalize on the Forge app in the target cloud site.<\/p>\n\n\n\n<p><strong>User experience delta.<\/strong> Teams accustomed to Jira DC often expect the same screens and workflows in Cloud. Differences in navigation, automation behavior, and project admin options created a learning curve, prompting us to create detailed tutorials and customer walkthroughs to prepare customers for the new experience.<\/p>\n\n\n\n<p><strong>Large, staged moves.<\/strong> Big instances rarely go all-at-once. In staged migrations, Cloud occasionally created duplicate custom fields across waves, which complicated reports and dashboards. We added a post-migration synchronization step to consolidate these into one canonical field per checklist.<\/p>\n\n\n\n<p><strong>Run stability under scale.<\/strong> Long runs sometimes stalled: rate limits, batch sizes, and background job limits surfaced at scale. We introduced checkpointing and safe restarts to keep progress moving without significantly extending migration downtime.<\/p>\n\n\n\n<p>While these challenges weren\u2019t showstoppers, they shaped our playbook: validate apps up front, rehearse in a sandbox, plan waves, and budget a short post-migration pass to tidy permissions, fields, and automations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deep dive: a checklist \u201cdrop\u201d that only showed up at scale<\/h2>\n\n\n\n<p>One enterprise customer migrated in waves using the Jira Cloud Migration Assistant (JCMA). While pilot runs appeared successful, a larger migration wave revealed a serious issue: some issues in Cloud were missing their Smart Checklist data, while others were complete, with no obvious pattern.<\/p>\n\n\n\n<p><strong>How it surfaced.<\/strong><strong><br><\/strong>Pilot users compared a DC project to its Cloud twin and saw mismatched checklist counts during sandbox migrations. We paired on a supervised re-run to watch the app migration platform hand-off: DC packaged app data, uploaded it for Cloud to pick up, and Cloud imported it into the target site. <a href=\"https:\/\/support.atlassian.com\/migration\/docs\/jira-cloud-migration-assistant\">Atlassian JCMA assistant<\/a><\/p>\n\n\n\n<p><strong>Root cause (what we found)<\/strong><strong><br><\/strong>Our DC exporter wrote data in batches to the platform\u2019s export (JSON stream). To keep DC responsive, it paginated, exporting a fixed number of checklist records per batch. In a recent change, we reduced the batch size to around 1,400 items, but one offset still advanced by 5,000. Result: after writing 1,400 items, the next read skipped ahead, silently omitting thousands of checklist items before resuming. Small pilots didn\u2019t hit that edge; large waves did.<\/p>\n\n\n\n<p><strong>How we proved it.<\/strong><strong><br><\/strong>We shipped a temporary DC build with verbose logging and re-ran the wave. We shipped a temporary DC build with verbose logging and re-ran the export wave. The logs showed that each batch processed about 1.4 K checklists, but the cursor advanced by 5 K each time. That confirmed an off-by-batch bug in the export logic &#8211; the exporter skipped several thousand records per iteration. The problem was on the export side only, not related to import or JCMA.&nbsp;<\/p>\n\n\n\n<p><strong>The fix and recovery.<br><\/strong>We corrected the export bug and triggered a new full-scale migration for the affected projects. JCMA allows restarting only failed app migrations, while the entire site migration can only be copied and re-run from the start. Since this happened during sandbox test waves, running another full migration was safe and straightforward. After fixing the exporter, all data transferred correctly.<strong> <\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<section class=\"quote\">\n  <div class=\"quote__text\">\n    <p>Migrating Smart Checklist from Jira Data Center to Jira Cloud for my client in the educational domain was a smooth experience, thanks to your team\u2019s excellent support. You were quick to respond and helped resolve a technical challenge with the Forge app, ensuring all data transferred successfully. After several trial runs, the final migration went flawlessly, and all checklist data was present in the cloud. I really appreciated the responsiveness and expertise throughout the process highly recommended!<\/p>\n  <\/div>\n  <div class=\"quote-author\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"400\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447.jpeg\" class=\"quote-author__image\" alt=\"\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447.jpeg 400w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447-300x300.jpeg 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447-150x150.jpeg 150w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447-24x24.jpeg 24w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447-36x36.jpeg 36w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/1730496717447-48x48.jpeg 48w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/>    <div>\n          <p class=\"quote-author__name\">\n        Aswin Kanhai      <\/p>\n    \n          <p class=\"quote-author__desc\">\n        Atlassian Consultant, Sopra Steria      <\/p>\n        <\/div>\n  <\/div>\n<\/section>\n<\/blockquote>\n\n\n\n<p><strong>What we learned from this experience.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>During staged migrations, validate a few high-traffic projects by comparing checklist counts DC vs Cloud before signing off on the wave.<br><\/li>\n\n\n\n<li>If you suspect an app-data gap, re-run just the app\u2019s migration for the affected projects rather than the whole site &#8211; JCMA supports targeted reruns.<a href=\"https:\/\/support.atlassian.com\/migration\/docs\/jira-cloud-migration-assistant\/?utm_source=chatgpt.com\"> Atlassian Support<br><\/a><\/li>\n<\/ul>\n\n\n\n<p>Next up, we\u2019ll cover how we handle long-running jobs and the playbook we now use to keep big migrations moving.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Ticking All the Boxes: A Forge Migration Story\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/FAh-Z7gSRW8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Engineering constraints in Cloud and how we designed our migration around them<\/h2>\n\n\n\n<p>On large moves, the technical ceiling matters. Forge is secure and Cloud-native, but it enforces strict guardrails that you\u2019ll encounter during app-data migrations. Here\u2019s how we adapted our approach so that long runs finish reliably without stretching your cutover window.<\/p>\n\n\n\n<p><strong>The 15-minute wall.<br><\/strong><a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/manifest-reference\/modules\/scheduled-trigger\/\">Forge background functions<\/a> can run for up to 900 seconds; after that, the platform stops the invocation. We reworked long exports\/imports into checkpointed batches that save state (last processed issue\/checklist) and resume in the next invocation, rather than trying to push everything through a single run.<\/p>\n\n\n\n<p><strong>Invocation &amp; rate limits.<\/strong><strong><br><\/strong>High-throughput waves can hit <a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/platform-quotas-and-limits\">platform quotas<\/a> (invocations\/minute and related limits). When we detect throttling, the job pauses, schedules the next slice, and continues from the last checkpoint. This avoids partial writes while respecting Forge\u2019s rate and runtime quotas.<a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/platform-quotas-and-limits\/?utm_source=chatgpt.com\">&nbsp;<\/a><\/p>\n\n\n\n<p><strong>Cyclic invocation depth.<\/strong><strong><br><\/strong><a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/queue-events-with-async-events-api-to-import-assets\">Self-queuing patterns<\/a> eventually run into a cyclic invocation depth cap. To stay under the limit, we switched from deep chains to shallow batches, along with a lightweight scheduler that periodically relaunches any stalled work.<a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/queue-events-with-async-events-api-to-import-assets\/?utm_source=chatgpt.com\">&nbsp;<\/a><\/p>\n\n\n\n<p><strong>Auto-restarts for stuck jobs.<\/strong><strong><br><\/strong>Long runs sometimes stall due to transient limits. We added a <a href=\"https:\/\/developer.atlassian.com\/platform\/forge\/add-scheduled-trigger\">scheduled trigger<\/a> that scans progress markers hourly and restarts any task that hasn\u2019t advanced. This pattern keeps work moving without manual babysitting.<\/p>\n\n\n\n<p><strong>What this means for your migration.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>Big exports\/imports proceed in safe chunks with the ability to resume on failure, which reduces the chance of overruns during your production window.<\/li>\n\n\n\n<li>If the platform slows us down, we back off, reschedule, and continue.<\/li>\n\n\n\n<li>You get predictable progress with clear logs and checkpoints, so validation stays straightforward after each wave.<br><\/li>\n<\/ul>\n\n\n\n<p>If you\u2019re building your own helpers for app data, we recommend adopting the same patterns: bounded batches, explicit checkpoints, and a simple \u201cwatchdog\u201d scheduler. Atlassian\u2019s docs on platform quotas, scheduled triggers, and metrics are a good starting point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other common challenges we experienced in the migration process<\/h2>\n\n\n\n<p>Even with solid migration planning, several patterns tend to emerge when moving from Data Center to Jira Cloud.<\/p>\n\n\n\n<p><strong>App &amp; add-on compatibility.<\/strong><strong><br><\/strong>Not every Marketplace app offers the same functionality in Cloud, and some don\u2019t move data automatically. We recommend conducting an app audit early (inside your migration plan) and confirming each vendor\u2019s path. If an app lacks a Cloud route, earmark reconfiguration time or replace it before the cutover.<\/p>\n\n\n\n<p><strong>User management surprises.<\/strong><strong><br><\/strong>Accounts don\u2019t always map 1:1. Duplicate users (same email, different usernames) or reactivated deactivated accounts can appear. We suggest validating email domains during pre-checks and syncing groups from your IdP so permissions in the cloud site match what teams expect.<\/p>\n\n\n\n<p><strong>Permission scheme gaps.<\/strong><strong><br><\/strong>Global permissions and group-to-role mappings differ between DC and Jira Cloud. If users suddenly can\u2019t browse or edit issues, or if dashboards look empty, compare the project\u2019s permission scheme against your DC model, then fix group membership and project roles accordingly.<\/p>\n\n\n\n<p><strong>Automation &amp; workflow differences.<\/strong><strong><br><\/strong>Cloud automations use different triggers, actions, and limits. Scripted validators and post-functions often need a Cloud-native rewrite. If transitions stall or notifications stop, check the rule\u2019s audit log, simplify complex rules, or split them into smaller steps you can validate quickly.<\/p>\n\n\n\n<p><strong>Custom field duplication.<\/strong><strong><br><\/strong>Staged migrations sometimes produce duplicate custom fields. At the post-migration step, consolidate to a single canonical field and re-point filters, JQL, and reports. This keeps reports, dashboards, and workflows clean.<\/p>\n\n\n\n<p><strong>Heavy data loads.<\/strong><strong><br><\/strong>Large attachments or very busy projects can slow down the migration process. We usually recommend archiving old projects, trimming oversized attachments, or migrating in smaller waves to avoid extending migration downtime.<\/p>\n\n\n\n<p><strong>How we handle recovery.<\/strong><strong><br><\/strong>When something slips, we re-run only the affected projects or app data after fixing the root cause. A short post-migration checklist\u2014issues, attachments, workflows, permissions, and key apps\u2014helps confirm the site is healthy before you call the migration done.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Results of Smart Checklist DC to cloud migration<\/strong><\/h2>\n\n\n\n<p>When we finalized the migration process for multiple customers, outcomes were consistent and measurable:<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>No data gaps. Checklists, items, and progress values arrived intact. Where staged waves created duplicate custom fields, a quick sync consolidated everything into one canonical field, keeping JQL, filters, and dashboards clean.<br><\/li>\n\n\n\n<li>Predictable cutovers. Batching plus checkpoints ensured that long runs didn\u2019t overrun the freezing window. If something slowed down, jobs paused and resumed without risking corruption.<br><\/li>\n\n\n\n<li>Operational simplicity. Teams left behind DC maintenance (nodes, storage, backups) and adopted Atlassian\u2019s Cloud cadence for features and security updates, spending less time on infrastructure and more time on optimizing workflows and automation.<br><\/li>\n\n\n\n<li>Clear validation. Admins and QAs had a short, repeatable checklist to verify permissions, user mapping, and app behavior after each migration wave, so go-live decisions were confident.<br><\/li>\n\n\n\n<li>Happier stakeholders. Product owners and other customer stakeholders saw that data residency choices and compliance controls in Cloud met policy, while end users enjoyed a faster, more consistent experience.<\/li>\n<\/ul>\n\n\n\n<p>If you\u2019re at the planning stage, we recommend starting with Atlassian\u2019s<a href=\"https:\/\/www.atlassian.com\/migration\/plan\/cloud-guide?utm_source=chatgpt.com\"> <strong>Cloud Migration Guide<\/strong><\/a> for the official steps and pairing it with a sandbox pilot to pressure-test your app before production.<\/p>\n\n\n\n<section class=\"banner-block\">\n  <div class=\"banner-block__info\">\n    <h5 class=\"banner-block__title\">Organize tasks with secure Forge checklist<\/h5>\n    <ul class=\"banner-list\">            <li class=\"banner-list__item\">Automate and standardize repetitive tasks<\/li>\n                      <li class=\"banner-list__item\">Manage templates to streamline recurring tasks<\/li>\n                      <li class=\"banner-list__item\">Control the data residency<\/li>\n                      <li class=\"banner-list__item\">Keep all data secured within Atlassian infrastructure<\/li>\n          <\/ul>    <a href=\"https:\/\/marketplace.atlassian.com\/apps\/1216451\/smart-checklist-for-jira-pro?utm_source=tablog&#038;utm_medium=template&#038;utm_content=blog_template_task_template\" target=\"\" class=\"banner-block__link btn btn-orange\" >Try for free <\/a>\n  <\/div>\n  <div class=\"banner-block__image\">\n    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2020\/05\/Smart-Checklist_Jira-3.svg\" alt=\"\" width=\"420\" height=\"331\">\n  <\/div>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\">Short migration playbook you can reuse<\/h2>\n\n\n\n<p>Here\u2019s a lightweight runbook we\u2019ve developed on our path of moving Smart Checklist from Data Center to Jira Cloud. Use it as-is or adapt it to your migration planning.&nbsp;<\/p>\n\n\n\n<p><strong>Before you start (prep)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>Inventory the instance: projects, workflows, custom fields, dashboards, automations, and installed Marketplace apps.<br><\/li>\n\n\n\n<li>Spin up a Cloud sandbox and connect JCMA. Run pre-migration checks; fix email\/domain mismatches and obvious permission gaps.<br><\/li>\n\n\n\n<li>App audit: confirm each app\u2019s Cloud availability, data migration path, and any feature differences. Decide on phased moves for larger projects.<br><\/li>\n\n\n\n<li>Pick validation targets: a few high-traffic projects where you\u2019ll compare DC vs Cloud data and user experience.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Work with users: define Pilot users who will be testing migration results, communicate plans with these users in advance, plan learning sessions for end users, and document the \u201cnew way\u201d for teams in Confluence.<br><\/li>\n<\/ul>\n\n\n\n<p><strong>During migration (execution)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>Freeze changes in DC for the wave, then run <strong>JCMA<\/strong> for projects and users (and app data where supported).<br><\/li>\n\n\n\n<li>Monitor progress and logs. If a step slows or throttles, pause and resume; avoid forcing long single runs.<br><\/li>\n\n\n\n<li>Validate immediately in Cloud: check for issues, attachments, custom fields, automations, and app data. Log any gaps while the context is fresh.<br><\/li>\n<\/ul>\n\n\n\n<p><strong>After each wave (tidy &amp; enable)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>Consolidate duplicate custom fields and re-point saved filters\/JQL and dashboards to the canonical field.<br><\/li>\n\n\n\n<li>Re-check user management (groups\/roles) and spot-test Jira Software boards or Jira Service Management queues.<br><\/li>\n\n\n\n<li>Recreate or simplify app rules\/automations to fit Cloud limits; document the \u201cnew way\u201d for teams in Confluence.<br><\/li>\n\n\n\n<li>Communicate changes (through short notes, GIFs, or a 10-minute walkthrough) and capture feedback for the next wave.<\/li>\n<\/ul>\n\n\n\n<p>Note: We can help you <a href=\"https:\/\/railsware.atlassian.net\/wiki\/spaces\/CHKSDC\/pages\/3950673930\/Import+checklists+from+Elements+Checklist+My+ToDo+Checklist+for+Jira+Enterprise\">migrate your data<\/a> from other checklist apps to the cloud. If you\u2019re interested, please <a href=\"https:\/\/railsware.com\/contact\/\">contact us<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Security note: why Cloud was \u201cnot yet\u201d before and&nbsp; is \u201cyes\u201d now<\/h2>\n\n\n\n<p>Many teams originally chose the Data<strong> <\/strong>Center for tighter control and perceived lower risk. Today, Atlassian Cloud addresses most of those concerns with concrete controls and certifications:<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li><a href=\"https:\/\/support.atlassian.com\/security-and-access-policies\/docs\/understand-data-residency\"><strong>Data residency<\/strong><\/a><strong>.<\/strong> Org admins can keep in-scope Jira\/Confluence data in specific regions (US, EU, Australia, Germany, Singapore, Canada, UK, Japan, India, South Korea, Switzerland) rather than distributing it globally. That satisfies many sovereignty and compliance needs without running servers yourself.<\/li>\n\n\n\n<li><strong>Government-grade compliance.<\/strong> Atlassian Government Cloud achieved <a href=\"https:\/\/www.businesswire.com\/news\/home\/20250317008810\/en\/Atlassian-Achieves-FedRAMPR-Moderate-Authorization-for-Atlassian-Government-Cloud\"><strong>FedRAMP Moderate<\/strong><\/a> authorization in March 2025, opening Cloud to agencies and regulated contractors that require a vetted security baseline.<br><\/li>\n\n\n\n<li><strong>Roadmap for stricter environments.<\/strong> Atlassian continues to expand residency coverage and introduced <a href=\"https:\/\/www.atlassian.com\/blog\/announcements\/expanding-pathways-to-cloud\"><strong>Atlassian Isolated Cloud<\/strong><\/a> (a managed, dedicated VPC offering) on the public roadmap for organizations with the most sensitive workloads.<br><\/li>\n<\/ul>\n\n\n\n<p>If you\u2019re still on Server\/DC mainly for security reasons, it\u2019s worth revisiting those assumptions. Server support ended on <strong>February 15, 2024, and DC support will reach its EoL on March 28, 202<\/strong><strong>9<\/strong>, meaning no new fixes or patches, which creates an actual risk surface that grows over time. Cloud now combines residency choice, regulated-market certifications, and a fast release cadence that\u2019s hard to match on-prem.<\/p>\n\n\n\n<p>A clean move from Data Center to Jira Cloud is absolutely achievable with the right plan: rehearse in a sandbox, run JCMA pre-checks, migrate in waves, and validate apps, permissions, custom fields, workflows, and automations as you go. If you need an experienced team to support your migration from DC to Cloud, please <a href=\"https:\/\/railsware.com\/contact\/\">contact us<\/a>.<\/p>\n\n\n\n<section class=\"writer\">\n  <div class=\"writer__image\">\n    <img alt='Viktoriia Golovtseva' src='https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-180x180.jpg' srcset='https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-360x360.jpg 2x' class='avatar avatar-180 photo' height='180' width='180' \/>  <\/div>\n\n  <div class=\"writer-data\">\n    <span class=\"writer-data__label\">Article by<\/span>\n    <span class=\"writer-data__name\">\n      Viktoriia Golovtseva    <\/span>\n    <div class=\"writer-data__bio\">\n      Senior Content Marketing Manager at TitanApps with 10+years of experience in B2B SaaS. I turn complex tech products into clear stories and build content &amp; marketing workflows, bringing higher ROI for tech companies. I work at the intersection of content strategy, content operations, and product marketing, supporting go-to-market (GTM) programs, product adoption, and cross-functional execution. My sweet spot sits where product, marketing, and community meet.    <\/div>\n\n      <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Many teams are moving from Jira Data Center to Jira Cloud because the platform is becoming Cloud-first, Server support ended on February 15, 2024, and Atlassian recently announced the end of life for Data Center.&nbsp; In Cloud, Atlassian delivers faster feature releases, broader automation, and evolving roadmaps and dashboards. At the same time, the heavy [&hellip;]<\/p>\n","protected":false},"author":181780135,"featured_media":7527,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1405,1403,1416,1418,1429,1409],"tags":[1457,1437],"coauthors":[1432],"class_list":["post-7414","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-atlassian-jira","category-case-study","category-it-engineering","category-product-management","category-qa","category-smart-checklist","tag-forge","tag-smart-checklist"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps<\/title>\n<meta name=\"description\" content=\"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps\" \/>\n<meta property=\"og:description\" content=\"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study\" \/>\n<meta property=\"og:site_name\" content=\"Titanapps\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-29T12:21:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-20T12:56:05+00:00\" \/>\n<meta name=\"author\" content=\"Viktoriia Golovtseva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Viktoriia Golovtseva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study\",\"url\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study\",\"name\":\"From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps\",\"isPartOf\":{\"@id\":\"https:\/\/titanapps.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage\"},\"image\":{\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage\"},\"thumbnailUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg\",\"datePublished\":\"2025-10-29T12:21:42+00:00\",\"dateModified\":\"2026-02-20T12:56:05+00:00\",\"author\":{\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/efac3feb5db4df2faa797df2f628772b\"},\"description\":\"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan\",\"breadcrumb\":{\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage\",\"url\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg\",\"contentUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg\",\"width\":480,\"height\":320},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/titanapps.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From Data Center to Cloud (Forge): Smart Checklist migration case study\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/titanapps.io\/blog\/#website\",\"url\":\"https:\/\/titanapps.io\/blog\/\",\"name\":\"Titanapps\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/titanapps.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/efac3feb5db4df2faa797df2f628772b\",\"name\":\"Viktoriia Golovtseva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/image\/dfda535e092e7e09e669c13d16e942b1\",\"url\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-96x96.jpg\",\"contentUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-96x96.jpg\",\"caption\":\"Viktoriia Golovtseva\"},\"description\":\"Senior Content Marketing Manager at TitanApps with 10+years of experience in B2B SaaS. I turn complex tech products into clear stories and build content &amp; marketing workflows, bringing higher ROI for tech companies. I work at the intersection of content strategy, content operations, and product marketing, supporting go-to-market (GTM) programs, product adoption, and cross-functional execution. My sweet spot sits where product, marketing, and community meet.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/viktoriiag-contentmarketing\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps","description":"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study","og_locale":"en_US","og_type":"article","og_title":"From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps","og_description":"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan","og_url":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study","og_site_name":"Titanapps","article_published_time":"2025-10-29T12:21:42+00:00","article_modified_time":"2026-02-20T12:56:05+00:00","author":"Viktoriia Golovtseva","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Viktoriia Golovtseva","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study","url":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study","name":"From Data Center to Cloud (Forge): Smart Checklist migration case study - Titanapps","isPartOf":{"@id":"https:\/\/titanapps.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage"},"image":{"@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage"},"thumbnailUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg","datePublished":"2025-10-29T12:21:42+00:00","dateModified":"2026-02-20T12:56:05+00:00","author":{"@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/efac3feb5db4df2faa797df2f628772b"},"description":"Check Smart Checklist migration case study from DC to Jira Cloud : what went wrong, how we fixed it, and what you can reuse in your own plan","breadcrumb":{"@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#primaryimage","url":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg","contentUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/10\/From-Data-Center-to-Cloud-Forge-Smart-Checklist-migration-case-study-D4E3F7.svg","width":480,"height":320},{"@type":"BreadcrumbList","@id":"https:\/\/titanapps.io\/blog\/data-center-to-cloud-migration-case-study#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/titanapps.io\/blog\/"},{"@type":"ListItem","position":2,"name":"From Data Center to Cloud (Forge): Smart Checklist migration case study"}]},{"@type":"WebSite","@id":"https:\/\/titanapps.io\/blog\/#website","url":"https:\/\/titanapps.io\/blog\/","name":"Titanapps","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/titanapps.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/efac3feb5db4df2faa797df2f628772b","name":"Viktoriia Golovtseva","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/image\/dfda535e092e7e09e669c13d16e942b1","url":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-96x96.jpg","contentUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2026\/02\/viktoriia-golovtseva_avatar-96x96.jpg","caption":"Viktoriia Golovtseva"},"description":"Senior Content Marketing Manager at TitanApps with 10+years of experience in B2B SaaS. I turn complex tech products into clear stories and build content &amp; marketing workflows, bringing higher ROI for tech companies. I work at the intersection of content strategy, content operations, and product marketing, supporting go-to-market (GTM) programs, product adoption, and cross-functional execution. My sweet spot sits where product, marketing, and community meet.","sameAs":["https:\/\/www.linkedin.com\/in\/viktoriiag-contentmarketing\/"]}]}},"article_bg":"#EDF4FD","_links":{"self":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/7414"}],"collection":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/users\/181780135"}],"replies":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/comments?post=7414"}],"version-history":[{"count":8,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/7414\/revisions"}],"predecessor-version":[{"id":8837,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/7414\/revisions\/8837"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/media\/7527"}],"wp:attachment":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/media?parent=7414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/categories?post=7414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/tags?post=7414"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/coauthors?post=7414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}