SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Alfresco Scalability and Performance
    How Alfresco 4.x will solve all you headaches around scalable ECM solutions
Agenda
ECM high end scenarios
  •  ECM platform use cases
  •  What is ECM scalability?

Alfresco ECM scalability and performance
  •  What we (should) already know
  •  Alfresco 3.4 improvements
  •  Alfresco 4.0 “hardening” features
    •    Apache SolR
    •    Clustered filesystems
  •  Post 4.0 scalability opportunities

Alfresco Platform benchmarks
  •  Benchmarks rationales and progress
  •  Alfresco Benchmark Tools
Alfresco ECM Solutions
What do you expect from an ECM system?

  •  ECM semantics grows alongside with the ‘content explosion’
    •     The Classic Alfresco ECM Trio
         •    System of Record (Massive Injection & Retrieval Content Platform)
         •    System of Engagement (Enterprise Collaboration Platform)
         •    Web Content Publishing (Multichannel XML/HTML delivery)
    •     The present (and future)
         •    Social Content Management
         •    Records Management & Archival
         •    Business Intelligence (Content & Workflow OLAP)

  •  Each solution has specific requirements around
    1.  Scalablity
    2.  Information retrieval Isolation
ECM Scalability defined
What does scalability mean for ECM?
   •  Performance
     •     “Acceptable” to “No” search degradation as users/content grow
     •     “Acceptable” to “No” browsing degradation as users/content grow
     •     Geo-independence of the system (if global)
   •  Availability
     •     Offer service continuity upon
          •    Disasters
          •    Functional / corrective maintenance
     •     No single point of failure
   •  Load distribution
     •     Parallelization
     •     Optimization of CPU usage ($$$) per transaction
Scalability requirements are solution dependent …
                 So pick your battles!
Alfresco is designed to scale
At any level of the infrastructure
  •  Repository
    •    Cluster nodes can be added dynamically
    •    Ehcache supports distributed cache replication
  •  User interface
    •    Alfresco Share is stateless and HTTP based
    •    Share can scale out independently from the repository
  •  Database
    •    Alfresco supports Master / Slave DB replication
    •    Solutions a la Oracle RAC are also supported
  •  Storage
    •    Content Addressable Storage (XAM) support – Enterprise Only
    •    Content Store Selector – Enterprise Only

Check out the Scale your Alfresco Solutions paper!
    http://support.alfresco.com/ics/support/DLRedirect.asp?fileID=18158
Full-Blown Multi-layer scalable architecture
                                                       Load Balancer

                 Share                         Share                         Share                        Share

                 App Srv                      App Srv                       App Srv                       App Srv


                                                         Load Balancer




     Alfresco                             Alfresco                                 Alfresco                   Alfresco

     EHCache                              EHCache                              EHCache                       EHCache
         Index




                                                                                                                  Index
                                                                                      Index
                                              Index




                                                           Database


                           Database      Database
                                                                         Content
                           (Master)       (Slave)
                                                                          Store
                                  Failover

                         Database Clustering
                                                                                                Content      Content
                                                                                                Store 1      store 2



                                                                                              Content store selector
Levels of ECM Information Isolation

Think about it as “transaction isolation” for Databases

1.  SERIALIZABLE
  •  System of records
2.  REPEATABLE_READS
3.  READ_COMMITTED
4.  READ_UNCOMMITTED
Where does your solution stand?




Identify where your solution is in the graph, then trade
off between consistency & performance!

There is NO one size fits all, so pick your battles!
10 tips you MUST know to scale Alfresco
1.  Disable quotas when unneeded
   system.usages.enabled=false
2.  Disable audit
   audit.enabled=false
3.  When ~1M docs and above fine tune #index segments
   http://wiki.alfresco.com/index.php?title=Index_Merging_Performance
4.  Tune DB pool size (default for evaluation mode)
   db.pool.max=225
5.  And don’t forget to tune DB accordingly
   Ask your DBA to allow enough incoming connections (especially in high concurrency)
6.  Use multi-operation batches for your transactions
   Transaction setup and teardown are expensive!
7.  For bulk injection you can disable in transaction indexing
   index.tracking.disableInTransactionIndexing=true
