Alfresco Trends 2019: Notes from DevCon 2019 and Alfresco 6.1
by Luis Colorado
We came back from the DevCon 2019 conference with an exciting view on the future of Alfresco, and part of it has already become a reality with the release of Alfresco 6.1. Although there were numerous presentations about diverse topics, the most prominent themes of this DevCon were the evolution of Alfresco towards microservices running within Kubernetes and the new development ecosystem.
An Elastic Future?
As content has continued to grow explosively, and Alfresco has been eyeing larger customers, more and more components have been chipped out of the original Alfresco quasi-monolith. With Alfresco 4 and 5, we saw Solr being run on a separate server, but with Alfresco 6, things have been escalated to the next level. With Alfresco 6.1 we continue to see the natural evolution of the platform, enthusiastically embracing the concept of microservices, and its most fitting enablers of microservices, containers and Kubernetes.
Alfresco is being broken down in to smaller microservices which means a more sophisticated architecture and a more complex installation process. The binary installer has gone the way of the dinosaurs and we do not see it being resuscitated a la Jurassic Park. Alfresco has decided to replace the trusty installer with two powerful tools: Docker Compose and Kubernetes Helm charts.
Are We There Yet?
Alfresco envisions a world where things will probably run in your favorite cloud vendor—AWS, Azure, etc. Such architecture would allow elastic and scalable services in the future. Are we there yet, or even close? Not yet. Little by little, some of the services that used to be embedded in Alfresco will break free and will be able to run on their own separate servers or containers. What does that mean? Elasticity! In theory, those services could be dynamically escalated to a variable number of servers, allowing Alfresco not only to process much larger loads, but to dynamically allocate the servers on demand. That would have tremendous implications, but there are details that still need to be addressed.
The vision of Alfresco servers and services scaling elastically on demand is something still far in the horizon, but progress is being made. Alfresco Transform Service (ATS) 1.0 and Alfresco Identity Service (AIS) are the two shiny, new microservices offered with Alfresco 6.1. Although ATS does not yet match the capabilities of the embedded transformations in Alfresco 5, Alfresco is working on it. While more services may become asynchronous in the future, such as auditing, metadata extraction, search indexing, and rules/actions.
Is Alfresco with Kubernetes Ready for Production?
Alfresco on Kubernetes will continue to be the main direction for production deployments, although WAR deployment will continue to be supported for onsite and community environments. Alfresco is enthusiastically encouraging customers to jump on the Kubernetes bandwagon, but it may not be for everyone. Docker and Kubernetes are relatively young technologies and you should have experience in-house in order to manage the pods, maintain and patch Kubernetes, and secure them properly. Rather than asking “is Alfresco on Kubernetes ready for production?” we should ask, are you ready for Kubernetes in production? Kubernetes and the related technologies have a significant learning curve. Alfresco has promised to help with the transition, and deployment training is included in the Alfresco Passport.
News for Developers
The Alfresco Development Framework (ADF) was the other dominant theme of DevCon 2019. One of the most attended sessions was related to the transition from Share to ADF, and there was similar interest for the sessions discussing the new SDK and developing with ADF. Our very own Bindu Wavell and Vijay Prince presented an interesting session about implementing electronic signatures with ADF. Another significant event was the introduction of the shiny, new Alfresco Builder Network, which offers not only all of the resources required by developers, but also the documentation.
More Open Than Ever
In the past, it was just too complicated for Alfresco to accept patches to source code limiting Alfresco’s ability to leverage its open-source project status. Things have changed after moving to git repositories, and now Alfresco is encouraging the developer community to submit pull requests to improve code and documentation. In the conference there were people telling stories about using the ADF beta and how they were encouraged to fix the issues and push the fixes. However, it is not clear if everything else will be open in the same degree. Besides ADF, Activiti and other sub-projects are actively considering pull requests.
Other Significant News
Presentations, videos, and slides are available now
As in previous years, the presentations at DevCon 2019 were rich in material and ideas. Even if you had the opportunity to attend the presentations, I am sure that you will appreciate the opportunity of watching the ones that you missed, or even watching them again. The videos of the presentations are now available as well as most of the slides. Zia presented two talks:
by Bindu Wavell and Vijay Prince.
View slides here.
Performance Benchmark Framework
Alfresco is taking advantage of Kubernetes ability to monitor resources It now offers, among other things:
- Integration with Micrometer
- DB, JVM, and REST monitoring
- Grafana dashboards
Desktop Sync with Governance
In an effort to make records management friendly to the end user, Alfresco is also going to expose RM via Desktop Sync.
Alfresco continues to expand its Insight Engine by offering:
- SQL connector, reporting on Governance Services, extended Solr support
- Future: ODBC drivers, scalability improvements, support for additional BI tools
As Alfresco announced the future deprecation of some features, existing users expressed their concern about some items:
- Synchronous transformations will be replaced at some point by the new Alfresco Transform Service (ATS) architecture. However, the current transformations are still more capable than ATS and not everyone may want to adopt Docker just yet
- Cloud Sync and my.alfresco.com
- Embedded Activiti. This deprecation produced reactions like the announced departure of Share which caused a clamor from the user community. Consistent with the strategic move to a service-oriented architecture, Alfresco wants to remove the embedded Activiti and use Alfresco Process Services (APS) instead. However, this idea caused displeasure—and such deprecation may take longer than Alfresco expected (just as it happened with share)
CIFS and NTLM authentication are now gone from Alfresco 6.1.
Content continues to explode everywhere. Alfresco is looking to consistently handle repositories with 1 billion, or more, documents and is developing new and exciting technologies to accomplish this. Some of those new ideas are available already in Alfresco 6.1
For more information, or to set up a call, contact us today.