{"id":6667,"date":"2022-01-14T07:28:20","date_gmt":"2022-01-14T11:58:20","guid":{"rendered":"https:\/\/www.apps4rent.com\/blog\/?p=6667"},"modified":"2023-01-18T10:14:35","modified_gmt":"2023-01-18T14:44:35","slug":"mongodb-to-azure-migration","status":"publish","type":"post","link":"https:\/\/www.apps4rent.com\/blog\/mongodb-to-azure-migration\/","title":{"rendered":"How to Migrate MongoDB to Azure?"},"content":{"rendered":"<p>Modern applications need to be highly responsive and always online. Developers can ensure low latency and high availability of applications by deploying them in data centers that are closest to their users. Web, mobile, gaming, and IoT applications that handle large volumes of data and need to respond in real-time to large changes in usage at peak hours often use MongoDB in their tech stack due to its versatility. In this article, we will focus on migrating MongoDB to Azure Cosmos DB service to take advantage of its high availability, high throughput, low latency, and tunable consistency.<\/p>\n<h2 style=\"font-size: 24px;\">How to Perform MongoDB to Azure Cosmos DB Migration?<\/h2>\n<p>MongoDB can be migrated to Azure using the Azure Database Migration Service. Follow the steps below to migrate MongoDB to Azure.<\/p>\n<h3 style=\"font-size: 21px;\">Pre-migration<\/h3>\n<ul>\n<li style=\"margin-bottom: 10px;\">As a part of the pre-migration process, discover the assets in the current MongoDB estate, assess the readiness for migration, map their requirements to Azure Cosmos DB, and plan the logistics.<\/li>\n<li style=\"margin-bottom: 10px;\">Create an Azure Cosmos DB&#8217;s API for MongoDB account and enable SSR (server side retry).<\/li>\n<li style=\"margin-bottom: 10px;\">Use the Azure Resource Manager deployment model to create a Microsoft Azure Virtual Network for Azure Database Migration Service for site-to-site connectivity to the on-premises source servers using either ExpressRoute or VPN. Ensure that ports 53, 443, 445, 9354, and 10000-2000 are open.<\/li>\n<\/ul>\n<h3 style=\"font-size: 21px;\">Creating Azure Database Migration Service instance<\/h3>\n<ul>\n<li style=\"margin-bottom: 10px;\">Register the Microsoft.DataMigration resource provider for the subscription in which the Azure Database Migration Service instance has to be created.<\/li>\n<li style=\"margin-bottom: 10px;\">Create the Azure Database Migration Service instance and specify the service name, subscription, resource group, and location in which it has to be created.<\/li>\n<li style=\"margin-bottom: 10px;\">Create a virtual network if required and select an appropriate SKU from the Premium pricing tier to create the service.<\/li>\n<\/ul>\n<h3 style=\"font-size: 21px;\">Creating migration project<\/h3>\n<ul>\n<li style=\"margin-bottom: 10px;\">Once the service is created, a migration project can be created using the Azure Database Migration Service.<\/li>\n<li style=\"margin-bottom: 10px;\">Click on <strong>+ New Migration Project,<\/strong> and provide the details for the project name, source, and target server, and the type of activity.<\/li>\n<li style=\"margin-bottom: 10px;\">Click on Select <strong>Save&gt; Create and run activity<\/strong> to create the project.<\/li>\n<li style=\"margin-bottom: 10px;\">Provide the connection details for the source MongoDB server on the <strong>Source details<\/strong> screen.<\/li>\n<li style=\"margin-bottom: 10px;\">Provide the Azure Cosmos DB account details on the <strong>Migration target details<\/strong> screen.<\/li>\n<li style=\"margin-bottom: 10px;\">On clicking Save on the Migration target details page, the <strong>Map to target databases<\/strong> screen, on which the source and target databases have to be mapped. Specify the throughput request units (RU) at the database level or individually for each collection.<\/li>\n<\/ul>\n<h3 style=\"font-size: 21px;\">Completing Cosmos DB migration<\/h3>\n<ul>\n<li style=\"margin-bottom: 10px;\">The <strong>Migration summary<\/strong> screen will appear on clicking <strong>Save.<\/strong> Provide a name for the migration activity in the Activity name text box and click on <strong>Run migration.<\/strong><\/li>\n<li style=\"margin-bottom: 10px;\">Monitor the migration status and verify that the data is replicated from the source MongoDB server to Azure.<\/li>\n<li style=\"margin-bottom: 10px;\">Click on <strong>Finish<\/strong> from the migration activity\u2019s context menu once data from the source MongoDB server is available on the COSMOS DB target.<\/li>\n<\/ul>\n<h2 style=\"font-size: 24px;\">Apps4Rent Can Help with MongoDB to Azure Migration<\/h2>\n<p>Although the Azure Database Migration Service is designed to perform MongoDB migrations, there are known issues and limitations associated with migrations from MongoDB to Cosmos DB&#8217;s API for MongoDB. These often require manual intervention, and technical expertise in troubleshooting issues.<\/p>\n<p>As a Microsoft Gold Partner for Cloud Platform, Cloud Productivity, and Application Integration, Apps4Rent provides <span style=\"color: #007fac;\"><a style=\"color: #007fac;\" href=\"https:\/\/www.apps4rent.com\/managed-azure.html\">managed Azure services<\/a><\/span> to facilitate migrating databases MongoDB, SQL Server, and other solutions to Azure. Call, chat or email our database migration experts, available 24\/7 for assistance.<\/p>\n<style>{#ddexitpopwrapper.open .ddexitpop {display: block;}#ddexitpopwrapper.open .ddexitpop{max-width:1000px;width:1000px;}}@media only screen and (min-width:99px) and (max-width:767px){#ddexitpopwrapper.open .ddexitpop {display: none;}}<\/style>\r\n<link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/www.apps4rent.com\/blog\/wp-content\/themes\/apps4rentoffice\/popup\/exitpopup\/ddexitpop.css\"\/><script src=\"https:\/\/www.apps4rent.com\/blog\/wp-content\/themes\/apps4rentoffice\/popup\/exitpopup\/ddexitpop.js\"><\/script>\r\n<div id=\"ddexitpop1\" class=\"ddexitpop\" style=\"z-index:1000;box-shadow: #00000085 -20px -5px 1200px 1000px;max-width:1000px;width:1000px;left:50%;top: 5px;margin-left: -500px;\">\r\n<div style=\"background: #fff;color: white;height:615px;\">\r\n<div class=\"col-md-6 popup1\" style=\"color:white;height:auto;padding-left: 0px;padding-right: 0px;background:none;\"><img decoding=\"async\" src=\"https:\/\/www.apps4rent.com\/blog\/wp-content\/uploads\/2020\/11\/apps4rent-manage-azure-services.png\" alt=\"Manage Azure\" style=\"height: inherit;\"\/><\/div>\r\n<div class=\"col-md-6\" style=\"background: white;\">\r\n<div style=\"margin-right: -15px;\"><span style=\"cursor: pointer;position: relative; top: 0px;left: 0px;float: right;font-family: Arial;font-size: 17px;background-color: #d1d1d1;color: #4c4c4c; padding-left: 10px;padding-right: 10px;text-decoration: none;right: -40px;\" onclick=\"myFunction()\">X<\/span><\/div>\r\n<p style=\"padding-top: 7px;color: #30508c;margin-bottom: 10px;margin-top: 30px;text-align: center;line-height: 35px;font-size:30px;font-weight: 500; font-family:roboto !important;\">Looking for help with Azure?<br \/>\r\nOur Azure experts can help you.<\/p>\r\n<p>\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f7298-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"7298\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/6667#wpcf7-f7298-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"7298\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f7298-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_group_fields\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_visible_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_repeaters\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_steps\" value=\"{}\" \/><input type=\"hidden\" name=\"_wpcf7cf_options\" value=\"{&quot;form_id&quot;:7298,&quot;conditions&quot;:[{&quot;then_field&quot;:&quot;apoint&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;meeting&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Yes&quot;}]}],&quot;settings&quot;:{&quot;animation&quot;:&quot;yes&quot;,&quot;animation_intime&quot;:200,&quot;animation_outtime&quot;:200,&quot;conditions_ui&quot;:&quot;normal&quot;,&quot;notice_dismissed&quot;:false,&quot;notice_dismissed_rollback-cf7-5.9.5&quot;:true}}\" \/>\n<\/fieldset>\n<style>.wpcf7 form .wpcf7-response-output{margin: 0.5em 0.5em 0.5em;}.first{width:60px;color: #2A363F;text-align: left;}.wpcf7-list-item-label{color: #2A363F;text-align: left;font-size: 20px 'Roboto';font-weight:400;font-style: normal;}.inputf{font: 16px 'Roboto !important';font-weight: normal;font-style: normal;line-height: 25px;color: #2A363F;padding: 5px 10px;font-size: 16px;border: #9d9fa0 1px solid !important;margin-bottom:20px !important;box-sizing: border-box;border-radius: 3px !important;width: 100%;}\n.cf7-style div.wpcf7-response-output{width:fit-content;margin: 0px;padding: 5px !important;}.button4 {padding: 15px 20px;font-size: 18px !important;background: #375181;font-family: sans-serif;color: #fff;border: #9dbfff 2px solid;box-shadow: none;font-weight: bold;margin-bottom:0px !important;width: 100% !important;}.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{width: max-content;margin: 0px;}\n<\/style>\n<style>@media only screen and (min-width:99px) and (max-width:767px){#content{margin-left:0px auto;}.sec {width:100% !important;float: none !important;}.html input[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"]{font-size:16px !important;}}\n<\/style>\n<div style=\"padding-left: 15px;padding-right: 15px;padding-top: 15px;padding-bottom: 0px;\">\n\t<div style=\"float: left;width: 100%;margin-right: 15px;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"Name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name*\" value=\"\" type=\"text\" name=\"Name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;margin-right: 15px;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"contact\"><input size=\"40\" maxlength=\"10\" minlength=\"6\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Contact Number*\" value=\"\" type=\"tel\" name=\"contact\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Email ID*\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n\t\t<\/p>\n\t\t<p style=\"font-size: 20px 'Roboto';font-weight:400;font-style: normal;color: #2A363F;text-align: left;margin-bottom: 10px;\">Schedule a meeting?<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"meeting\"><span class=\"wpcf7-form-control wpcf7-checkbox wpcf7-validates-as-required wpcf7-exclusive-checkbox meeting\"><span class=\"wpcf7-list-item first\"><label><input type=\"checkbox\" name=\"meeting\" value=\"Yes\" \/><span class=\"wpcf7-list-item-label\">Yes<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"checkbox\" name=\"meeting\" value=\"No\" \/><span class=\"wpcf7-list-item-label\">No<\/span><\/label><\/span><\/span><\/span>\n\t\t<\/p>\n\t\t<div data-id=\"apoint\" data-orig_data_id=\"apoint\"  class=\"\" data-class=\"wpcf7cf_group\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text inputf\" aria-invalid=\"false\" placeholder=\"Preferred Callback Time* (E.g. Monday, 4 PM EST, NJ, USA)\" value=\"\" type=\"text\" name=\"time\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"msg\"><textarea cols=\"40\" rows=\"5\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea inputf\" aria-invalid=\"false\" placeholder=\"Message\" name=\"msg\"><\/textarea><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div>\n\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner button4\" type=\"submit\" value=\"SUBMIT REQUEST\" \/>\n\t\t<\/p>\n\t<\/div>\n<\/div><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"_wpcf7_ak_\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"_wpcf7_ak_js\" value=\"151\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p><script>jQuery(function(){ddexitpop.init({contentsource: ['id', 'ddexitpop1'],fxclass: 'random',hideaftershow: true,displayfreq: 'always',onddexitpop: function($popup){console.log('Exit Pop Animation Class Name: ' + ddexitpop.settings.fxclass)}})})<\/script><script>function myFunction(){document.getElementById(\"ddexitpop1\").style.display = \"none\";}<\/script><\/p>\r\n\n","protected":false},"excerpt":{"rendered":"<p>Modern applications need to be highly responsive and always online. Developers can ensure low latency and high availability of applications by deploying them in data centers that are closest to their users. Web, mobile, gaming, and IoT applications that handle large volumes of data and need to respond in real-time to large changes in usage [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[545,656],"tags":[],"class_list":["post-6667","post","type-post","status-publish","format-standard","hentry","category-azure","category-sql"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/comments?post=6667"}],"version-history":[{"count":3,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6667\/revisions"}],"predecessor-version":[{"id":7305,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6667\/revisions\/7305"}],"wp:attachment":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/media?parent=6667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/categories?post=6667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/tags?post=6667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}