With the release of Unica v12.1 this past summer, we introduced Unica as “an integrated, cloud native platform that powers precision marketing at scale.” That is a really bold statement! I’ve been a proud member of the Unica Professional Services Team (first at Unica, then IBM, and now HCL) for the past 20+ years, and in this blog post, I would like to share with you Unica’s Cloud Native Journey. I want to share Unica’s Cloud Native Journey for two reasons: 1) it has been a journey, and we are not yet finished with this journey, and 2) no doubt your organization is on its own journey to the cloud and if you are like most folks we talk with this journey is not often a straight line, but more of a zig-zag, with some stops along the way! So reading about Unica’s Cloud Native Journey may help you better appreciate your organization’s journey.
Before I share the details of our journey, you may be wondering, how can we make the claim that Unica is cloud native? Did you know of an organization named the Cloud Native Computing Foundation (CNCF), founded in 2015 as a project of the Linux Foundation? Its purpose is to advance container technology and to align the tech industry around its evolution. The CNCF distinguishes between cloud applications – software enabled by a browser connected to a cloud-based infrastructure vs. cloud native applications – software that is containerized and supports dynamic orchestration. They have established tenets of what makes software cloud-native, so let’s have a closer look at that.
There are ten tenets of cloud native software from the CNCF, and here is how we measure up. Still, before we dive into the details, this organization has only been around for 6 years, so unless an application was created after that, most likely it doesn’t meet all 10 of these tenets, so let’s think of this more as a journey, not a destination. I’m being a pretty strict grader here and have established three categories – green, meaning yes, we meet this item completely, yellow-green, meaning we meet it 60%+ and yellow-red, meaning we somewhat meet it.
So, let us start with the four tenets that we meet 100% today:
1.Containerization – the entire Unica Suite is packaged in Docker containers.
2. Isolated from server & OS – Unica has always supported heterogeneous operating systems which are separate from the servers they run on.
3. Elastic Cloud Computing – Unica Docker containers are deployed to Kubernetes clusters.
4. Rest APIs – Unica has over 780 REST APIs.
Now, let’s review the four tenets that we meet 60%+ today:
5. Stateful and Stateless Applications – Unica is only stateful, so by definition, these are separate.
6. Agile DevOps Process – Unica’s Engineering Team works using Agile methods, and our releases are frequent, just not continuous.
7. Automation – Unica triggers allow for shell script execution, and Unica has a built-in scheduler.
8. Policy-Driven Resource allocation – Unica’s Helm Charts and other configuration parameters facilitate this.
9. Best-of-breed languages – Unica consists of some C++, is primarily coded in JAVA; we use Spring for our framework, and some of our new features/modules have been developed using Angular.
For this remaining tenet, we have a good start (and some would argue, I’m being too strict a grader here and that it should be in the prior group):
10. Microservices – Unica provides over 780 REST APIs and hooks to create O/S triggers/scripts, but we currently are not packaging them as microservices.
So how do we stack up (again, I am being a tough grader)! We meet four of the ten completely, and then another five of the ten we are 60%+ of the way there, and for the remaining one, we have a good foundation. Also, remember, the CNCF was established only 6 years ago, and most enterprise Marketing Automation Suites, like Unica, were created much earlier. So, suffice to say, we are all on our own journeys to fully meeting all 10 of these tenets of the CNCF. Finally, since all of this is so new, these tenets will continue to evolve, and so will Unica. Based on our internal analysis of these CNCF tenets, Unica has earned the right to declare that we are a cloud native platform! Again, this is a journey, and every day we continue to enhance and increase our capabilities in this area.
It is worth noting that Unica is NOT a SaaS (Software As A Service) solution. We are Cloud Native. This provides many advantages over SaaS, meaning you are not forced to upgrade to the most recent version – you and your team decide when to upgrade to the latest Unica release [it is not automatically pushed out]. You have the choice as to what cloud platform you choose to use to deploy Unica. Currently, we support AWS (Amazon Web Services), Azure (Microsoft Azure), GCP (Google Cloud Platform), and OpenShift (IBM/RedHat OpenShift). Finally, your implementation of Unica and your customer data are not part of a multi-tenet solution over which you have no control. These are VERY important distinctions and ones we believe truly matter.
Since becoming cloud native is a journey for both Unica and your organization, let us take a closer look at Unica’s cloud native journey…
It all started back in 2016, while we part of IBM, just one year after the CNCP was created, Unica started its cloud native journey. I remember being a part of it, and it reinforced what we already knew – that the customer marketing data, your CDP – Customer Data Platform (Unica User Tables) need to be co-located with the installation of the Unica Software (Campaign Listener). We also learned that just being Dockerized (containerization) is not enough!
In 2018, we had a “summit” at the HCL’s New York City offices overlooking Rockefeller Center to strategize what the HCL branded version of Unica should be (this was when HCL and IBM had an IPP – Intellectual Property Partnership for Unica). The idea at the time was to package Unica and make it available on the AWS (Amazon Web Services) Store. As a heritage Unica Services guy with a full understanding of what is required to deploy Unica as an Enterprise Marketing Platform, having implemented Unica at some of our largest customers, I did not think that Unica would be the best marketing solution for everyone’s favorite local pizza shop. We learned a lot about AWS at this point in the journey, and we started to learn about Kubernetes as an orchestration layer.
In July of 2019, the trade transfer with IBM was complete, and Unica found its home at HCL (YEY!). As I like to say, we became one Unica again. At that time, Unica became a part of the Product Management organization at HCL Software fully, and as such, we started to adopt their standards, one of which is to be cloud native. As a result, becoming cloud-native became one of our WOWs on the Unica product roadmap. Also, we started to learn about the CNCF and its ten tenets of Cloud Native applications.
In October of 2019, the work began in earnest, and we looked ahead to the release of Unica v12.1. The HCL SoFy (Software Factory) team was very helpful as we re-architected our solution to make it cloud-native. We also engaged with countless existing Unica customers who all started asking us when we could install Unica on the cloud? When will Unica be Dockerized, etc.? These questions and conversations helped us focus our efforts on making the Unica cloud native.
In July of 2020, we released Unica v12.1 as “an integrated, cloud native platform that powers precision marketing at scale.” We achieved a huge milestone – Unica was now cloud native. Unica v12.1 has preconfigured helm charts that just need to be tailored for your specific environment. The Unica modules are fully Dockerized and available for download. Once the Helm charts are tailored, and the Dockerized Unica containers are downloaded, they can be deployed to your Kubernetes cluster on the cloud provider of your choice. Of course, as I have been sharing, this is a journey, not a destination, so we continue…
In November of 2020, we released our v12.1 Fall release (Unica v220.127.116.11) that supports Helm v3.0, Open Shift, and uses the Spring framework. We also added support for HCL OneDB and SQL Server for both System Tables and User (Customer Marketing) Tables as well. Our journey continues with expanding our HCL SoFy (Software Factory) capabilities and enhancing our overall cloud native capabilities.
With that in mind, let us look at all the challenges Unica has overcome so far in our journey to the cloud:
- Unica was not born “cloud native.”
- Lack of knowledge on Dockerization.
- Determining how best to transform the Campaign Listener and its ability to be clustered to work with Kubernetes clusters
- Figuring out how to transform the concept of Interact Server Groups, which are clustered via hardware (Load Balancer/Web Server) and software (WebServer, Sticky Session & software) to cloud clustering technology like Kubernetes.
- Datasource set-up using Helm Charts and how to use Helm Charts to connect to existing customer-supplied CDPs/User Tables data sources.
- To continue to provide choice for third-party supporting software like Operating Systems, Web Tier & Database while achieving the Cloud Native Platform goal.
The Unica Engineering team has put in a lot of hard work over the years to overcome each and every one of these challenges. I’m listing these challenges to offer hope that if your organization is encountering challenges on your journey to the cloud, that is it normal. Sometimes, more time or a different approach is required to overcome those obstacles. So, if your team is encountering challenges, stick with it; remember the journey is worth it!
In closing, in this blog post, I have shared how Unica has earned the right to label Unica v12.1 as cloud native. I shared how we meet the 10 Cloud Native tenets of the Cloud Native Computing Foundation. I shared the details of Unica’s cloud native journey. I then wrapped up sharing some of the obstacles we have overcome in Unica’s cloud native journey.
Please reach out to us if you would like to schedule a session to learn more about Unica’s cloud native platform. Also, please check our new channel on live.unica.com – Unica v12.1 is Cloud Native!