How to migrate your apps from Azure Container Service (2024)

Microsoft’s ACS is shutting down in January 2020. Here are your options for Kubernetes, Docker, and DC/OS

How to migrate your apps from Azure Container Service (1)

Credit: Getty Images

Signaling another victory for Kubernetes in the container orchestration marketplace, Microsoft recently announced that it will retire its Azure Container Service in January 2020. ACS users are being encouraged to move their distributed infrastructures across to Microsoft’s newer Azure Kubernetes Service.

It’s a logical move for Microsoft. While ACS’s alternative orchestration options for Docker Swarm and Mesosphere’s DC/OS will continue to be supported on Azure, Microsoft will no longer run them for you. Instead, Microsoft is concentrating its investment on improving Kubernetes support across Azure and on its own Kubernetes tools.

What happens to your existing ACS apps

While ACS is being retired, applications built on it won’t suddenly stop running. The APIs used to manage them will be blocked, so you have no control and you won’t be able to use Azure tools to add new clusters or update and scale your existing services. There’ll also be no support, so although code will run you won’t be able to manage it without using your own tools—and even then those capabilities will be limited. You’ll also be locked into an old version of whatever orchestration framework you’re using, and you won’t be able to rely on automated security updates.

It’s clear that the added risk from staying on ACS after January 2020 will be too high for most applications, so take the year Microsoft is providing to plan and manage any migrations.

For ACS applications using Kubernetes, that won’t be too difficult. But because the underlying orchestration concepts and tools will be different for Swarm and DC/OS, code that’s build on them will be harder to move. Even there, though, because all the services rely on the same container model, you won’t need to make significant code changes.

Microsoft makes it clear that it expects users to migrate to alternative solutions, with its own Azure Kubernetes Service (AKS) its preferred option. Certainly AKS is where much of Azure’s open source investment in Kubernetes is going, with its acs-engine tools transitioning to a new GitHub repo, aks-engine. If you’re using acs-engine on your own Azure virtual infrastructures, you should be able to switch directly to aks-engine to manage your Kubernetes instances because it’s backward-compatible.

How to migrate from ACS

So how should you manage your migration? Although there’s quite a bit to consider, things aren’t as complex as they might seem.

First, you need to consider the economic question. Moving from ACS to AKS shouldn’t have a significant impact on billing, nor should moving to the open source version of Mesosphere DC/OS. With a migration to Docker Enterprise for Swarm or to the Enterprise Release of Mesosphere DC/OS, you need licenses from either company in addition to any Azure infrastructure costs. That does mean you’ll be giving up on one of the advantages of Azure, instead splitting your billing relationship across multiple companies rather than having only one monthly payment.

Second, once you’ve made your economic decision, a move from a Swarm or DC/OS ACS instance to working with the full product shouldn’t require significant engineering effort. However, it may incur new operations requirements, because you’ll need to work with product-specific management tools outside the Azure Portal. That could be an issue for some organizations, but in practice the tools provided by these platforms offers the same features as ACS. You’ll also get access to direct support, alongside Azure support. If you prefer, there’s also the option of rewriting code to run on AKS.

Moving Kubernetes from ACS to AKS

AKS has been Microsoft’s focus for Kubernetes on Azure for well over a year, and it’s added a lot of management features as it has matured and grown. So it’s not surprising that AKS is Microsoft’s preferred solution for deploying Kubernetes-managed applications on Azure. With support for features like virtual kubelets, via Azure Container Instances, there’s also the option to use AKS to take advantage of ACI’s higher level container management, reducing the workload associated with running Kubernetes even further.

Moving from ACS to AKS does have some issues, and you may need to make changes to your application architecture to handle the differences between the two services. Some of the issues are due to AKS being a managed Kubernetes, and once handled should simplify running your application.

First, you need to change your StorageClass objects from unmanaged to managed, and similarly for any PersistentVolumes. AKS uses Azure Managed Disks, letting it control your storage directly, adding capacity as needed. You also need to avoid using any Windows Server-based Kubernetes nodes for now, because the planned support is currently just in a private beta.

You may also need to upgrade the version of Kubernetes you’re using for your code. This is best handled in a development environment, so you can deploy onto AKS directly. Once deployed, you’ll automatically be updated because your application will be managed by AKS’s control plane, with support for dynamic scaling. There are API differences as well, so if you’re planning on using external Kubernetes tools for monitoring and debugging, check that they support the AKS APIs.

Dealing with Kubernetes storage and deploying to AKS

If you’re migrating a stateless application from ACS to AKS, the process can be as easy as deploying your application YAML onto a new cluster and letting AKS deploy and start your containers. Once they’re running, you can test your code before switching public IP addresses from your ACS instance to AKS.

Things are more complicated with stateful applications, and you may need to warn users of the possibility of extended downtime. One option is to set up a failover replica of your application on AKS, and let it replicate your data. Once it’s in sync with your existing ACS application, you can fail over from the ACS application to AKS, before redirecting traffic to AKS.

