SlideShare a Scribd company logo
1 of 36
10 things you need to know to have a 
successful Alfresco project 
Gabriele Columbro 
WW Manager Expert Services
Today’s objectives 
Identify key phases in the Alfresco project 
lifecycle 
Make the right choices in each and every phase 
Prevent technical issues and going over budget 
Prevent and mitigate risk upon issues
Alfresco basic project lifecycle 
Inception Provisioning & 
deployment 
Release & 
distribution 
Development
Alfresco basic project lifecycle 
Inception
Tip #1: Leverage the Alfresco SDK 
• Archetypes —> Generally available project templates 
• AMP, Share AMP, All in One 
• SDK Parent 
• Inherit best practice behavior based on years of successful 
Alfresco projects 
• Benefits 
• Consistency 
• Productivity 
• Rapid setup of project lifecycle
Tip #1: Leverage the Alfresco SDK
Tip #2: Be ECM savvy
Tip #2: Be ECM savvy 
• ECM is about content, people, processes 
• Less about technical rocket science 
• What that means 
• Make sure you design a future proof model and 
taxonomy - “the art of ECM” 
• Ensure your permission model is scalable and does 
not prevent future evolutions 
• Identify content, then people, then how the content 
will flow between people and responsibilities
Tip #3: Involve the experts early on
Tip #3: Involve the experts early on 
• ECM experts can help to: 
• Identify business value 
• Define the ECM foundation design and content model 
• Alfresco experts can help to: 
• Get design and development right from the get go 
• Know the Alfresco specific processes (e.g. Support) and resources (docs, KB, 
wiki) 
• What are your options? 
• Alfresco ACE or ACA certified resources, i.e. partners or community (open source) 
• Alfresco Partners 
• Alfresco Consulting 
• Alfresco dedicated Support packages, like Premiere or Developer Support
Tip #3: Open Communication & 
lean responsibilities
Tip #3: Open Communication & 
lean responsibilities 
• Open Communication 
• Internally 
• Dev <-> Ops 
• Shared / managed services 
• Business & Technical 
• Externally 
• Customer <-> Alfresco 
• 3-way including Partner 
• Lean responsibilities and ownership 
• Of lifecycle phases (release, packaging, deployment) 
• Of developed code (customizations support, source code 
availability, e.g. Dev Support)
Alfresco basic project lifecycle 
Inception Development
Tip #4: Alfresco Open Dev Best Practices
Tip #4: Alfresco Open Dev Best Practices 
• Best practices pillars 
• Use only Public APIs (ReST & @PublicApi Java classes) 
• Do NOT override / modify Alfresco core webapp 
• Package and version your customizations 
• Upper case vs. Lower Case 
• Risks vs. benefits 
• Best Effort vs. Fully Supported 
• High TCO vs. Low TCO 
• Version Lock in vs. Version Currency 
• Dev Support
Tip #5: Test, test, test
Tip #5: Test, test, test 
• Flavors of testing 
• Unit —> Alfresco SDK 
• Integration —> Alfresco SDK 
• Black box / regression w/Selenium —> Alfresco SDK 
• Load Testing —> Alfresco Benchmark Framework 
• Consider a POC for large implementations sizing 
• Risks vs. benefits 
• Bugs vs. Quality 
• Complex supportability vs. Easy troubleshooting 
• Fail in production vs. Fail early and correct
Alfresco basic project lifecycle 
Inception Release & 
distribution 
Development
Tip #6: Define a rock solid delivery process
Tip #6: Define a rock solid delivery process 
• Mantra: DO NOT TOUCH PRODUCTION MANUALLY!!! 
• Release early, release often 
• Unobtrusive packaging and clear versioning 
• Automation, automation, automation 
• Did I mention automation? 
• Clear collaboration pattern between Dev and Ops 
• Define a clear DTAP promotion (and back-porting) process of data and code 
• D(evelopment) 
• T(est) 
• A(cceptance) 
• P(roduction) 
• Alfresco Boxes 
https://github.com/maoo/alfresco-boxes
Alfresco basic project lifecycle 
Inception Provisioning & 
deployment 
Release & 
distribution 
Development
Tip #7: Size your system appropriately
Tip #7: Size your system appropriately 
• Know your use case 
• Ask the right questions 
• Incremental & continuous improvement 
• Performance testing feedback into further design 
• Consider a POC focused on Load Testing 
• Scalability Blueprint 
http://www.alfresco.com/resources/whitepapers/alfresco-scalability-blueprint 
• SuperSize my repo 
• Luis’s session today afternoon
Tip #8: Have a replica of your production repository!
Tip #8: Have a replica of your production repository! 
• Why? 
• Study performances in non productive environment 
• Run regression testing on a real life repository 
• How? 
• Automate backup and restore (e.g. Alfresco BaRT) 
• Back-porting content, db, indexes on a periodic basis 
• Risk vs. benefits 
• Long running cases vs. easier troubleshooting 
• Crawling in the dark vs. control
Tip #9: Monitor. Always.
Tip #9: Monitor. Always. 
• Even basic monitoring would do, but you should know: 
• What to monitor 
• CPU/Memory /Disk 
• Indexes/db/content store size 
• Network latency 
• How to monitor 
• Un-intrusive (the over-Heisenberg syndrome!) 
• Multiple technologies available 
• Nagios/Icinga (w/ Alfresco integration) 
• ElasticSearch + Logstash + Kibana 
http://summit.alfresco.com/san-francisco/sessions/monitoring-your-alfresco-installation 
• New Relic
Tip #10: Work with us!
Tip #10: Work with us! 
• Services 
• Support (Core, Advanced, Expert) 
• Premiere Services 
• Consulting 
• Developer Support (pilot) 
• Tools 
• Alfresco Environment Validation tool 
• Alfresco Technical Validation tool 
• Administration consoles 
• Alfresco Benchmark Framework
Developer Support 
Disclaimer: 
Support Services add-on package currently in 
pilot phase. Come talk to me if you are 
interested.
Developer Support - High level 
The Developer Support service is a yearly Subscription 
based service, delivered remotely by development savvy 
senior Engineers. 
The subscription is time limited to periods of 6 months, 1 
year or multi-year with no case volume restriction. 
Customers will be entitled to a 24h response time SLA.
Developer Support - Services 
• SDK, Developer Environment & Productivity 
• Architecture questions 
• Public Performance, load testing and sizing best practices 
• API usage & best practices questions 
• Support in mapping business requirements into design leveraging the 
Alfresco APIs 
• Code samples and how to customize Alfresco, Share, Workdesk 
• Roadmap alignment and Sprint Review (at Premium level) 
• Automation of Alfresco installation, deployment, product application 
lifecycle management 
• Review and recommendations on new/existing 
customizations/integrationsCustomization snippets review and 
recommendations 
• Break/fix and Ttroubleshooting assistance on existing customizations
Developer Support - Comparison 
Activity Support Developer Support 
Consultin 
g 
Will you troubleshoot my custom code for 
me? 
✘ ✓ ✓ 
Will you facilitate provisioning of product 
code level fixes if encountered? 
✓ ✓ ✓ 
Will you own technical design of my custom 
code for me? 
✘ ✘ ✓ 
Will you build my customization for me from 
scratch? 
✘ ✘ ✓ 
Will you help me understand how to use your 
public API? 
✘ ✓ ✓ 
Will you recommend best practices for 
extending Alfresco? 
✘ ✓ ✓ 
Will you join our project kick-off meeting? ✘ ✓ ✓ 
Will you map our requirements to best 
practice implementation directives? 
✘ ✓ ✓ 
Will you help me to find bugs in existing 
custom code? 
✘ ✓ ✓ 
Will you help me troubleshoot my Alfresco 
APIs usage if I provide a simple test case? 
✓ ✓ ✓ 
Do you provide SLA on response and 
engagement time? 
✓ ✓ ✘ 
Will you own the delivery of an Alfresco 
project? 
✘ ✘ ✓ 
Will you come on site? ✘ ✘ ✓
Developer Support 
Contact me at 
gabriele.columbro@alfresco.com
Thank you / Grazie! 
Gabriele Columbro 
gabriele.columbro@alfresco.com 
twitter: @mindthegabz 
http://mindthegab.com

