This blog is part of the Learning Series, we want to introduce you to the most crucial and basic thing of working with SAP Cloud Platform.
SAP Cloud Platform is the Platform-as-a-Service offering from SAP and erstwhile called as HANA Cloud Platform. The rechristening of the platform itself, gives out what SAP intends to do with the platform, and the intent of this post as well as the series.
Now that Example Inc. has decided to develop a Cloud Native application in SCP, how do they get started ?
The first thing Example Inc. should do is to sign a contract with SAP for developing applications in SCP productively.
This contract will be way different from how the contract is signed for an on-premise system, in terms of the pricing as well as contract obligations and SAP's obligations to Example Inc.
As a cloud platform provider, SAP has to guarantee high availability of the platform also the services the platform provides, and also educate Example Inc. about where their data will be stored etc. Lets leave the pricing part of out this series, and concentrate more on other aspects about the platform.
Once Example Inc. has signed a contract, the first thing they would get is a 'Global Account', and they are ready to get started immediately. We do not have the hassle of procuring hardware, managing hardware, installing software from DVDs etc., the only thing Example Inc. has to bother about will be this 'Global Account'.
What is a Global Account ?
A global account is the representation of a customer of SAP Cloud Platform. Example Inc. has decided to develop this footfall applications and they get a global account.
Example Inc. can decide to use this application for themselves, and as well sell this application to ABC Infra, who probably is also interested in this solution and would like to use it.
Example Inc as well as ABC Infra would get a Global Account assigned from them individually in SCP.
A customer who is going to use the platform for developing application is a PaaS tenant, so in our example scenario Example Inc. is the developer and provider of the application and hence they will be a PaaS tenant.
A customer who is just going to use the software provided and not develop applications on their own is a SaaS tenant. In our example scenario ABC Infra will be the SaaS tenant.
In SCP, both the PaaS tenant and SaaS tenant gets a Global account.
The accounts model in SCP is a crucial piece of information for both the application provider and the customer going to use your application. There are lot of ambiguities around this piece and hence we decided to start with the account model in SCP and introduce the right set of terminologies around this, which will be used in the entire series.
When Example Inc. signs the contract with SAP for using SAP Cloud Platform, they would say that they plan to develop an application and they would also be asked to specify how much compute and storage would they require etc. Depending on the compute requirements and storage requirements and other services they would like to use they pay money. In our example, we have decided that Example Inc. has decided to develop different services like Sensor Registration, Sensor Data Collection and Footfall aggregation. Let's say they would need 2GB application memory for each of these application, and hence they would need 6GB application memory in total. It does not matter what technologies these services are written with, one may be Java other may be NodeJs and the third one may be Python. All they need to specify to SAP in the contract is that they would need 6GB compute for this. ( In reality, it will be more than that, we will come to that shortly.)
Let's say they decided that they would need a PostGreSQL a relational database to be used for the storing the sensor master information and HANA for managing the realtime data of sensors and the aggregation of footfalls. So in the contract they would also say that they would need a PostGreSQL server which can accommodate say 20GB of data and a HANA server of 32GB.
So whatever they require to develop their applications they would specify it and get it for them immediately. Unlike on-premise systems, it does not take days to provision resources here it is instantaneous!
So how do we know what is requested and what is being used ?
That's where the Global account comes in, whatever Example Inc. requested in the contract will be listed in the Example Inc's Global Account in what SCP calls as Entitlements.
In the Global Account cockpit, it will be possible to monitor the usage of the compute as well as other services which Example Inc. requested, with a graphical chart as well depicting the usage over the period of time.
Also, in the Global Account cockpit as an IT administrator of Example Inc. you will be able to add other administrators to the account.
If both the provider and consumer have Global account, how do we differentiate them ?
As a consumer of an application, in this case ABC Infra would not even bother about what technology the application is written and how much memory is allotted to it and what persistence is used etc. The only thing ABC Infra would be interested is to know the features of the application whether it would fit to their requirements and for legal compliance reasons may be would want to know the data storage location and how is access control enabled for that. So in the global account of ABC Infra, the entitlements would not specify the compute allocated or services allocated.
Why is the global account required then for ABC Infra ?
ABC Infra may use various applications provided in SCP apart from using this Footfall application. For example, they may be using Digital Supply Chain solution from SAP to manage their supply chain across the globe. They also would need to know what all applications they can use and how much they need to pay Example Inc and SAP for their usage. They pay-per-use.
As administrator of ABC Infra, you would be able to see the usage and you would get a consolidated bill statement for all the applications you use.