SAP Business Technology Platform (SAP BTP) is a Platform-as-a-Service (PaaS) offered by SAP. This platform enables the companies to become an intelligent enterprise, by combining their cloud and hybrid environments, using extensions, integrations, analysis tools and so much more.
On the Business Technology Platform, two different environments are being offered by SAP: Neo and multi-cloud (Cloud Foundry). SAP has been working hard to transform SAP BTP from proprietary technology into an open source-based, multi-cloud infrastructure. Within SAP’s multi-cloud first strategy, customers are encouraged to migrate to the multi-cloud infrastructure, as much as possible. It is not a jump that can be taken without any consideration and preparation. Read more on this topic in our other blog to discover the other aspects of migrating from Neo to multi-cloud (Cloud Foundry).
In this blog, we will be taking a closer look at the migration of HANA MDC (Neo) to HANA Cloud (Cloud Foundry). There are some hurdles to overcome with this section of the migration, but luckily there is an open-source tool from SAP that can help us with this.
The problem with migrating HANA MDC to HANA Cloud
As many companies are migrating all their custom developments from SAP BTP Neo to Cloud Foundry, the XS Classic artifacts that exist in HANA on BTP Neo will have to be migrated too. For this blog, it is important to know the difference between HANA MDC and HANA Cloud. HANA can be found in V1 and V2 versions, however, even the V2 version is not the same as HANA Cloud. The big difference between these two is that HANA MDC runs XS Classic or XS Advanced and HANA Cloud drops the HANA XS framework. The problem is that XS Classic artifacts such as xsodata and xsjs are not compatible as HANA Cloud doesn’t have an application server such as HANA MDC. It means that these artifacts don’t have a runtime. This results in the fact that all migrated applications that relied on a set of HANA xsodata-services and xsjs scripts cannot function.
Another change from HANA MDC to HANA Cloud is the usage of HDI containers. In an HDI container, the DB artifacts are isolated from other HDI containers. To use these artifacts in other containers, hdbsynonyms must be used. For example, if you have replicated tables using SAP SDI, you will need synonyms to use the tables in a calculation view in your project.
All of this means that to go from HANA on BTP Neo to HANA Cloud a big migration effort would be required if it wasn’t for XSK. Without XSK a rewrite of the applications would be required. Ideally, this rewrite is in the SAP CAP Model. For large applications, this can take a significant effort and cost a lot of money to migrate.
The solution: XSK
XSK is an open-source compatible environment for HANA XS applications. It can be deployed standalone, in Cloud Foundry or as a Docker container on Kubernetes. If we for example deploy XSK in the Kyma environment on SAP BTP, the architecture would be the following.
When using XSK, your HANA XS Classic projects can be migrated to the Cloud Foundry with the following advantages:
- Your projects will require almost no code modifications.
- XSK is free of charge and open source
- Significant reduction in time required to migrate
- Development can be continued in XSK after migration. Existing knowledge on HANA XS can be used.
- Support for CI/CD using GitHub Actions
When using XSK all the HANA artifacts such as calculation views and tables will be deployed as native HANA Cloud artifacts. This means that these artifacts from a project in XSK, can also be used in other projects on HANA Cloud. In other words, XSK will not limit you from using the generated artifacts in other projects. This makes XSK very flexible and easy to use as a migration tool.