OVERVIEW

This guide is designed to give you a roadmap for how to migrate existing applications to ComputeStacks with containers. We focused on PHP-based applications for this guide, since that is the most common type of application we see on our platform, however the processes listed here can be applied to any kind of application.

If you would like more guidance on how to accomplish the migration process for your particular app, please visit our forum and our community members would be more than happy to give feedback.

SECTIONS


Before you begin

When onboarding a new application to ComputeStacks, there are two directions you can go:

Traditional containerized application deployment process.

This is typically used by developers, or users with container experience. The application will be packaged into the container itself and will not enable SFTP access to the container. This allows for versioned containers and integration with build pipelines (CI).

Traditional FTP/SFTP setup

This would be the legacy web hosting model where the user will login using their FTP/SFTP application of choice.

All of our current marketplace images (Wordpress, PHP, Magento, etc) follow this model. We have a standardized image without any application data stored in the container. You will upload their application to the volume using the SSH/SFTP container attached to their project.

This guide will focus on #2: Migrating a custom application from a traditional hosting environment, while maintaining the SFTP access they're used to.

Throughout this application, we will be using a demo php/mysql application as our example.


Survey Existing Application

Our first step is to survey their existing application and determine which containers we will need, and if we need to build anything for their application. In general, our goal is to reuse existing images that we already have built, and make modifications using the existing tools (e.g. htaccess, cron jobs), rather than build a custom image that we then need to maintain.

Identify Data Persistence Requirements