Managed Services

Migration FAQs

Get answers to all your migration queries for a smooth transition.

Page Contents

This page is for you who are migrating to the Elastisys Kubernetes Platform for the first time. It assumes that you already have a Kubernetes-ready application that is running in, for instance, a hyperscaler cloud (AWS, Google, Azure). If you do not actually have an application already, but prior Kubernetes experience, you can still follow along nicely.

Table of Contents

What is Elastisys Kubernetes Platform?

Elastisys Kubernetes Platform is a fully-managed Kubernetes platform. This means that Elastisys manages the entire Kubernetes environment, as well as a large number of other components on top, for you. Letting us take over this burden from your developers and operations personnel means that we can do the system administration in a much more cost-effective manner. However, it also means letting go of detailed control over platform components, which some are accustomed to having to deal with.

Who is responsible for what within the Elastisys Kubernetes Platform?

In short, Elastisys is responsible for the entire platform and its components. We also manage the cloud infrastructure underneath, so you can focus on your application. 

As a customer, you are responsible for mainly two things: your application and its data. Your application code, deployment process (we provide Argo for automatic deployment), and correct security settings (such as Network Policies) are up to you. Also, you are responsible for storing data correctly on Persistent Volumes or in a PostgreSQL database.

Elastisys is responsible for backing up data stored on Persistent Volumes using snapshots, and configures the PostgreSQL database service with point-in-time recovery features. Restoring from these backups are our responsibility, and we will do so when you ask us to.

The shared responsibility model page goes into the full details.

How do we deploy applications to Elastisys Kubernetes Platform?

The Elastisys Kubernetes Platform comes with Argo CD as a continuous deployment tool, and you can set it up such that it deploys as soon as it detects changes in a Git repository of your choice. This supports a declarative pull-based GitOps flow for managing deployments.

If you prefer to use a system such as GitHub Actions, Azure DevOps, or similar, where the system pushes changes to your Kubernetes platform, we have instructions for setting up pull-based automatic deployment, as well.

What does everyday life look like for a developer using Elastisys Kubernetes Platform?

First and foremost, you will actually be developing, rather than frantically googling for how to operate a Kubernetes cluster, that’s for sure. Beyond that, it depends on how much automation you have set up for yourself. With a CI solution that builds your application whenever you push your commits, you can set up automated deployments as well, and never have to touch the “kubectl” CLI. “Build, containerize, push, run” can be done locally on your machine using Skaffold, for very fast feedback loops (see our Skaffold docs). We have customers that love OpenLens and k9s to interact with their Kubernetes environments (see our OpenLens docs).

Deploying to Elastisys Kubernetes Platform is easy to automate. You can choose a simple push-based approach, such as via GitHub Actions. Or, if you prefer a pull-based GitOps approach, the platform comes with Argo as well.

As developers, we do not just deploy code, of course. We also look at monitoring and logs, and possibly, tracing information. All of that is possible using the observability features built into Elastisys Kubernetes Platform. The platform observability features are based on Prometheus + Grafana (monitoring), OpenSearch (logging), and Jaeger (distributed tracing). All with unified login via your identity provider, and role-based access control.

What steps are involved in migrating to Elastisys Kubernetes Platform?

The steps for a migration to Elastisys Kubernetes Platform are typically to: 

  1. Ensure the application is containerized, and that it does not run as root.
  2. Upload the application’s containers to the included Harbor container registry, or any other registry that you have designated as trusted. We recommend the Harbor one, because that keeps the container images in the cluster and it also has vulnerability scanning capabilities.
  3. Ensure that the application can deploy on Elastisys Kubernetes platform, abiding by its safeguards. For regular Pods, this includes specifying a Network Policy and resource requests. 
  4. Migrate your current database contents to the managed PostgreSQL service. The simple pg_dump utility can be used for this.
  5. Connect your application to the PostgreSQL service and expose it via an Ingress.

Elastisys also recommends that you set up automated continuous deployments using Argo, to focus entirely on just developing your application.

How long does it take to migrate to Elastisys Kubernetes Platform?

For a containerized application that you have already deployed to Kubernetes before, the changes can be as minimal as just migrating database contents and deploying your application to the Elastisys Kubernetes Platform. 

For applications that are not yet containerized, or where data resides in an alternative database, such as MongoDB, the migration will take longer. Depending on the availability of your engineering team, it could take a few weeks. The time investment in then never having to work with platform administration or cloud infrastructure is, our customers have found, immensely worth it.

If you need help, either in the form of leveling up skills internally via official Linux Foundation training, or hands-on consulting to extend your team, Elastisys has you covered.

What kind of support or help will we get from Elastisys?

Keeping your Elastisys Kubernetes Platform environment secure is our responsibility, and you do not have to ask us to upgrade it or keep it secure: that is the whole point of our managed service. If you have technical questions, you can ask over the shared Slack channel that we set up for your organization and ours. If you require a change to be made to your environment, such as adding a managed database service, you submit a service request via our ticketing system.

If you need more hands-on help, we have a professional services department that gladly takes on tasks related to development or operations for you. We can also review your current (or planned) software architecture from a scaling or security perspective, and help perform a migration assessment for your application.

How do we migrate our data to the Elastisys Kubernetes Platform?

You can migrate PostgreSQL data by exporting your current database using pg_dump, and then importing it into your Elastisys-managed one. 

If you have static files, you can migrate files stored in S3 (or similar) object storage services into one offered by the infrastructure provider in which your Elastisys Kubernetes Platform is deployed. 

Many MySQL or MariaDB database exports are quite compatible with PostgreSQL. Try it out, and see if there are any differences that you need to work around. There may be fewer than you would expect.

Some customers have found success with a tool-supported approach. If you are using an Object-Relational Mapping (ORM) library in your application, these often take care of differences in underlying databases. Starting a component to read your old database and another to store into your new PostgreSQL one can be a simple way to move data.

Customers coming from MongoDB can either be served by the ORM tool-supported approach, or directly via FerretDB. We have instructions for how to set up FerretDB on our documentation page.

What about offboarding? Are we getting locked in to Elastisys Kubernetes Platform?

Our entire platform is entirely open source, and we have not made any vendor-specific tooling to manage your applications which you will depend on. During your termination period, you will be given access to all customer data we have processed on your behalf in object storage buckets. This way, you are not locked in to our platform in any way. See the Terms of Service for more details regarding termination.

Can we get training from Elastisys?

Yes! You can get both the official Linux Foundation courses for Kubernetes App Developers (LFD459), Kubernetes Administrators (LFS458), and Kubernetes Security Fundamentals (LFS460) by our certified trainers. In addition, we also offer custom course material, ranging from help getting started with cloud native technologies, containerization, and Kubernetes, all the way up to how applications are packaged and managed using Helm. We have also developed courses that have been entirely tailored to the needs of our customers. See the Elastisys training page for more details.

Our Services

Managed Services

Focus on your application by outsourcing operations of the Kubernetes platform and underlying cloud infrastructure to Elastisys Security Operations Center.

Self-Managed

Less Ops more Fika with support from Elastisys when self managing Welkin in your cloud of choice, on-premise, or air-gapped environments.

Consulting

Succeed with your secure cloud native journey by leveraging Elastisys consultants for increased bandwidth or CTO, CIO, CISO guidance.

Training

Improve security within your team by completing official Linux Foundation Kubernetes training or specific Welkin courses.