— Matthias Steiner (@steinermatt) November 25, 2013
Ironically I had to deal with this topic in my personal life just recently. Our old fridge broke down from one day to the other. Bummer. Life is quite inconvenient without a fridge. It’s harder to keep all the ingredients needed in daily life at hand without having a nearby fridge. Fortunately, we got a new one now (replacement / paid upgrade) and it’s appreciated the more. The best about it – it makes ice cubes. My kids love that: ice cubes on demand. Of course, you could have compensated that via the old fashioned way of buying /making ice cubes and storing them in the freezer. But…
… ultimately, convenience trumps (most) anything in the consumer space!
The new fridge – SAP HANA platform
I always enjoy reading Dick Hirsch‘s perspective on the SAP HANA Cloud Platform and the discussions his blog posts trigger (on and off the record!) One of his recent posts piqued my interest and I wanted to bring in my own perspective on the topic. In general, Dick’s right on the spot and sometimes even touching the sore ones. So, here’s my point of view…
In general, I think we need to point out that SAP HANA Cloud Platform (#saphcp) is best regarded as the cloud enablement of the broader SAP HANA platform. With the recent introduction of the native HANA development capabilities (XS) to our PaaS offering we have been executing on our outlined roadmap of making SAP HANA accessible to developers and letting them experience it first hand. This encompasses all runtimes and I’d really like to point out these two blog posts for people interested in using HANA on HCP (in addition to the one mentioned above!)
As I keep saying a development platform’s ultimate goal is to support a broad set of use-cases and empowering the maximum number of developers. From the broader perspective SAP addresses this via three approaches:
- Native – HANA development (incl. XS)
- Integrated – web-based integrated development environments (IDE) and Rapid Application Development (RAD) tools
- Open – Java, JVM-based programming languages and other runtimes
Combined these three approaches results in a developer experience that appeals to a variety of developer types. Both the DevOps guys and the developer geeks will appreciate pro tools like the NEO command line and having a powerful local IDE such as Eclipse, which allows them to use their favorite tools and plug-ins. This type of developers love the flexibility of a professional development environment and its manyfold options and customizations. As such they may stick to their local setup for the most part – at least for the heavy-lifting!
The more casual developers and newcomers are confronted with a very low entry barrier thanks to the integrated developer experience. Web-based IDEs address the topic of providing “immediate hands-on” experiences on demand and model-driven RAD tools lower the entry barrier to use all the underlying functionality even for people that focus more on business application development rather than software architecture best practices.
Application and Enablement Services (SAP HANA AppServices)
These are the features and capabilities that ultimately comprise the true value of PaaS. Shared platform services that assist the developers in getting their job done faster and more efficiently.No doubt that the SAP HANA Cloud Platform is the strategic platform going forward and that it will be the designated platform of choice for SAP to enable extension scenarios for both on-premise and cloud extensions. Another focus is on providing customers with a very easy and smooth evolution path into hybrid IT landscapes. Last, but not least with the whole feature set of the underlying HANA DB Services the platform is also the easiest and quickest way to start developing new high-performance cloud solutions with built-in realtime analytics (see here).
So, let’s have a closer look at Dick’s comparison of the classic NetWeaver fridge and the new one:
SAPUI5, Mobile Platform
HANA Cloud Portal
SAP JAM Integration (via HANA Cloud Portal widgets)
Lumira in the Cloud
Master Data Management (MDM)
HANA Cloud Integration
Business Process Management (BPM)
DB and OS Abstraction
Composite Application Framework
Lifecycle Management (NWDI)
SAP ID Service
In a way, SAPHCP is addressing that purpose as a whole. In addition to SAPUI5 and the cloud edition of SMP I also believe that the HANA Cloud Portal overlaps with this category to some degree as well. Furthermore, API/feed provisioning via SAPHCP (using JAX-RS/REST, OData, RSS, WS, etc.) is another important use-case irt “multi-channel access” especially in the context of enterprise APIs, cloud and IoT.
Well, SAP HCP offers both a certified Java EE Web Profile environment as well as several others. In general, developers wanting to use the JVM-based runtime can bring along their favorite frameworks and libraries and use them. The fact, that the platform adheres to the corresponding Java standards irt resource management makes porting applications to HCP very straight-forward and eventually it even works out-of-the-box (see Enterprise Granny).
DB and OS abstractions
Again, this is the very nature of PaaS, the Persistence Service is taking care of the DB abstraction (as desired). The platform provides choice of either using a classic relational DB such as MaxDB or take full advantage of the underlying SAP HANA platform.
Composite Application Framework
I think the SAP HANA Cloud Platform somewhat is the evolution of the ideas behind CAF, just on another level. I keep referring to consumer-facing mash-up/integration cloud applications as “Cloud Composites” for the very same reason. IoC container such as Spring make it easy to structure your cloud applications and have dedicated separation of concerns irt a multi-tier design approach (persistence, connectivity, business logic.) Here, the inter-operability of the platform services is a key area to focus on.
Lifecycle Management (NWDI)
In regards to this topic we have been embracing processes and tools as seen in popular open source projects. Cloud is radically changing the way how solutions are being developed especially when it comes to collaboration between development teams and operations (see DevOps). As such, topics like continuous delivery and integration is key. At SAP, we have established a very agile process that allows us to update the productive landscape on a bi-weekly schedule w/o forcing downtimes for applications. We actively use and encourage the usage of de-facto standards in this area also among our user base. Here are two interesting blog posts on that matter:
- Using an open source based development infrastructure with SAP HANA Cloud Platform
- Run your own Jenkins on SAP HANA Cloud Platform
Without giving too much away, I’d also recommend to watch the integrated tools and their approach of addressing the life-cycle aspects of applications.
Those interested in the topic may want to have a look at this overview presentation on SAP HANA Cloud Platform.