8.  Tune permission checking behavior
   system.acl.maxPermissionChecks and system.acl.maxPermissionCheckTimeMillis
9.  Read the “Scale your Alfresco Solutions” paper!
10. Call me  (or any other Alfresco Consultant)
5 scalability gotchas prior to Alfresco 3.4
1.  In process (or in transaction) content indexing
   Alfresco spending transaction time to update Lucene index

2.  Lucene index replicated & tracked per cluster node
   Additional DB and Alfresco load for IndexTransactionTracker

3.  Query ‘bottlenecks’ during index maintenance
   High (blocking) CPU spike during index merging

4.  Not all interfaces available in High Availability mode
   Additional DB and Alfresco load for IndexTransactionTracker

5.  Time Limited permission checking
   Non deterministic search results on large user / content bases
Alfresco 3.4 scalability improvements

 •  Hibernate removal
   •    Improved / optimized DB querying with Ibatis
   •    Faster commit time

 •  Permission checking improvements
   •    Ongoing work in all 3.x versions

 •  Content Replication
   •    Geographic master/slave distribution of content
   •    Can be used also for archival, WCM deployment, etc.

 •  Site performance project (Enterprise 3.4.6)
   •    High Share concurrency scenarios
   •    Tested and usable up to 60.000 Share sites!
Alfresco 4.0 radical answers to scalability

 •  Introduction of logical separate indexing tier
  •  Apache Solr Integration
  •  NOTE: Eventual vs transactional index consistency

 •  Clustering for File System interfaces (e.g. CIFS)
  •  ContentDiskDriver2
  •  Scenario specific session linked state distributed using
     Hazelcast

 •  Deterministic permission checking
  •  Refactored DB canned queries allow in query checking
  •  Solr filters allow in search permission checking
The Apache SOLR subsystem

Rationale
  •  Removes Lucene load from Alfresco Repository
  •  Externalize and centralize a logical indexing tier
  •  Avoid per cluster node index tracking

Architectural features
  •  Pull (vs. Push) indexing
    •    Solr polls Alfresco periodically for index updates
    •    Default 15s  can be configured
  •  Can be scaled out
    •    Multi Solr architectural options
    •    NOTE: sharding/clustering not available yet
  •  Dedicated or shared Enterprise search engine
Alfresco / SolR Logical Architecture

                                         Search	
  Requests	
  




                                                      Search Results
                Repository	
  


                                                 Async:	
  	
  
                                              Index	
  Polling	
  
                                                                             Solr	
  
   Content	
  Store       Database	
  
        (s)	
              Storage	
  
                                                          Updates	
  



                                                      Models
                        Solr Cores:

                                                        ACLS
                       - Workspace
                                                Properties & Content
    Solr	
       - Archive
                                                                        Cores	
  
Transparent indexing tier scalability!

        Repo
                               Repo



                                    Solr
                               Solr




                                                    Load Balancer
                Load Balancer




                                    Solr
                               Solr




                                 Search
                             Index
Solr Implications
Do I have to migrate?
  •  No, you can still use Lucene indexing subsystem
  •  Solr can be configured to run and index in parallel

Key Features
  •  No in-txn indexing
  •  One core per Alfresco store (e.g. WorkspaceStore, ArchiveStore)
    •    Cores can be configured separately
  •  In query permission checking with Solr filters
    •    Deterministic

Alfresco impacts
  •  Wherever “transactional consistency” was needed index
     queries have been substituted with DB “canned queries”
    •    Authentication, Doclib, Bootstrap, Check-in/out amongst others
  •  Implementers should be aware of eventual index consistency
Transactional vs. Eventual index update

Transactional (prior to 4.0)      Eventual (4.0)
  •  Indexes updated within         •  Index server periodically
     the database txn                  polls repository (default =15s)
Pros                              Pros
  •  Indexes consistent with DB     •     Faster commit time (50%)
     at any time                    •     Separately scalable tier
  •  Applications can work          •     Configurable index delay
     independently with DB or
     indexes                        •     Independent from
Cons                                      #(concurrent users)
  •  Resource intensive
  •  Slower commit time           Cons
  •  Index locking and              •  Dirty or non repeatable
     contemption with                  index reads are possible
     concurrent user growth         •  Cannot be used where
                                       transactional consistency
                                       is needed
                                         •    E.g. RM, AVM, custom apps
