Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alfresco Transform Service DevCon 2019

532 views

Published on

Alfresco DevCon 2019 (Edinburgh)

"Transforming the Transformers" for Alfresco Content Services (ACS) 6.1 & beyond

https://community.alfresco.com/community/ecm/blog/2019/02/07/alfresco-transform-service-new-with-acs-61

Alfresco provides various content transformation options across the Digital Business Platform (DBP). In this talk, we will explore the new independently-scalable Alfresco Transform Service. This enables a new option for transforms to be asynchronously off-loaded by Alfresco Content Services (ACS).

https://devcon.alfresco.com/speaker/jan-vonka/

Published in: Software
  • Be the first to comment

Alfresco Transform Service DevCon 2019

  1. 1. Transforming Transformers for ACS 6.1 and beyond ! Jan Vonka Architect & Product Owner @ Alfresco
  2. 2. Introduction
  3. 3. Learn. Connect. Collaborate. Agenda • Introduction • Themes • Why … ? • Evolutionary Architecture • Alfresco Transform Service • Deployment Options • Scalable Load Testing (Demo) • Future Ideas … ? • Recap & Links • Q & A
  4. 4. Learn. Connect. Collaborate. • Jan Vonka – https://slideshare.net/jvonka • Architect & Product Owner • Hot-air balloonist https://www.deviantart.com/eddiekisosondi/art/HOT-AIR- JELLYFISH-315503032
  5. 5. Learn. Connect. Collaborate. • Information & features presented will change • Features are Enterprise • We look forward to collaborating with you … • … to improve & extend the Transform Service Disclaimer
  6. 6. Themes
  7. 7. Learn. Connect. Collaborate. Evolution Themes Change Transformation Future
  8. 8. Learn. Connect. Collaborate. Evolution – March of Progress http://mentalfloss.com/article/27542/10-variations-our-march-progress ➡ Evolutionary Architecture ➡ Monolith to Microservices ➡ Frequent Incremental Releases ➡ Containerised Deployments ➡ Independently-Scalable ➡ Simple & Safe Upgrades
  9. 9. Learn. Connect. Collaborate. Evolution - SkyNet https://www.deviantart.com/weylandyutanicorp/art/Skynet-Terminator-Models-419812236
  10. 10. Learn. Connect. Collaborate. Change Transmutation Change in Substance Transformation Change in Shape Metamorphosis Change in Form
  11. 11. Learn. Connect. Collaborate. Transforming the Transformers … https://michaelbaystransformers.fandom.com
  12. 12. Learn. Connect. Collaborate. ... Meta Metamorphosis ! -
  13. 13. Why … ?
  14. 14. Learn. Connect. Collaborate. Before … • Alfresco Content Services (ACS) Repository • Local & embedded transformers • New content generates renditions (eg. thumbnails & previews) • Consumes resources (Repository JVM or underlying O/S) • Limited Scalability Options • May be a limiting factor when ingesting lots of content • Only option to scale transforms => scale the Repository • Potential security concern when run on same “machine” as Repository
  15. 15. Learn. Connect. Collaborate. Embrace Change
  16. 16. Learn. Connect. Collaborate. Now … • Evolve ACS Repository Architecture • incrementally break-up the monolith • asynchronously off-load transforms • support large-scale ingestion & migration to ACS • Introduce new Alfresco Transform Service (ATS) • loosely-coupled & event-driven • independently scalable & upgradable • option to use across Digital Business Platform (DBP)
  17. 17. Evolutionary Architecture
  18. 18. Learn. Connect. Collaborate. Evolve: ACS 5.x
  19. 19. Learn. Connect. Collaborate. Local / Embedded Transformers (ACS <= 5.2) Content Services Process Services Content + Governance Apps Process Apps Files Meta data Search Files Meta data SearchIdentity Identity ProcessTransforms Transforms Governance
  20. 20. Learn. Connect. Collaborate. • Spring Boot 1.x • Docker • REST API Evolve: ACS 6.0 ACS imagemagiimagemagiimagemagick imagemagick imagemagicklibreoffice imagemagick imagemagickpdf-renderer Synchronous POST (multipart/form-data)
  21. 21. Learn. Connect. Collaborate. New Transform Service (ACS >= 6.1) Files Meta data Search Content + Process Apps ADF Identity Common Transform Service Content Services Content + Governance Apps ProcessTransforms Governance
  22. 22. Learn. Connect. Collaborate. John Newton @ DevCon 2019
  23. 23. Alfresco Transform Service
  24. 24. Learn. Connect. Collaborate. Transform Service 1.0 https://github.com/Alfresco/acs-deployment/releases Transform Service imagemagic k imagemagic k imagemagic k imagemagic k ACS 6.1 imagemagic k imagemagic k imagemagic k imagemagic k tika pdf-renderer libreoffice imagemagick imagemagick imagemagick imagemagic k imagemagic k Shared File Store T-Engines ActiveMQ • Spring Boot 2.x • Micrometer (eg. Prometheus) • Messaging (ActiveMQ) • Docker / Kubernetes T-Router 1 2 3 4 5 6 7
  25. 25. Learn. Connect. Collaborate. Design – Sequence Diagram
  26. 26. Learn. Connect. Collaborate. ACS 6.1 Async Rendition Service V1 REST APIV0 REST API Rendition Service 2 Rendition Service Thumbnail Service Action Service Content Service Shared File Store <<Docker>> Content Update Transform Service T-Router <<Docker>> Transformers <<Docker>> Transformers <<Docker>> Transformers <<Docker>> T-Engines <<Docker>> Transform Response Transform Request TransformerTransformerLocal Transformers Solr 6 101010 101010 101010
  27. 27. Learn. Connect. Collaborate. rendition gif jpeg png docx xlsx pptx msg doc xls ppt doclib png imgpreview jpeg pdf pdf medium jpeg avatar png avatar32 png webpreview swf ACS 6.1 Renditions supported by Transform Service 1.0 (*) ACS 6.1 uses 36 transforms out of the 60 provided by the Transform Service 1.0
  28. 28. Deployment Options
  29. 29. Learn. Connect. Collaborate. Deployment - Docker Compose (for Dev / Trial) https://github.com/Alfresco/acs-deployment/releases
  30. 30. Learn. Connect. Collaborate. Cloud Native vs Cloud Agnostic … https://landscape.cncf.io Cloud Native Computing Foundation (CNCF)
  31. 31. Learn. Connect. Collaborate. Deployment - Helm / Kubernetes (Reference) https://github.com/Alfresco/acs-deployment/releases
  32. 32. Learn. Connect. Collaborate. Container Orchestration => Kubernetes (k8s) GKE AKSEKS
  33. 33. Learn. Connect. Collaborate. Deployment – AWS Managed Services (Reference) https://github.com/Alfresco/acs-deployment-aws/releases Transform Service imagemagic k imagemagic k imagemagic k imagemagic k ACS imagemagic k imagemagic k imagemagic k imagemagic k tika pdf-renderer libreoffice imagemagick imagemagick imagemagick T-Router Amazon EFS imagemagic k imagemagic k Shared File Store T-Engines Amazon RDS Amazon S3
  34. 34. Learn. Connect. Collaborate. Documentation https://docs.alfresco.com/transform/concepts/transformservice-overview.html * (* published with ACS 6.1 release)
  35. 35. Scalable Load Testing (Demo)
  36. 36. Learn. Connect. Collaborate. Using Gatling for Load Testing Client: - What’s the performance of your application ? - Is it scalable? - How much it costs to run your product ? Dev: - This change can’t impact performance … QA: - … it did ;-) https://gatling.io/
  37. 37. Learn. Connect. Collaborate. Quick Demo
  38. 38. Learn. Connect. Collaborate. Using Gatling for ATS Load Testing
  39. 39. Future Ideas … ?
  40. 40. Learn. Connect. Collaborate. Future Ideas ? Disclaimer: Subject to change … we look forward to collaborating with you • Proposed Next – More Scaling – T-Engines Queues (async) – Event Gateway – Heartbeat • And Beyond – Extensibility Options (custom transformers) – New T-Clients & T-Engines (more transformers) – Dynamic Auto-Scaling
  41. 41. Learn. Connect. Collaborate. Transform Service 1.0.x https://github.com/Alfresco/acs-deployment-aws/releases Transform Service imagemagic k imagemagic k imagemagic k imagemagic k ACS imagemagic k imagemagic k imagemagic k imagemagic k tika pdf-renderer libreoffice imagemagick imagemagick imagemagick T-Router Amazon EFS imagemagic k imagemagic k Shared File Store T-Engines Amazon RDS Amazon S3 Planned
  42. 42. Learn. Connect. Collaborate. imagemagick imagemagick T-Router imagem agick imagem agick DBP Transform Service (on K8S / AWS) Amazon S3 Amazon EFS DBP Transform Service imagema gick imagema gick imagem agick imagem agick AWS * Amazon RDS ASE ACS DBP Event Gateway (No@fica@ons) imagema gick imagema gick imagem agick imagem agick custom Amazon Elastic Transcoder Heartbeat Server Aggregated Usage APS imagem agick imagem agick T-Engines Future Ideas ?
  43. 43. Recap & Links
  44. 44. Learn. Connect. Collaborate. Recap Evolutionary Architecture • Alfresco architecture will continue to evolve – Agility – Stability – Scalability • Transform Service 1.0 works with ACS 6.1 – Reference Deployments (Helm/K8s + AWS stack) – Download Trial (docker compose)
  45. 45. Learn. Connect. Collaborate. @ DevCon 2019 • Architectural Changes in Repo 6.1+ – Stefan Kopf & Alex Mukha (Thursday @ 10:45) • Porting Custom Transforms to new ATS – Alan Davis (Thursday @ 13:30) • The Transform Graph – Lucian Tuca (Wednesday @ 11:00)
  46. 46. Learn. Connect. Collaborate. Transform Service Releases (part of ACS Deployment) • https://github.com/Alfresco/acs-deployment • https://github.com/Alfresco/acs-deployment-aws Documentation • https://docs.alfresco.com/transform/concepts/trans form-overview.html * (* published with ACS 6.1 release)
  47. 47. Thank You https://slideshare.net/jvonka Transforming Transformers for ACS 6.1 and beyond ! https://www.youtube.com/embed/oa1XVYZOfLU

×