The new Alfresco Content Services 6.0 is released, and I am happy to share the highlights of this version with you. The major focus of the new Alfresco Content Services 6.0 release was on significant architecture improvements and the new containerized deployment option based on Docker and Kubernetes.
With Alfresco Content Services 6.0, we provide more flexible deployment options including Docker & Kubernetes for fast and standardized deployments across all environments.
For those that prefer the more traditional way of installing Alfresco Content Services or its Community version, we - of course - continue to deliver the WAR files for a manual deployment. But for now, let’s focus on the new containerized deployment with Docker and Kubernetes.
Why have we invested in containerized deployments?
A number of customers and also users in the open source community requested containerized deployment options in the past. The advantages are obvious, it allows development and operations teams to move faster and deploy software in a more efficient way. Containers provide a consistent environment and support DevOps to accelerate development and deployment from the test environment through a staging system to production.
Do you want to give it a try?
You can test the new improvements around Docker and Kubernetes either with the Community version or start a 30 day free trial of the enterprise version (https://www.alfresco.com/platform/content-services-ecm/trial/download ).
Which Alfresco images exist?
The screenshot below shows the currently available Alfresco images that provide:
- Core parts of Alfresco Content Services like “alfresco-share”, “alfresco-search-services” or the “alfresco-content-repository”
- Some supporting functionality, e.g. for image or document transformation
How to start with Docker?
With the new release of Alfresco Content Services 6.0, it is now possible to deploy the product from a number of Docker images as described above. But it would be a time-consuming and also complex task to deploy individual Docker containers based on these images. Furthermore, you’d have to do the configuration to make them work together.
Therefore, the recommended way is to use a docker-compose file to get to a “one-click to deploy” experience. A docker-compose file describes the containers of the environment and starts those containers.
This allows you to quickly deploy and run Alfresco Content Services with just a few commands:
$ git clone https://github.com/alfresco/acs-deployment.git
$ cd acs-deployment
$ git checkout 1.0.2
$ cd docker-compose
$ docker-compose up
A docker-compose file for testing and development purposes is also available at https://www.alfresco.com/platform/content-services-ecm/trial/download
How to start with Kubernetes?
For production environments, we recommend to orchestrate our containers in a kubernetes cluster. It automates tasks like deployment, but also takes care of scaling and managing the containers in the cluster.
Alfresco uses the HELM package manager to provide production-grade reference deployments that can be adopted to your needs. We publish these Charts through our https://kubernetes-charts.alfresco.com/stable HELM Chart repository.
In many cases, the HELM charts can act as a reference for customized deployments; by basing deployments on the official HELM charts, customers can benefit from the extensive functional and security testing performed by Alfresco (HELM chart releases).
Where to get further information?
Here, you’ll find extensive documentation:
The top-level entry-point for building ACS Enterprise has been moved from Subversion to the Alfresco Content Services Packaging project in GitHub (https://github.com/Alfresco/acs-packaging). Enterprise customers will be able to build the artifacts from scratch provided they have access to the enterprise-releases Nexus repository.
The intention of this restructuring was the following:
- The code base was split into smaller projects that produce intermediate artifacts with their own versioning
- The naming of the artifacts changed. The top-level artifacts include the following indicators in their names:
- "community" to clarify that they are open source
- "content-services" if they are Enterprise artifacts
- “-ea” if they are early access versions
This release includes an updated version of the REST API Explorer to navigate the new REST APIs. Those developers that are new to Alfresco should have a closer look at the options the updated REST API provides.
Further information and a full documentation for each endpoint is available at our online REST API Explorer: https://api-explorer.alfresco.com/api-explorer
Use the userid admin and password admin if you're are using the online REST API explorer. To explore the operations on a specific entity just click on it (“favorites in this case):
If you are using the docker-compose file for development, the api-explorer application will soon be integrated into that.
Anonymous Usage Metrics via Heartbeat
Alfresco Content Services sends anonymous usage metrics to Alfresco through the Heartbeat service. We already used this anonymous information in the past to help understand the usage of our products and to better meet the needs of your organization.
We have been improving the Alfresco Heartbeat to report more detailed information so that we can evolve the product in ways that provide the most value to our customers. As part of this process, we are including the new heartbeat also in the Alfresco Community Edition so that we can better understand how our open source community interacts with the product. This will allow us to better include the needs of both - our customers and our open source community - in our roadmap discussions and decision making process.
Further information around our updated Alfresco Heartbeat is available in our online documentation at https://docs.alfresco.com/6.0/concepts/heartbeatintro.html.
With Alfresco Content Services 6.0, we introduced a few library upgrades to ensure ongoing security and to have the ability to leverage more capabilities in future releases. A number of underlying third-party libraries have been updated in both the Repository and Share.