Clustered file systems

What’s new?
 • ContentDiskDriver2  Brand new implementation
 • JLAN-Alfresco interface binds state to sessions
   • No clustering required
 •  JLAN Clustering
   • Hazelcast provides distributed locking
    http://www.hazelcast.com/


Hazelcast configuration
                   filesystem.cluster.enabled=[true,false]
                   Enables or disables the filesystem cluster.

                        filesystem.cluster.configFile
                     Location of Hazelcast configuration file

       http://wiki.alfresco.com/wiki/Configuring_Hazelcast_for_JLAN_clustering
Post 4.0 frontiers

SolR
  •    Index Shards
  •    Clustering (Read replication)
  •    Solr on EC2
  •    Faceted Search
  •    Term highlighting


Product evolution
  •  Cloud offering
  •  Benchmarking process
Recap - Remember the gotchas?
1.  In process (or in transaction) content indexing
  Asynchronous indexing with Solr
2.  Lucene index replicated & tracked per cluster node
   Centralized Solr indexing tier
3.  Query ‘bottlenecks’ during index maintenance
   Index load / maintenance moved to a separate tier
4.  Not all interfaces available in High Availability mode
   ContentDiskDriver2 & Hazelcast enable CIFS clustering
5.  Time Limited permission checking
   Solr filters query time deterministic permission checking
