This is an update on our progress toward a new reference deployment of Alfresco Content Services based on Docker containers.
Our larger customers broadly appear to be adopting Docker and Kubernetes, and our Certified Partners have expressed enthusiasm about moving in that direction. But we were unsure if these technologies were seeing similar adoption by our smaller customers. We sent a survey to about 500 of our smaller customers asking them how they deploy enterprise software. About 10% responded (another 10% of those invited to participate were out-of-office for the end-of-year holidays). These are the highlights:
How do you usually install Alfresco products for production?
Executable installer: 50%
Manual setup from a zip file: 25%
3rd party deployment tool: 10%
Build from source: 4%
AWS QuickStart: 0% (this is very surprising, as it is widely used by our larger customers)
"How do you usually install enterprise software?" (select all that apply)
GUI installer: 60%
Command line scripts: 50%
A package repository: 33%
Manual setup from a zip file: 29%
Container deployments: 17%
Maven scripts: 6%
50% of survey respondents consider themselves familiar with container technology (3 or above on a 5 point scale)
Rate your likelihood of adopting the following technologies in the next 12 months:
In 12 months, 78% of survey respondents expect to host Alfresco products on-premise, and 12% expect to host on AWS.
How would you use a container or virtual machine delivered by a vendor of an enterprise application?
This survey shows us that GUI experiences are more popular with our smaller customers than we expected, and the current installers are more widely used than we previously appreciated. We also see that though many of our customers are not yet prepared to adopt container technologies, many are already favorable and nearly two-thirds of these organizations say they would benefit from a containerized reference deployment to either use directly or to use in setting up their own installations. Though we didn't specifically ask the question, some respondents mentioned that their Alfresco deployments are maintained by 3rd parties such as Alfresco Certified Partners, which reduces the learning needed by customers.
Based on this survey, and feedback from our larger customers and partners, we feel that a containerized deployment provides the most value for our customer base. But we recognize that we need to make adoption as easy as possible for organizations that are not currently familiar with these technologies. We will seek additional feedback from these smaller customers to ensure that any solution we deliver can be widely adopted.
In addition to learning more about our customer's deployment preferences, we have made significant progress in delivering a new way to deploy Alfresco products.
We expect to provide containers for all Alfresco products, using Docker, Kubernetes, and Helm.
The containerized deployment will replace the installation bundles for Alfresco Content Services (ACS) and Alfresco Community Edition. We intend to stop building the installers for Alfresco Community Edition (ACE) immediately.
The containerized deployment will be used as a reference of proper deployment practices in our training, documentation, and other resources.
Images for our private containers will be distributed to customers and partners through Quay.io, but we plan to publish our public containers to Docker Hub. We are not yet ready to distribute any containers, as we are still working out our policies regarding licensing and support.
That Helm chart and the associated Docker definition files refer to private assets, and so aren't very useful for deployment with significant changes. We will be releasing more useful assets in the near future.
I discussed the AWS QuickStart usage with the relevant Product Manager (Mark Howarth), and he did not find that result to be surprising.
The AWS QuickStarts are predominantly used by our large customers.
It is a relatively new deployment approach.
It is recommended to be used as a basis for a custom deployment, rather than used to directly deploy to production. For example, there are additional security configurations that customers should consider for their environments.
Though Alfresco recommends the Quick Start to be considered only a basis, I am still perplexed why that basis includes / allows AWS resource constellations that can't remotely match Alfresco performance recommendations from the Zero-Day guides. From what I have seen in a community customer AWS infrastructure review last year, EBS is abysmal for IO (Repository temp files, conversions or index) unless you significantly over-provision and/or add software level RAID to it. It's also a bit surprising that the keyword "performance" occurs only once in the quick start deployment guide.