Photo of OMG cat

Cloud first Uneasiness in Contentland

All the services are going Cloud first. For good reason. The Cloud can scale things – revenue included. But Cloud first has various  consequences downstream. This post is about consequences making people feel uneasy and what can be done about it. Most of the Cloud uneasiness is likely not at all specific to Contentland and applies generally. Our business is in Contenland so that is what I will be focusing on.

Uneasiness X as a Service

Software-/Function-/Platform-/Infrastructure as a Service providers have to get operations right to stay in the business and you can be sure Amazon, Google and Microsoft do. Scaling up high enables tempting price tags – price tags giving those less focused a hard time competing. Still, many CEOs bite the bullet and pay the extra fee to keep sensitive operations in house – due to a basic lack of trust. Even if overall, they get way less out of it. Much of the justification stems from the Snowden revelations. It may not be much of an issue in the US, but it surely is in the EU and Germany.

In Open Source Contentland (Alfresco/Nuxeo), there is a strong current towards the Content Services Platforms and hence the Cloud these days. Don’t know much about the feelings of Nuxeo users operating on premise, but I know for sure Alfresco users do feel uneasy in the light of recent announcementsthe aquisition and insights. It almost reads like AWS will be forced on us. Does that matter to you? Do you care about it? With regards to Alfresco, lets see whether we will see successor of Alfresco in the Cloud successor being announced.

Software as a Service usually comes with strong restrictions and this is not surprising: The provider is responsible for the application. Hence, they don’t want your buggy code executing in their house. Keep it where it is now and use their REST API endpoints.

Uneasiness Extensibility and Apps

Focusing on Contentland, Alfresco understands some aspects of extensibily should be living in their house – likely things that can be expressed declaratively (e.g. models) so the dangerous bits in terms of operations remain in their hands.  Beyond, they discourage  (platform-) in-process extensibility and do not seem to care about it. The runtime modules system has issues which may never be addressed, and they are slicing and dicing all things microservices. Nuxeo is way ahead in terms of runtime modules providing a clean OSGI based implementation. At the end of the day, there is no way around modularity. You can discourage 3rd parties from using it, but vendors need it themselves.

Alfresco still ships its Share collaboration app which already gets the job done for many people. It also features a lot of runtime extension capabilities so what you need may only be a few lines of code away – with no build step required. Unfortunately it is/will be deprecated soon. ?

Today, Alfresco and Nuxeo are both offering JavaScript component UI libraries and tooling designed to build browser based applications using their platforms. There are also basic example apps buiding on top of those libraries, but that is pretty much it. There is no “modern” browser based application providing runtime extensibility. However, Alfresco is currently revisiting (client) runtime extensibility (in process!;).

There is also tooling and libraries aimed exclusively at mobile, but I doubt many people care about that.

If you don’t already have a UI, where are you supposed to start and how far do you have to go to get something actually useable in production?

Now what?

Assuming you have content-driven itches that a Content Service Platform can scratch/already scratches and Open Source matters: Is it still possible to ?-pick what you need?

Vendors are raving more than ever about Open Source. And in fact they are getting more serious about it. Alfresco recently dropped a lot of code on github. Nuxeo code has been there for years. They want your eyes on it. If you build an application for one of those platforms, you should make use of it. It helps a lot with understanding how things work and get support-tickets issues out of the way. Contributing changes is a whole different story, though. :) Try to stay close to the vendor path, use things as designed and it will be a smooth ride.

If you want to remain on premise, you should make sure to be comfortable with containers at your scale. If you are typically operating at more than one instance per application, you may already be fine and should likely be good to go. Either way, you might not want to deal with the complexity Kubernetes or other tools at Google scale. Scalabily introduces complexity and you surely don’t want more than the minimum. Still, containers will rule the foreseeable future of software deployment and using them on premise does not require a ?-science degree.

I also recommend to “Take the minimum” to get the job done when it comes to the UI. Alfresco Share will remain around for a while. Use it by all means if it works today. Be careful with regards to bigger investments and keep an eye on the the UI libraries evolution. It is JavaScript, but Enterprise at the same time. Things won’t change on a daily basis. ?

What’s next?

People are getting sick and tired of Silicon Valley essentially capturing and selling each and every move we make. Blockchain, decentralization- and  cryptonetwork technology is here to disrupt centralization (and hence the Cloud as we know it today) bringing us Web 3.0 along with decentralization – and without single organizations in control. We prefer trust in math instead of people. Dispite issues like performance,  solutions such as Bitcoin can already be considered mature. IPFS or Storj may prove to be storage pieces of the puzzle in Contentland. But again, it will take trust – and time. Other than that, I think it is very remarkable that given the current excitement around Blockchain, traditional Cloud giants such as Amazon, Google and Facebook usually innovating early don’t seem to care about it all. ? (Oh wait! Microsoft just started looking at decentralized identity!) However, until then, you may want to keep you stuff on premise.


Andreas Steffan
Pragmatic ? Scientist and DevOps Mind @ Contentreich. Believes in Open Source, the Open Web and Linux. Freelancing in DevOps-, Cloud-, Kubernetes, JVM- and Contentland and speaks Clojure, Kotlin, Groovy, Go, Python, JavaScript, Java, Alfresco and WordPress. Built infrastructure before it was cool. ❤️ Emacs.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert