SAP Cloud Platform, SAP HANA Service: Some architecture drawings
Introductory technical details of SAP HANA as a Service
The previous blog post, (Yet another) Intro to HANA as a Service, covered the very basic responses to what is HANA as a Service? from the perspective of an on-premise HANA developer. I left the simple explanation as:
Plain and a simple, when you deploy an instance you get access to your very own tenant database. The “service” piece of it is that SAP will take care of everything related to platform administration and make sure you get the backups every 15 minutes and saved up until a month in time since they are created.
TL;DR: Scroll all the way down for a demo by Rudi Leibbrandt hacking around an NBA dataset in HANA as a Service using Python.
Time for boxes inside other boxes: (incomplete) architecture diagrams!
Let’s go back in history for a little while. See a sample diagram for a SAP HANA 1.0 SPS12 system:
What is to notice here?
- The system database and its two tenants
- The XS Classic engine
- The schemata
For now, you will have to trust me on why this is relevant and I have left out all the many other bits and pieces.
Note: For the love of HANA, this is far from an accurate architecture diagram. Please refrain from using it in Powerpoint presentations.
What is a tenant?
It’s where the cool sh…tuff happens. The ability to have multiple tenants started with HANA 1.0 SPS09 and it is all about isolating one or many databases within the same SAP HANA system. Administration of the system and its one (or zero) or many tenants is done through the system database. The system database has limited SQL capabilities as it does not include the service that contains the data stores and engines that process data, the index server.
Your own tenant and your own system database
With the SAP HANA Service, you get the following:
Because administration of the database will be done for you and we really want you to mind your own business, you will not have access to the system database, but you still get your OWN system database and tenant when the Service is created.
But where is the application piece?
XS Classic is gone, long live XS Advanced
Yes, XS Classic is gone (seriously, we’ve been saying this for a while). That means that tools like the old HANA Cockpit and the Web Editor Workbench are also gone.
Note: “Gone” as in deprecated since SPS 02.
The original XS Classic application engine was replaced by the Extended Application Services, advanced model. Called XS Advanced by its closest friends.
XS Advanced is our version of the Cloud Foundry platform, which is both HANA and enterprise-ready and is also available on premise. This description applies to the HANA-friendly application and deployment infrastructure platform that you can find in our Cloud Foundry stack in the SAP Cloud Platform, so you will hear me use “Cloud Foundry” and “XS Advanced” interchangeably in this context.
What does this mean for my tools?
Tooling wise, you get SAP Web IDE replacing HANA Studio and both the SAP HANA Cockpit and the XS Advanced cockpit. Although you can still use HANA Studio with HANA Express, it is not supported at all with HANA as a Service.
While we are talking about tooling, let’s play spot the seven differences:
On the left, the Web IDE you use to build HANA native apps and Calculation Views on SAP Cloud Platform. On the right, the Web IDE you use to build those same apps on SAP HANA, express edition with XS Advanced.
See the differences? SAP Cloud Platform is not only about HANA native development. You can do other cool stuff such as Workflow development or, if you need help with the UX piece, use Mendix. Web IDE Full Stack has got you cover in those cases too.
By the way, if you enjoy unapologetically nerdy songs like me, take a look at this on your next break: Fullstack D – My CV
You will also find that the Command Line Interface for SAP Cloud Platform is based on Cloud Foundry’s cf command. You would download this from the official Cloud Foundry CLI repository and throw magic spells such as cf marketplace to see what you can make use of:
And to continue making my point, if you wanted to do the exact same thing with XS Advanced, instead of cf marketplace you would use… xs marketplace!
I’d like to close this introduction with another simplistic set of boxes. This represents how they shifted around from my sample HANA 1.0 SPS12 on-premise system to HANA as a Service in the SAP Cloud Platform, Cloud Foundry stack:
If you want to see it in action, here’s the intro and demo by Rudi at Teched: https://events.sap.com/teched/en/session/41220