The Alfresco way to Embrace a Cloud (Native) Architecture
Since Alfresco published The IT Strategist’s Guide to Transforming ECM,7 habits that help you unlock the value of enterprise content, we’ve been extracting lessons from this Library of Resources.
The guide includes a code of conduct for technologic decision takers, focusing the content in seven principles:
- Prioritize User Experience
- Take a Content Service Approach
- Explore Open Technologies
- Embrace a Cloud Architecture
- Integrate Content and Process
- Leverage the Data in Content
- Build-in Information Governance
Despite they are all interrelated, embracing a Cloud Architecture is probably the most popular trending topic in every internal meeting for many companies around the world. As cloud term has become foggy with the time, a short review on cloud concepts can help to understand deeply the mission:
- Products, platforms and services are deployed in the Cloud everyday. Providers like Amazon AWS, Google Cloud or Microsoft Azure are hosting infrastructures as Virtual Private Cloud (VPC) for many companies.
- Designing a Cloud Native Architecture for a product, platform or service requires a microservices approach that allows the component to be deployed on container clusters like Kubernetes.
- There are tons of products deployed in the Cloud, but there are few deployed in the Cloud by using a Cloud Native Architecture.
The new paradigm defines three different elements collaborating via APIs and connectors:
- (Micro)Services for Content and Processes to provide backend capabilities
- Specialised components to enhance content and to provide common features
- User-centric apps developed in a low-code approach
This figure has been theoretically explained several times since its inception in January 2017, but few real world use cases have been depicted. Let’s review in the following points how to leverage the data in content by embracing a working Cloud Native Architecture.
Backend services are the core engine for every information system. When designing a Content Service Platform strategy, both Content and Process services must live together to provide the key features required by user-centric applications. Deploying these services on a cloud infrastructure like Kubernetes, empowers backend capabilities adding automating deployment, scaling and management. Alfresco 6 & Activiti 7 are designed to collaborate in this scenario, where core services are enriched by general purpose components to make application development an easy task.
Reusable components are a key factor for Cloud deployments, as they provide the latest technologies while controlling the impact of a hug catalog of microservices. Many different features are available as components to enrich Content Services Platform lifecycle:
- Identity management providers like Keycloak
- Security services provided by technologies like Blockchain
- Recognition services by using products like Microsoft Cognitive Services
- Chatbot and NLP services from platforms like RASA
- Deep learning capabilities by using solutions like TensorFlow
When designing your cloud strategy, identify reusable components for your required platforms to build a consistent ecosystem for internal developers and to save resources in your running environment.
Low-code and user-centric applications are the new paradigm. We are not talking about technical business approach for user apps anymore, but about an specific problem related with user needs: food, energy, gaming, bank, health, factory, labs, delivering… Leaving apart silver bullet applications trying to gather every use case, must be adopted in order to replace them by small and user-centric apps focusing on a user story. And this apps are not using only Content Services Platform in the backend, they are using every platform required to provide a complete application for the user.
Alfresco has designed an Angular Component Catalog based in ADF technology, what allows developer to integrate process and content services in the same user experience.
APIs and Connectors
The pieces of this ecosystem work better having an scalable and standard way of communication:
- Apigee, the API Management leading tool, has been providing a centralised entry point for Multi- and Hybrid-Cloud deployments. Building an homogenous API for Apps and external consumers will reduce your time-to-market
- OpenAPIs, as consolidated standard to define APIs, has been used by Alfresco to develop content and processes services. Using a consistent and self-document method to describe your APIs will help to build a better experience for external and internal developers
Alfresco has been building its Cloud Strategy in the last months, so now we are ready to embrace a Cloud Native experience without limits!