Migrating storage to managed disks adds extra complexity, and will often require significant downtime if you have a lot of data. You need to stop writes from your ACS code, shutting it down and snapshotting any disks. The snapshots can be used to create new disks, which can be used as AKS Persistent Volumes. Once deployed, your application needs to be tested before you can start sending traffic to it. Users won’t be able to access it from the point you shut down your ACS release to the point your AKS deployment goes live.

The method used to deploy code to AKS is similar to that used to deploy code to any Kubernetes cluster. You start by creating a cluster in AKS, using the same node definitions you used in ACS. You then need to edit your YAML to support AKS definitions and locations, and deploy using your existing CI/CD pipelines to the new service host. Once code is there, you can test it using your existing test tools and techniques before migrating your users to the new service.

Once all that is done, you can take advantage of a fully managed, autoscaling environment with support for Virtual Kubelets—and get automatic updates, so you’re protected from security issues like the recently announced (and fixed) Kubernetes privilege-escalation bug.

Related content

  • analysisHow Azure Functions is evolving Microsoft has delivered major updates to its serverless compute service to align it more closely with development trends including Kubernetes and generative AI. By Simon BissonJul 11, 20247 minsAzure FunctionsMicrosoft AzureServerless Computing
  • analysisUnderstanding DiskANN, a foundation of the Copilot Runtime Microsoft is adding a fast vector search index to Windows. It’s tailor-made for fast, local small language models like Phi Silica.By Simon BissonJul 04, 20247 minsSoftware DeploymentGenerative AIArtificial Intelligence
  • analysisAI development on a Copilot+ PC? Not yet Microsoft’s new AI-infused hardware shows promise for developers, but the platform still needs work to address a fragmented toolchain.By Simon BissonJun 27, 20249 minsVisual Studio CodeSoftware DeploymentGenerative AI
  • analysisInside today’s Azure AI cloud data centers At Build, Microsoft described how Azure is supporting large AI workloads today, with an inference accelerator, high-bandwidth connections, and tools for efficiency and reliability.By Simon BissonJun 20, 20247 minsMicrosoft AzureTechnology IndustryArtificial Intelligence
  • Resources
  • Videos
How to migrate your apps from Azure Container Service (2024)

FAQs

How to do application migration on Azure? ›

NET or PHP web applications from on-premises to the cloud.
  1. Assess your website for migration by running a scan of its public URL.
  2. Download the Migration Assistant tool to run readiness checks.
  3. Migrate your web application to Azure App Service.

How do I export Azure App Service? ›

From the Azure portal, follow these steps:
  1. Navigate to your App Configuration store, and select Import/export.
  2. Select the Export radio button and under Target type, select Configuration file.
  3. Fill out the form with the following parameters: Parameter. Description. Example. File type. ...
  4. Select Export to finish the export.

Why migrate apps to containers instead of cloud? ›

Containers provide greater density of workloads across your clusters, fine-grained resource allocations, and overall lower infrastructure costs.

How do I move my Azure App Service region? ›

App Service resources are region-specific and can't be moved across regions. You must create a copy of your existing App Service resources in the target region, then relocate your content over to the new app.

What are the steps involved in migration in Azure? ›

Migrating to Azure generally involves several key steps:
  • Conducting initial planning and readiness assessment.
  • Assessing and categorizing workloads and applications.
  • Choosing the right migration strategy and tools, like Azure Migrate.
  • Performing the actual migration of workloads, data, and applications.
Mar 7, 2024

What are the types of migration in Azure? ›

Azure Migrate tools include Azure Migrate: Server Assessment and Azure Migrate: Server Migration. Azure Migrate also integrates with other Azure services and tools, and with independent software vendor (ISV) offerings.

How do I clone an Azure app Service? ›

Cloning an existing App
  1. In the Azure Portal, open your web app's blade.
  2. Click Tools. Then, in the Tools blade, click Clone App. ...
  3. In the Clone App blade provide a name of the new web app, Resource Group, and App Service Plan. ...
  4. After clicking create the platform will start working on creating a clone of the source web app.
Feb 1, 2021

How to download files from Azure app Service? ›

Log in to your Azure account using the Azure CLI by running the command az login . Once you are logged in, navigate to the directory where you want to copy the files to on your local machine. Use the Azure CLI to copy the files from the Azure Web App to your local machine.

How do I deploy an Azure app Service? ›

Example: deploy using Web Deploy
  1. Select the Tasks tab, then select Deploy Azure App Service. ...
  2. In the dialog, make sure that Connection type is set to Azure Resource Manager.
  3. In the dialog, expand Additional Deployment Options and select Select deployment method. ...
  4. Save the release pipeline.
Jun 4, 2024

Why use Azure Container apps? ›

Azure Container Apps enables you to build serverless microservices and jobs based on containers. Distinctive features of Container Apps include: Optimized to run general purpose containers, especially for applications that span many microservices deployed in containers.

How to migrate applications into containers? ›