More Related Content

What's hot

Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Eugenio Minardi
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Cisco DevNet
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetCisco DevNet
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCisco DevNet
 
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)Chen Cheng-Wei
 
Continuous Integration & Drupal
Continuous Integration & DrupalContinuous Integration & Drupal
Continuous Integration & DrupalLimoenGroen
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...Peter Leschev
 
DevOps in a Regulated and Embedded Environment (AgileDC)
DevOps in a Regulated and Embedded Environment (AgileDC)DevOps in a Regulated and Embedded Environment (AgileDC)
DevOps in a Regulated and Embedded Environment (AgileDC)Arjun Comar
 
Enterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryEnterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryChris Riley ☁
 
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOpsBaruch Sadogursky
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalGetting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalPhilip Norton
 
Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and PuppetCreate Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and PuppetGene Gotimer
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Taller Negócio Digitais
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJoe Kutner
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceAll Things Open
 
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift Origin
 

What's hot (20)

Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
 
Continuous Integration & Drupal
Continuous Integration & DrupalContinuous Integration & Drupal
Continuous Integration & Drupal
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 
DevOps in a Regulated and Embedded Environment (AgileDC)
DevOps in a Regulated and Embedded Environment (AgileDC)DevOps in a Regulated and Embedded Environment (AgileDC)
DevOps in a Regulated and Embedded Environment (AgileDC)
 
Enterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryEnterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private Registry
 
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalGetting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
 
Create Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and PuppetCreate Disposable Test Environments with Vagrant and Puppet
Create Disposable Test Environments with Vagrant and Puppet
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor App
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
 

Similar to 10 things you need to know to deliver a successful Alfresco project

HouSecCon 2019: Offensive Security - Starting from Scratch
HouSecCon 2019: Offensive Security - Starting from ScratchHouSecCon 2019: Offensive Security - Starting from Scratch
HouSecCon 2019: Offensive Security - Starting from ScratchSpencer Koch
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?gagravarr
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayAlexis Monville
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 
DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelOtavio Fernandes
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology confluent
 
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Stacey Whitney
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsCprime
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...SmartBear
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With OracleKelly Goetsch
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Brian Ritchie
 
Open World Forum - The Agile and Open Source Way
Open World Forum - The Agile and Open Source WayOpen World Forum - The Agile and Open Source Way
Open World Forum - The Agile and Open Source WayAlexis Monville
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementAlfresco Software
 
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?gagravarr
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Clark Everetts
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseXebiaLabs
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 

Similar to 10 things you need to know to deliver a successful Alfresco project (20)

HouSecCon 2019: Offensive Security - Starting from Scratch
HouSecCon 2019: Offensive Security - Starting from ScratchHouSecCon 2019: Offensive Security - Starting from Scratch
HouSecCon 2019: Offensive Security - Starting from Scratch
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source Way
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction Level
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology
 
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
Case study
Case studyCase study
Case study
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
 
Meetup Devops April 2023
Meetup Devops April 2023Meetup Devops April 2023
Meetup Devops April 2023
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
Open World Forum - The Agile and Open Source Way
Open World Forum - The Agile and Open Source WayOpen World Forum - The Agile and Open Source Way
Open World Forum - The Agile and Open Source Way
 
BP-5 Application Lifecycle Management
BP-5 Application Lifecycle ManagementBP-5 Application Lifecycle Management
BP-5 Application Lifecycle Management
 
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 

More from Symphony Software Foundation

201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...Symphony Software Foundation
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...Symphony Software Foundation
 
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...Symphony Software Foundation
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duoSymphony Software Foundation
 

More from Symphony Software Foundation (7)

201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
 
201408 - Alfresco Tech Talk Live - Maven SDK 2.0
201408  - Alfresco Tech Talk Live - Maven SDK 2.0201408  - Alfresco Tech Talk Live - Maven SDK 2.0
201408 - Alfresco Tech Talk Live - Maven SDK 2.0
 
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
 