I swear this is all true!
Why, don’t you trust an Italian? 
Alfresco Platform Benchmarks (EE 4.0)
What are we going to test?
  •  Scenario driven
    •    Bulk loading / massive injection
    •    Enterprise Collaboration Platform
  •  Dimensions
    •    (#content nodes, #users, #cluster nodes)
    •    Overtime architectural options / versions
    •    Initial data points identified starting from field experience
What are we going to measure?
  •  Throughput
  •  Min/Avg/Max Response time
  •  Cluster scalability
What can you expect?
  •  Updated Scalability paper with quantitative information
  •  Initial comparative data with 3.4
Alfresco Benchmarks – Why?
For Community and Enterprise network
 •  Provide quantitative evaluation of Alfresco scalability
 •  Offer tooling to self benchmark Alfresco in your context

For Engineering Research
 •  Determine impact of new ideas
 •  Profile performance issue

For Sizing Guidelines
 •  How many CPUs do you require?
 •  How many documents can you store

For QA
 •  Performance Regression Tests
 •  Not a one-off exercise
 •  Become part of engineering process
Alfresco Benchmarks Tools
Repository benchmark suite
 •  JMeter scripts executable from ANT
    •    CMIS (Mixed and Sequential)
    •    WebDav (Mixed and Sequential)
 •  Available at HEADcoderootprojectsrepository-bm

Alfresco Bulk Import Tool
 • Hosted on Google Code
 • Now Multi-threaded!
 • Offers a “content streaming free” mode
 • Great performances (especially with no in txn indexing)

Collaboration Platform benchmark suite
 •  JMeter scripts executable from ANT
    •    Testing Alfresco Share functionalities with configurable concurrent
         users
    •    Not publicly available at the time of this writing
Thanks!
     Gabriele Columbro
     Principal Architect
   Consulting Services EMEA

gabriele.columbro@alfresco.com
         @mindthegabz
 http://www.mindthegab.com

Contenu connexe

Tendances

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoringMiguel Rodriguez
 
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaHBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaCloudera, Inc.
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaManish Maheshwari
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase ReplicationHBaseCon
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0enissoz
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseenissoz
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsDataWorks Summit
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clustersenissoz
 
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかToshihiro Suzuki
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Yukinori Suda
 
(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon AuroraAmazon Web Services
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0enissoz
 
Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBaseHBaseCon
 
(Aaron myers) hdfs impala
(Aaron myers)   hdfs impala(Aaron myers)   hdfs impala
(Aaron myers) hdfs impalaNAVER D2
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars GeorgeJAX London
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012Michael Noel
 

Tendances (18)

Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, ClouderaHBaseCon 2012 | HBase Filtering - Lars George, Cloudera
HBaseCon 2012 | HBase Filtering - Lars George, Cloudera
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling Impala
 
The State of HBase Replication
The State of HBase ReplicationThe State of HBase Replication
The State of HBase Replication
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clusters
 
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)
 
(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora
 
Meet HBase 1.0
Meet HBase 1.0Meet HBase 1.0
Meet HBase 1.0
 
Cross-Site BigTable using HBase
Cross-Site BigTable using HBaseCross-Site BigTable using HBase
Cross-Site BigTable using HBase
 
(Aaron myers) hdfs impala
(Aaron myers)   hdfs impala(Aaron myers)   hdfs impala
(Aaron myers) hdfs impala
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
HBase Advanced - Lars George
HBase Advanced - Lars GeorgeHBase Advanced - Lars George
HBase Advanced - Lars George
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
SQL 2012 AlwaysOn Availability Groups for SharePoint 2010 - AUSPC2012
 

Similaire à BP-1 Performance and Scalability

Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudAaron Walker
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco Software
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...Michael Noel
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationAlfresco Software
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problemsAbhishek Gupta
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadooplucenerevolution
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138Jose Portillo
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2Dobler Consulting
 
CosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersCosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersNiko Neugebauer
 
Solr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchSolr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchMark Miller
 
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Michael Noel
 
Introducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeIntroducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeHostedbyConfluent
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Finaljucaab
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 

Similaire à BP-1 Performance and Scalability (20)

Solr -
Solr - Solr -
Solr -
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and Performance
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR Integration
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problems
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadoop
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
 
CosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersCosmosDB for DBAs & Developers
CosmosDB for DBAs & Developers
 
Solr + Hadoop = Big Data Search
Solr + Hadoop = Big Data SearchSolr + Hadoop = Big Data Search
Solr + Hadoop = Big Data Search
 
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
 
Introducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper AlternativeIntroducing Oxia: A Scalable Zookeeper Alternative
Introducing Oxia: A Scalable Zookeeper Alternative
 
Ora 4 the_sqldba
Ora 4 the_sqldbaOra 4 the_sqldba
Ora 4 the_sqldba
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 

Plus de Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

Plus de Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Dernier

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Dernier (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

BP-1 Performance and Scalability

  • 1. Alfresco Scalability and Performance How Alfresco 4.x will solve all you headaches around scalable ECM solutions
  • 2. Agenda ECM high end scenarios •  ECM platform use cases •  What is ECM scalability? Alfresco ECM scalability and performance •  What we (should) already know •  Alfresco 3.4 improvements •  Alfresco 4.0 “hardening” features •  Apache SolR •  Clustered filesystems •  Post 4.0 scalability opportunities Alfresco Platform benchmarks •  Benchmarks rationales and progress •  Alfresco Benchmark Tools
  • 3. Alfresco ECM Solutions What do you expect from an ECM system? •  ECM semantics grows alongside with the ‘content explosion’ •  The Classic Alfresco ECM Trio •  System of Record (Massive Injection & Retrieval Content Platform) •  System of Engagement (Enterprise Collaboration Platform) •  Web Content Publishing (Multichannel XML/HTML delivery) •  The present (and future) •  Social Content Management •  Records Management & Archival •  Business Intelligence (Content & Workflow OLAP) •  Each solution has specific requirements around 1.  Scalablity 2.  Information retrieval Isolation
  • 4. ECM Scalability defined What does scalability mean for ECM? •  Performance •  “Acceptable” to “No” search degradation as users/content grow •  “Acceptable” to “No” browsing degradation as users/content grow •  Geo-independence of the system (if global) •  Availability •  Offer service continuity upon •  Disasters •  Functional / corrective maintenance •  No single point of failure •  Load distribution •  Parallelization •  Optimization of CPU usage ($$$) per transaction Scalability requirements are solution dependent … So pick your battles!
  • 5. Alfresco is designed to scale At any level of the infrastructure •  Repository •  Cluster nodes can be added dynamically •  Ehcache supports distributed cache replication •  User interface •  Alfresco Share is stateless and HTTP based •  Share can scale out independently from the repository •  Database •  Alfresco supports Master / Slave DB replication •  Solutions a la Oracle RAC are also supported •  Storage •  Content Addressable Storage (XAM) support – Enterprise Only •  Content Store Selector – Enterprise Only Check out the Scale your Alfresco Solutions paper! http://support.alfresco.com/ics/support/DLRedirect.asp?fileID=18158
  • 6. Full-Blown Multi-layer scalable architecture Load Balancer Share Share Share Share App Srv App Srv App Srv App Srv Load Balancer Alfresco Alfresco Alfresco Alfresco EHCache EHCache EHCache EHCache Index Index Index Index Database Database Database Content (Master) (Slave) Store Failover Database Clustering Content Content Store 1 store 2 Content store selector
  • 7. Levels of ECM Information Isolation Think about it as “transaction isolation” for Databases 1.  SERIALIZABLE •  System of records 2.  REPEATABLE_READS 3.  READ_COMMITTED 4.  READ_UNCOMMITTED
  • 8. Where does your solution stand? Identify where your solution is in the graph, then trade off between consistency & performance! There is NO one size fits all, so pick your battles!
  • 9. 10 tips you MUST know to scale Alfresco 1.  Disable quotas when unneeded system.usages.enabled=false 2.  Disable audit audit.enabled=false 3.  When ~1M docs and above fine tune #index segments http://wiki.alfresco.com/index.php?title=Index_Merging_Performance 4.  Tune DB pool size (default for evaluation mode) db.pool.max=225 5.  And don’t forget to tune DB accordingly Ask your DBA to allow enough incoming connections (especially in high concurrency) 6.  Use multi-operation batches for your transactions Transaction setup and teardown are expensive! 7.  For bulk injection you can disable in transaction indexing index.tracking.disableInTransactionIndexing=true 8.  Tune permission checking behavior system.acl.maxPermissionChecks and system.acl.maxPermissionCheckTimeMillis 9.  Read the “Scale your Alfresco Solutions” paper! 10. Call me  (or any other Alfresco Consultant)
  • 10. 5 scalability gotchas prior to Alfresco 3.4 1.  In process (or in transaction) content indexing  Alfresco spending transaction time to update Lucene index 2.  Lucene index replicated & tracked per cluster node  Additional DB and Alfresco load for IndexTransactionTracker 3.  Query ‘bottlenecks’ during index maintenance  High (blocking) CPU spike during index merging 4.  Not all interfaces available in High Availability mode  Additional DB and Alfresco load for IndexTransactionTracker 5.  Time Limited permission checking  Non deterministic search results on large user / content bases
  • 11. Alfresco 3.4 scalability improvements •  Hibernate removal •  Improved / optimized DB querying with Ibatis •  Faster commit time •  Permission checking improvements •  Ongoing work in all 3.x versions •  Content Replication •  Geographic master/slave distribution of content •  Can be used also for archival, WCM deployment, etc. •  Site performance project (Enterprise 3.4.6) •  High Share concurrency scenarios •  Tested and usable up to 60.000 Share sites!
  • 12. Alfresco 4.0 radical answers to scalability •  Introduction of logical separate indexing tier •  Apache Solr Integration •  NOTE: Eventual vs transactional index consistency •  Clustering for File System interfaces (e.g. CIFS) •  ContentDiskDriver2 •  Scenario specific session linked state distributed using Hazelcast •  Deterministic permission checking •  Refactored DB canned queries allow in query checking •  Solr filters allow in search permission checking
  • 13. The Apache SOLR subsystem Rationale •  Removes Lucene load from Alfresco Repository •  Externalize and centralize a logical indexing tier •  Avoid per cluster node index tracking Architectural features •  Pull (vs. Push) indexing •  Solr polls Alfresco periodically for index updates •  Default 15s  can be configured •  Can be scaled out •  Multi Solr architectural options •  NOTE: sharding/clustering not available yet •  Dedicated or shared Enterprise search engine
  • 14. Alfresco / SolR Logical Architecture Search  Requests   Search Results Repository   Async:     Index  Polling   Solr   Content  Store Database   (s)   Storage   Updates   Models Solr Cores:
 ACLS - Workspace Properties & Content Solr   - Archive Cores  
  • 15. Transparent indexing tier scalability! Repo Repo Solr Solr Load Balancer Load Balancer Solr Solr Search Index
  • 16. Solr Implications Do I have to migrate? •  No, you can still use Lucene indexing subsystem •  Solr can be configured to run and index in parallel Key Features •  No in-txn indexing •  One core per Alfresco store (e.g. WorkspaceStore, ArchiveStore) •  Cores can be configured separately •  In query permission checking with Solr filters •  Deterministic Alfresco impacts •  Wherever “transactional consistency” was needed index queries have been substituted with DB “canned queries” •  Authentication, Doclib, Bootstrap, Check-in/out amongst others •  Implementers should be aware of eventual index consistency
  • 17. Transactional vs. Eventual index update Transactional (prior to 4.0) Eventual (4.0) •  Indexes updated within •  Index server periodically the database txn polls repository (default =15s) Pros Pros •  Indexes consistent with DB •  Faster commit time (50%) at any time •  Separately scalable tier •  Applications can work •  Configurable index delay independently with DB or indexes •  Independent from Cons #(concurrent users) •  Resource intensive •  Slower commit time Cons •  Index locking and •  Dirty or non repeatable contemption with index reads are possible concurrent user growth •  Cannot be used where transactional consistency is needed •  E.g. RM, AVM, custom apps
  • 18. Clustered file systems What’s new? • ContentDiskDriver2  Brand new implementation • JLAN-Alfresco interface binds state to sessions • No clustering required •  JLAN Clustering • Hazelcast provides distributed locking http://www.hazelcast.com/ Hazelcast configuration filesystem.cluster.enabled=[true,false] Enables or disables the filesystem cluster. filesystem.cluster.configFile Location of Hazelcast configuration file http://wiki.alfresco.com/wiki/Configuring_Hazelcast_for_JLAN_clustering
  • 19. Post 4.0 frontiers SolR •  Index Shards •  Clustering (Read replication) •  Solr on EC2 •  Faceted Search •  Term highlighting Product evolution •  Cloud offering •  Benchmarking process
  • 20. Recap - Remember the gotchas? 1.  In process (or in transaction) content indexing Asynchronous indexing with Solr 2.  Lucene index replicated & tracked per cluster node  Centralized Solr indexing tier 3.  Query ‘bottlenecks’ during index maintenance  Index load / maintenance moved to a separate tier 4.  Not all interfaces available in High Availability mode  ContentDiskDriver2 & Hazelcast enable CIFS clustering 5.  Time Limited permission checking  Solr filters query time deterministic permission checking
  • 21. I swear this is all true!
  • 22. Why, don’t you trust an Italian? 
  • 23. Alfresco Platform Benchmarks (EE 4.0) What are we going to test? •  Scenario driven •  Bulk loading / massive injection •  Enterprise Collaboration Platform •  Dimensions •  (#content nodes, #users, #cluster nodes) •  Overtime architectural options / versions •  Initial data points identified starting from field experience What are we going to measure? •  Throughput •  Min/Avg/Max Response time •  Cluster scalability What can you expect? •  Updated Scalability paper with quantitative information •  Initial comparative data with 3.4
  • 24. Alfresco Benchmarks – Why? For Community and Enterprise network •  Provide quantitative evaluation of Alfresco scalability •  Offer tooling to self benchmark Alfresco in your context For Engineering Research •  Determine impact of new ideas •  Profile performance issue For Sizing Guidelines •  How many CPUs do you require? •  How many documents can you store For QA •  Performance Regression Tests •  Not a one-off exercise •  Become part of engineering process
  • 25. Alfresco Benchmarks Tools Repository benchmark suite •  JMeter scripts executable from ANT •  CMIS (Mixed and Sequential) •  WebDav (Mixed and Sequential) •  Available at HEADcoderootprojectsrepository-bm Alfresco Bulk Import Tool • Hosted on Google Code • Now Multi-threaded! • Offers a “content streaming free” mode • Great performances (especially with no in txn indexing) Collaboration Platform benchmark suite •  JMeter scripts executable from ANT •  Testing Alfresco Share functionalities with configurable concurrent users •  Not publicly available at the time of this writing
  • 26. Thanks! Gabriele Columbro Principal Architect Consulting Services EMEA gabriele.columbro@alfresco.com @mindthegabz http://www.mindthegab.com