SAP hybris summit 2016: The advent of ecommerce microservices
"A monolithic beast": words that SAP Customer Engagement and Commerce president Carsten Thoma used to describe hybris Commerce during the SAP hybris summit 2016 in Munchen. SAP hybris has listened to the complaints of the customers and partners, and has taken measures. It's a unified company now; something that could easily be contested during last year's summit, when the various speakers would openly contradict the plans for the SAP hybris portfolio.
Not so this year: SAP hybris promises further investment in and simplification of hybris Commerce, the resurgence of eCommerce microservices platform YaaS that last year seemed DOA, and the full embrace of the agile mindset.
Imagine: a business owner is in a silo that has a speed at which it formulates a question and demands an answer, and developers work in a silo at a different speed. Obtaining data for a certain need is not just a matter of a developer fetching it from a database; they translate the question first and make actionable answers.
There is a speed gap here, and it is because of the silos.
The entire organisation needs to start minding the speed gap, beginning at C-level: don't make demands and leave it to managers to provide answers with a deadline; organize your business around the ability to identify your customers, so you know the value they can offer and have offered to your business. Orchestrate adaptiveness to that information. SAP hybris calls this digital agility.
This is solid advice that can mean the difference between a traditional company with an IT department that is expected to work agile within deadlines, along a backlog filled with either outdated or ad hoc requirements, and a truly agile organisation. It does not mean that IT should be the new dictator of all; it means IT sets the speed and the business shapes supply and demand of information around that.
The reason that SAP hybris makes an effort to stress this need for digital agility is clear: if a project fails, some of the blame falls on the product that was at the core of the project.
Even a monolithic beast can be a great companion if given a proper habitat.
hybris Customer Engagement and Commerce
SAP hybris continues to invest in its Commerce and Customer Engagement offering with hybris Commerce 6.0, hybris Profile and hybris CX, and sees its portfolio going from a system of record to a system of engagement.
hybris Commerce 6 will provide online support as a trusted advisor on all touchpoints. A new Assisted Service Module has been introduced to this end. From a technical point of view, hybris 6.0 will present a fundamental rewrite of the platform. The Core will contain the basic Commerce functionalities, on top of which is deployed the Core accelerator, and on top of that are the accelerators for various verticals like B2B, B2C, Telco and financial services. Finally, Add-ons such as PunchOut, CPQ can be cherry-picked into 'modules', which means a module can contain B2B and B2C functionalities - this distinction has become fluid.
As was already announced in the last hybris 5 releases, OMS has been dropped as a Core+ application and has been moved back into the Core Commerce services, with integration in the Customer Service cockpit. hybris 6 will remain monolithic at its core, but the modular build-up is clearly a Service Oriented Architecture that has a lot in common with the technical underpinnings of YaaS.
More on YaaS later.
To stress that they are going "beyond CRM", SAP hybris is giving special attention to the new rules engine based on Drools that can be applied to all aspects of hybris data. The ability to identify and engage with customers is also visible in other SAP hybris products presented.
SAP hybris Profile is a new product, built on top of YaaS, and serves as an extra CRM tool for insight in realtime transactional, contextual and behavioral data related to the customer, across all touchpoints. It also enhances what hybris Marketing can do when set up together.
SAP hybris CX (Customer Experience) is another new product, which builds on SAP hybris Profile by offering a responsive CMS that can use personalized live editing of all touchpoints, using data harvested through hybris Profile for contextual upselling, cross-selling, and personalization.
When hybris announced hybris-as-a-service (YaaS) in 2015 amidst Core+, OmniCommerce Connect, hybris onDemand and SAP pushing its own portfolio onto the hybris roadmap, this fledgling API kit seemed Dead On Arrival as hybris' umpteenth attempt at shaking off its monolithic legacy and getting into the world of scalable modular architecture and continuous delivery. Now in 2016, two things were clear:
YaaS is a Big Deal. It is a Dev portal with an SDK for building and mashing up ecommerce microservices, with state of the art technology, taking inspiration from the well-known microservices movement, the 12 Factor App methodology, and the reactive manifesto. It is a marketplace for offering and purchasing microservices, on top of a solid foundation of in-house commerce API's offered by SAP hybris, so that this ecosystem has the capacity to create its own value.
YaaS is not meant to replace hybris Commerce. It is part of the CEC suite and can be used with or without hybris Commerce. It does not deliver as much functionality as hybris Commerce out of the box, and is pay-for-use instead of the substantial licence fee paid for hybris Commerce. New SAP hybris products such as SAP hybris Loyalty and SAP hybris Profile are built on top of YaaS - it's clear it's here to stay.
From a technological point of view, YaaS is a PaaS based on Cloud Foundry, itself hosted on AWS as IaaS, using core AWS services such as Route53, ELB, IAM, VPC, S3 and EC2.
In short, the YaaS platform deals with logging, scaling, messaging and security between the microservices built on it. Backing services are there for generic functionality such as persistence, media, event handling and email, and core commerce packages for specific functionality such as products, carts, tax, order history, payments and customer data.
There are core packages for site management, but YaaS explicitly does not offer a storefront or site hosting; it is an API gateway for commerce services. These services can be called on by other services, both core and custom, and can be mashed together to provide functionality for example a product detail page or checkout flow.
Obviously, this approximates the service and facade based setup of hybris Commerce itself. So a question presents itself.
YaaS or hybris Commerce?
Question: I want scalability and fast, independent releases. Should I now embrace YaaS and possibly migrate my hybris Commerce implementation to it?
Answer: It depends. Here are things to take into consideration:
SAP does not intend for YaaS to replace hybris Commerce.
YaaS is pay-per-use. YaaS can scale up to suit your traffic needs, but depending on what services you mash together for your application, there's no telling yet what that cost would be. hybris Commerce on the other hand has an installation-per-core payment model.
YaaS isn't globally available yet. It has become available in North America; global deployment will follow at the end of 2016.
hybris Commerce contains more functionality out of the box than YaaS core commerce services currently (and probably eventually) offer. How much of the out of the box functionality of hybris Commerce do you plan to use? Do not only look at the desired website, but also at the backoffice capabilities of hybris Commerce.
What kind of development suits your company best? Configuring and extending hybris Commerce is still a development effort just like building YaaS packages and the applications that use them. Take into consideration that YaaS offers a polyglot freedom both in the building of services and the building of web applications that use them, where hybris Commerce is more restrictive. YaaS does not offer hosting of web applications that make use of YaaS API's, and in that sense puts no limitations on how those web applications are built or deployed.
It is important to note that any platform migration comes with the challenge of data migration: either temporary or permanent as older systems are replaced by new ones. hybris Commerce can connect to YaaS via the new Yaas Connect, which requires the Data Hub, to transfer data.
YaaS and hybris Commerce can be used in unison: YaaS for launching innovative concepts and hybris Commerce for the settled ecommerce business logic.
Do you plan to develop services for the YaaS marketplace, to be used by others? This could be a return on investment that can fuel further development, but developing packages for generic use requires a different approach than developing them for your own use.
What are your scaling needs? hybris Commerce can be deployed on multiple servers, and the database can be deployed in a cluster. However: If any heavily used feature requires the platform to scale up or out, you scale everything; not just that one feature. That can be cost inefficient.
Mirabeau has experience setting up a delivery pipeline using infrastructure as code, agile teams, test automation and continuous integration, and can do multiple deployments per week of a monolithic hybris Commerce platform. Consider this if deployment frequency is the primary argument for chosing a microservices based architecture.
How close has your hybris Commerce installation stayed to the service oriented architecture as advised by SAP hybris? Can you build separate applications that connect to hybris Commerce through Omni Commerce Connect (OCC)?
Are you so far behind on refactoring and upgrading your hybris Commerce platform, that you wonder if the investment needed to restore its health would be better invested in a replatforming? Beware of Conway's Law in this context: Ensure that the factors that caused your platform to become unsalvageable have been mitigated.