CMIS is here, did you know?
CMIS is here, did you know?CMIS is here, did you know?
CMIS is here, did you know?
 

Recently uploaded

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 

Recently uploaded (20)

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 

10 things you need to know to deliver a successful Alfresco project

  • 1. 10 things you need to know to have a successful Alfresco project Gabriele Columbro WW Manager Expert Services
  • 2.
  • 3. Today’s objectives Identify key phases in the Alfresco project lifecycle Make the right choices in each and every phase Prevent technical issues and going over budget Prevent and mitigate risk upon issues
  • 4. Alfresco basic project lifecycle Inception Provisioning & deployment Release & distribution Development
  • 5. Alfresco basic project lifecycle Inception
  • 6. Tip #1: Leverage the Alfresco SDK • Archetypes —> Generally available project templates • AMP, Share AMP, All in One • SDK Parent • Inherit best practice behavior based on years of successful Alfresco projects • Benefits • Consistency • Productivity • Rapid setup of project lifecycle
  • 7. Tip #1: Leverage the Alfresco SDK
  • 8. Tip #2: Be ECM savvy
  • 9. Tip #2: Be ECM savvy • ECM is about content, people, processes • Less about technical rocket science • What that means • Make sure you design a future proof model and taxonomy - “the art of ECM” • Ensure your permission model is scalable and does not prevent future evolutions • Identify content, then people, then how the content will flow between people and responsibilities
  • 10. Tip #3: Involve the experts early on
  • 11. Tip #3: Involve the experts early on • ECM experts can help to: • Identify business value • Define the ECM foundation design and content model • Alfresco experts can help to: • Get design and development right from the get go • Know the Alfresco specific processes (e.g. Support) and resources (docs, KB, wiki) • What are your options? • Alfresco ACE or ACA certified resources, i.e. partners or community (open source) • Alfresco Partners • Alfresco Consulting • Alfresco dedicated Support packages, like Premiere or Developer Support
  • 12. Tip #3: Open Communication & lean responsibilities
  • 13. Tip #3: Open Communication & lean responsibilities • Open Communication • Internally • Dev <-> Ops • Shared / managed services • Business & Technical • Externally • Customer <-> Alfresco • 3-way including Partner • Lean responsibilities and ownership • Of lifecycle phases (release, packaging, deployment) • Of developed code (customizations support, source code availability, e.g. Dev Support)
  • 14. Alfresco basic project lifecycle Inception Development
  • 15. Tip #4: Alfresco Open Dev Best Practices
  • 16. Tip #4: Alfresco Open Dev Best Practices • Best practices pillars • Use only Public APIs (ReST & @PublicApi Java classes) • Do NOT override / modify Alfresco core webapp • Package and version your customizations • Upper case vs. Lower Case • Risks vs. benefits • Best Effort vs. Fully Supported • High TCO vs. Low TCO • Version Lock in vs. Version Currency • Dev Support
  • 17. Tip #5: Test, test, test
  • 18. Tip #5: Test, test, test • Flavors of testing • Unit —> Alfresco SDK • Integration —> Alfresco SDK • Black box / regression w/Selenium —> Alfresco SDK • Load Testing —> Alfresco Benchmark Framework • Consider a POC for large implementations sizing • Risks vs. benefits • Bugs vs. Quality • Complex supportability vs. Easy troubleshooting • Fail in production vs. Fail early and correct
  • 19. Alfresco basic project lifecycle Inception Release & distribution Development
  • 20. Tip #6: Define a rock solid delivery process
  • 21. Tip #6: Define a rock solid delivery process • Mantra: DO NOT TOUCH PRODUCTION MANUALLY!!! • Release early, release often • Unobtrusive packaging and clear versioning • Automation, automation, automation • Did I mention automation? • Clear collaboration pattern between Dev and Ops • Define a clear DTAP promotion (and back-porting) process of data and code • D(evelopment) • T(est) • A(cceptance) • P(roduction) • Alfresco Boxes https://github.com/maoo/alfresco-boxes
  • 22. Alfresco basic project lifecycle Inception Provisioning & deployment Release & distribution Development
  • 23. Tip #7: Size your system appropriately
  • 24. Tip #7: Size your system appropriately • Know your use case • Ask the right questions • Incremental & continuous improvement • Performance testing feedback into further design • Consider a POC focused on Load Testing • Scalability Blueprint http://www.alfresco.com/resources/whitepapers/alfresco-scalability-blueprint • SuperSize my repo • Luis’s session today afternoon
  • 25. Tip #8: Have a replica of your production repository!
  • 26. Tip #8: Have a replica of your production repository! • Why? • Study performances in non productive environment • Run regression testing on a real life repository • How? • Automate backup and restore (e.g. Alfresco BaRT) • Back-porting content, db, indexes on a periodic basis • Risk vs. benefits • Long running cases vs. easier troubleshooting • Crawling in the dark vs. control
  • 27. Tip #9: Monitor. Always.
  • 28. Tip #9: Monitor. Always. • Even basic monitoring would do, but you should know: • What to monitor • CPU/Memory /Disk • Indexes/db/content store size • Network latency • How to monitor • Un-intrusive (the over-Heisenberg syndrome!) • Multiple technologies available • Nagios/Icinga (w/ Alfresco integration) • ElasticSearch + Logstash + Kibana http://summit.alfresco.com/san-francisco/sessions/monitoring-your-alfresco-installation • New Relic
  • 29. Tip #10: Work with us!
  • 30. Tip #10: Work with us! • Services • Support (Core, Advanced, Expert) • Premiere Services • Consulting • Developer Support (pilot) • Tools • Alfresco Environment Validation tool • Alfresco Technical Validation tool • Administration consoles • Alfresco Benchmark Framework
  • 31. Developer Support Disclaimer: Support Services add-on package currently in pilot phase. Come talk to me if you are interested.
  • 32. Developer Support - High level The Developer Support service is a yearly Subscription based service, delivered remotely by development savvy senior Engineers. The subscription is time limited to periods of 6 months, 1 year or multi-year with no case volume restriction. Customers will be entitled to a 24h response time SLA.
  • 33. Developer Support - Services • SDK, Developer Environment & Productivity • Architecture questions • Public Performance, load testing and sizing best practices • API usage & best practices questions • Support in mapping business requirements into design leveraging the Alfresco APIs • Code samples and how to customize Alfresco, Share, Workdesk • Roadmap alignment and Sprint Review (at Premium level) • Automation of Alfresco installation, deployment, product application lifecycle management • Review and recommendations on new/existing customizations/integrationsCustomization snippets review and recommendations • Break/fix and Ttroubleshooting assistance on existing customizations
  • 34. Developer Support - Comparison Activity Support Developer Support Consultin g Will you troubleshoot my custom code for me? ✘ ✓ ✓ Will you facilitate provisioning of product code level fixes if encountered? ✓ ✓ ✓ Will you own technical design of my custom code for me? ✘ ✘ ✓ Will you build my customization for me from scratch? ✘ ✘ ✓ Will you help me understand how to use your public API? ✘ ✓ ✓ Will you recommend best practices for extending Alfresco? ✘ ✓ ✓ Will you join our project kick-off meeting? ✘ ✓ ✓ Will you map our requirements to best practice implementation directives? ✘ ✓ ✓ Will you help me to find bugs in existing custom code? ✘ ✓ ✓ Will you help me troubleshoot my Alfresco APIs usage if I provide a simple test case? ✓ ✓ ✓ Do you provide SLA on response and engagement time? ✓ ✓ ✘ Will you own the delivery of an Alfresco project? ✘ ✘ ✓ Will you come on site? ✘ ✘ ✓
  • 35. Developer Support Contact me at gabriele.columbro@alfresco.com
  • 36. Thank you / Grazie! Gabriele Columbro gabriele.columbro@alfresco.com twitter: @mindthegabz http://mindthegab.com

Editor's Notes

  1. Our sweet spot – industries that need process, control and collaboration
  2. Our sweet spot – industries that need process, control and collaboration
  3. Our sweet spot – industries that need process, control and collaboration
  4. Our sweet spot – industries that need process, control and collaboration
  5. Our sweet spot – industries that need process, control and collaboration