5 steps to migrate your application to containers
  1. Understand your dependencies. Porting your application to a container is an excellent opportunity to get to know what your app actually depends upon. ...
  2. Evaluate your data storage. ...
  3. Prepare your Git repo. ...
  4. Know your build system. ...
  5. Build an image. ...
  6. Containerize it.
Feb 8, 2022

What is container migration? ›

Container migration is the process of detaching all the processes running in the container's context.

How do I move Azure services to another region? ›

Select resources to move
  1. In the Azure portal, open the relevant resource group.
  2. In the resource group page, select the resources that you want to move.
  3. Select Move > Move to another region.
  4. In Source + destination, select the target region to which you want to move the resources. ...
  5. In Resources to move, select Next.
Mar 29, 2024

How do I migrate to Azure migrate server? ›

In the Azure Migrate project, select Servers, databases, and web apps > Migration and modernization, select Replicated servers under Replications. In Replicating machines, right-click the VM and select Migrate. In Migrate > Shut down virtual machines and perform a planned migration with no data loss, select No > OK.

How do I change my Azure app Service Tier? ›

Move an app to another App Service plan
  1. In the Azure portal, search for and select App services and select the app that you want to move.
  2. From the left menu, under App Service Plan, select Change App Service plan.
  3. In the App Service plan dropdown, select an existing plan to move the app to.
Aug 2, 2023

How do I plan an application migration? ›

How to Create an Application Migration Plan
  1. Build migration team of internal experts and cross-functional representatives. ...
  2. Assess the migration plan and understand the goals. ...
  3. Set migration timeline and project scope. ...
  4. Inventory all business processes and data. ...
  5. Migrate data and map new business processes in phases.
Jul 19, 2024

How do I add migration to Azure? ›

To migrate machines and workloads to Azure, select Discover, assess and migrate. To migrate on-premises databases, select Assess and migrate databases. To migrate on-premises web apps, select Explore more > Web Apps. To migrate data to Azure using Data box, select Explore more > Data box.

How applications are migrated to cloud? ›

Organizations take apps from their previous environment and migrate them as-is to their new cloud environment. Replatform. This approach sits between rehosting and refactoring. With replatforming, organizations make minor code changes so that cloud technologies can be applied to the apps.

How do I migrate an application server? ›

5-Step Server Migration Plan
  1. Preparing Your New Server.
  2. Assess Data Fidelity.
  3. Data Transfer.
  4. Testing (QA/QC).
  5. Changing DNS and Going Live.
Aug 17, 2022

References

Top Articles
ICT Academy | Faculty Development | Skill Development | Entrepreneurship Development
James W. "Jim" Ames - Baker Swan Funeral Home
Die Reiseauskunft auf bahn.de - mit aktuellen Alternativen gut ans Ziel
Houston Isd Applitrack
Craigslist Centre Alabama
NFL on CBS Schedule 2024 - How To Watch Live Football Games
Ohio State Football Wiki
Shining Time Station (television series)
Pobierz Papa's Mocharia To Go! na PC za pomocą MEmu
Paulding County Bus Stop Locator
Logo Variations - DreamWorks Animation
When Does Dtlr Close
Creative Fall Bloxburg House Ideas For A Cozy Season
2 værelses hus i Ejby
Jailbase Milwaukee
Does Publix Have Sephora Gift Cards
Smith And Wesson Nra Instructor Discount
Guide to Gold Farming in Guild Wars 2 - MMOPIXEL
Annika Noelle Feet
Parentvue Stma
Ubreakifix Laptop Repair
Chlamydia - Chlamydia - MSD Manual Profi-Ausgabe
Vegamovies 2023 » Career Flyes
Maximise Your Funding: Key Insights on Accounting for Grants
Huniepop Jessie Questions And Answers
Interview With Marc Rheinard (Team ToniSport & Awesomatix) From Germany
Covenant Funeral Service Stafford Obituaries
Kup telewizor LG OLED lub QNED i zgarnij do... 3000 zł zwrotu na konto! Fantastyczna promocja
Jennifer Beals Bikini
Gambler's Phrase Of Defeat
Yonkers Garbage Schedule 2023
Lucky Dragon Net
Does Dollar General Have Humidifiers
Mrballen Political Views
Charles Bengry Commerce Ca
How Much Does Hasa Pay For Rent 2022
Myhr North Memorial
Closest Postal Service To My Location
Best Upscale Restaurants In Denver
Costco Gasoline and Sam's Club Fuel Center Gas Savings - Consumer Reports
Shiawassee County 911 Active Events
Plastic Bench Walmart
Charter Spectrum Appointment
Serenity Of Lathrop Reviews
Joe Aloi Beaver Pa
Function Calculator - eMathHelp
How To Get Genji Cute Spray
Trapshooters.com Discussion Forum
About Data | Weather Underground
Google Halloween Game 2018 Unblocked
2045 Union Ave SE, Grand Rapids, MI 49507 | Estately 🧡 | MLS# 24048395
new hampshire real estate - craigslist
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 6412

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.