{"id":10129,"date":"2025-04-11T13:07:38","date_gmt":"2025-04-11T13:07:38","guid":{"rendered":"http:\/\/usn.nl\/?p=10129"},"modified":"2025-06-17T11:44:17","modified_gmt":"2025-06-17T11:44:17","slug":"data-migration","status":"publish","type":"post","link":"https:\/\/usn.nl\/en\/data-migratie\/","title":{"rendered":"Data migration"},"content":{"rendered":"<h4 class=\"p1\"><strong>From museum piece to VM<\/strong>: <b>a migration story<\/b><\/h4>\n<p class=\"p1\">Recently, a client approached us with a classic case <i>\u201cIt's been like this for years and nobody dares to touch it\u201d<\/i>. An old application was running that hadn't been updated for quite some time and was therefore several major releases behind.<\/p>\n<p class=\"p1\">After some research, we quickly saw: this is fixable. Time to roll up our digital sleeves. We started with an action plan.<\/p>\n<h4 class=\"p1\"><b>The first step: virtualising <\/b><\/h4>\n<p class=\"p1\">The app was running on a piece of dated hardware. Fortunately, the client had recently implemented a virtualisation platform (good move), so we advised running the application in a fresh VM.<\/p>\n<h4 class=\"p1\"><b>Getting ready for migration<\/b><\/h4>\n<p class=\"p1\">We installed the latest version of the application on the new VM and set up the environment to facilitate a smooth transition.<\/p>\n<p class=\"p1\">Then the real work began: figuring out how we could neatly migrate the old data to the new version.<\/p>\n<p class=\"p1\">We delved into the supplier's documentation \u2013 a comprehensive manual which quickly made it clear that the database structure had changed significantly over the years. A direct migration without preparation would pose a considerable risk of data corruption and a failed transition. Naturally, we wanted to prevent that.<\/p>\n<h4 class=\"p1\"><b>Ansible to the rescue<\/b><\/h4>\n<p class=\"p1\">We put together a few clever Ansible playbooks to transfer the data to the new database in a controlled manner. And sure enough, the application started up perfectly in its new location, complete with all customer data. Just a bit of fine-tuning settings to go.<span class=\"Apple-converted-space\">\u00a0 <\/span>\u2013 and done.<\/p>\n<h4 class=\"p1\"><b>Evening migration without downtime<\/b><\/h4>\n<p class=\"p1\">At the customer's request, we carried out the entire operation during the evening hours. Result: <b>nil downtime<\/b>, no more sleepless end-users and an application that can last for years to come.<\/p>\n<p class=\"p1\">Do you also have outdated applications that need a good clean-up? USN is happy to help. <a href=\"http:\/\/usn.nl\/en\/contact\/\">Feel free to contact us<\/a> to explore your situation together.<\/p>","protected":false},"excerpt":{"rendered":"<p>Van museumstuk naar VM: een migratieverhaal Onlangs klopte een klant bij ons aan met een klassiek geval \u201cdit draait al j\u00e1\u00e1ren zo en niemand durft eraan te komen\u201d. Er draaide een oude applicatie die al een behoorlijke tijd niet was ge\u00fcpdatet en dus een aantal belangrijke releases achter liep. Na wat onderzoek, zagen we al&#8230;<\/p>","protected":false},"author":5,"featured_media":10130,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25],"tags":[],"class_list":["post-10129","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Data migratie plan van aanpak | USN<\/title>\n<meta name=\"description\" content=\"Een klant zat vast met een oude app vol achterstallige updates. Wij zagen: dit is te fixen. Lees het data migratie-verhaal\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/usn.nl\/en\/data-migration\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data migratie plan van aanpak | USN\" \/>\n<meta property=\"og:description\" content=\"Een klant zat vast met een oude app vol achterstallige updates. Wij zagen: dit is te fixen. Lees het data migratie-verhaal\" \/>\n<meta property=\"og:url\" content=\"https:\/\/usn.nl\/en\/data-migration\/\" \/>\n<meta property=\"og:site_name\" content=\"USN\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-11T13:07:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-17T11:44:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"marlous@dailysirup.nl\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"marlous@dailysirup.nl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/\"},\"author\":{\"name\":\"marlous@dailysirup.nl\",\"@id\":\"https:\\\/\\\/usn.nl\\\/#\\\/schema\\\/person\\\/9ee4ab417a1fbd4d2841fa3d01e1b37f\"},\"headline\":\"Data migratie\",\"datePublished\":\"2025-04-11T13:07:38+00:00\",\"dateModified\":\"2025-06-17T11:44:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/\"},\"wordCount\":321,\"publisher\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Migrateiverhaal-blog.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/\",\"url\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/\",\"name\":\"Data migratie plan van aanpak | USN\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Migrateiverhaal-blog.jpg\",\"datePublished\":\"2025-04-11T13:07:38+00:00\",\"dateModified\":\"2025-06-17T11:44:17+00:00\",\"description\":\"Een klant zat vast met een oude app vol achterstallige updates. Wij zagen: dit is te fixen. Lees het data migratie-verhaal\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#primaryimage\",\"url\":\"https:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Migrateiverhaal-blog.jpg\",\"contentUrl\":\"https:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Migrateiverhaal-blog.jpg\",\"width\":1080,\"height\":1080,\"caption\":\"Data migratie naar VM\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/usn.nl\\\/data-migratie\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/usn.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data migratie\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/usn.nl\\\/#website\",\"url\":\"https:\\\/\\\/usn.nl\\\/\",\"name\":\"USN\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/usn.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/usn.nl\\\/#organization\",\"name\":\"USN\",\"url\":\"https:\\\/\\\/usn.nl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/usn.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"http:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo.png\",\"contentUrl\":\"http:\\\/\\\/usn.nl\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo.png\",\"width\":698,\"height\":408,\"caption\":\"USN\"},\"image\":{\"@id\":\"https:\\\/\\\/usn.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/usn.nl\\\/#\\\/schema\\\/person\\\/9ee4ab417a1fbd4d2841fa3d01e1b37f\",\"name\":\"marlous@dailysirup.nl\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g\",\"caption\":\"marlous@dailysirup.nl\"},\"url\":\"https:\\\/\\\/usn.nl\\\/en\\\/author\\\/marlousdailysirup-nl\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Data migration plan of action | USN","description":"A customer was stuck with an old app full of overdue updates. We saw: this is fixable. Read the data migration story","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:\/\/usn.nl\/en\/data-migration\/","og_locale":"en_GB","og_type":"article","og_title":"Data migratie plan van aanpak | USN","og_description":"Een klant zat vast met een oude app vol achterstallige updates. Wij zagen: dit is te fixen. Lees het data migratie-verhaal","og_url":"https:\/\/usn.nl\/en\/data-migration\/","og_site_name":"USN","article_published_time":"2025-04-11T13:07:38+00:00","article_modified_time":"2025-06-17T11:44:17+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg","type":"image\/jpeg"}],"author":"marlous@dailysirup.nl","twitter_card":"summary_large_image","twitter_misc":{"Written by":"marlous@dailysirup.nl","Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/usn.nl\/data-migratie\/#article","isPartOf":{"@id":"https:\/\/usn.nl\/data-migratie\/"},"author":{"name":"marlous@dailysirup.nl","@id":"https:\/\/usn.nl\/#\/schema\/person\/9ee4ab417a1fbd4d2841fa3d01e1b37f"},"headline":"Data migratie","datePublished":"2025-04-11T13:07:38+00:00","dateModified":"2025-06-17T11:44:17+00:00","mainEntityOfPage":{"@id":"https:\/\/usn.nl\/data-migratie\/"},"wordCount":321,"publisher":{"@id":"https:\/\/usn.nl\/#organization"},"image":{"@id":"https:\/\/usn.nl\/data-migratie\/#primaryimage"},"thumbnailUrl":"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg","articleSection":["Blog"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/usn.nl\/data-migratie\/","url":"https:\/\/usn.nl\/data-migratie\/","name":"Data migration plan of action | USN","isPartOf":{"@id":"https:\/\/usn.nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/usn.nl\/data-migratie\/#primaryimage"},"image":{"@id":"https:\/\/usn.nl\/data-migratie\/#primaryimage"},"thumbnailUrl":"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg","datePublished":"2025-04-11T13:07:38+00:00","dateModified":"2025-06-17T11:44:17+00:00","description":"A customer was stuck with an old app full of overdue updates. We saw: this is fixable. Read the data migration story","breadcrumb":{"@id":"https:\/\/usn.nl\/data-migratie\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/usn.nl\/data-migratie\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/usn.nl\/data-migratie\/#primaryimage","url":"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg","contentUrl":"https:\/\/usn.nl\/wp-content\/uploads\/2025\/04\/Migrateiverhaal-blog.jpg","width":1080,"height":1080,"caption":"Data migratie naar VM"},{"@type":"BreadcrumbList","@id":"https:\/\/usn.nl\/data-migratie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/usn.nl\/"},{"@type":"ListItem","position":2,"name":"Data migratie"}]},{"@type":"WebSite","@id":"https:\/\/usn.nl\/#website","url":"https:\/\/usn.nl\/","name":"USN","description":"","publisher":{"@id":"https:\/\/usn.nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/usn.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/usn.nl\/#organization","name":"USN","url":"https:\/\/usn.nl\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/usn.nl\/#\/schema\/logo\/image\/","url":"http:\/\/usn.nl\/wp-content\/uploads\/2024\/07\/logo.png","contentUrl":"http:\/\/usn.nl\/wp-content\/uploads\/2024\/07\/logo.png","width":698,"height":408,"caption":"USN"},"image":{"@id":"https:\/\/usn.nl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/usn.nl\/#\/schema\/person\/9ee4ab417a1fbd4d2841fa3d01e1b37f","name":"marlous@dailysirup.nl","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e9c742168bd554bbf3c51ffb8a336160f44a104fc2d11db04c55a65058251718?s=96&d=mm&r=g","caption":"marlous@dailysirup.nl"},"url":"https:\/\/usn.nl\/en\/author\/marlousdailysirup-nl\/"}]}},"_links":{"self":[{"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/posts\/10129","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/comments?post=10129"}],"version-history":[{"count":2,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/posts\/10129\/revisions"}],"predecessor-version":[{"id":10133,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/posts\/10129\/revisions\/10133"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/media\/10130"}],"wp:attachment":[{"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/media?parent=10129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/categories?post=10129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/usn.nl\/en\/wp-json\/wp\/v2\/tags?post=10129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}