Succeeding with your migration to Elastisys Kubernetes platform.
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.
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.
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.
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.
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.
The steps for a migration to Elastisys Kubernetes Platform are typically to:
Elastisys also recommends that you set up automated continuous deployments using Argo, to focus entirely on just developing your application.
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.
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.
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.
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.
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.