SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Alfresco Tech Talk Live #95
Alfresco Software Provisioning Kit (Enzo Rivello, Maurizio Pillitu)
Aboutus
Maurizio (maoo) Pillitu
• Alfresco DevOps
• Before, 30 months of Alfresco Consultancy
• Lead Developer of
– https://github.com/Alfresco/chef-alfresco
Aboutus
Alfresco DevOps
Keep the lights on
• Public services (activiti|my.alfresco.com, Alfresco
Online Trials)
• Internal infrastructure
• Internal projects (QA, Engineering, Sales, Marketing,
...)
Automate all the things
• Automation across the borders
– Technologies
– Departments
• Integration
• Evangelisation
Alfresco SPK
Design|Run|Integrate Alfresco stacks
Agenda
Agenda
• The Challenges
• Alfresco Installation
• Alfresco SPK
• Wrapping up
The Challenges
Challenges
The hosting choice
• Myriads of Cloud Providers
– AWS, Google Compute, Rackspace, OpenShift, Tutum, …
• Myriads of Orchestration Tools
– Cloudformation, Beanstalk, Kubernetes, Terraform, Cloudify/Tosca, Mesos,
Brooklyn, …
Provisioning challenges
• Distributed architectures
• Articulated provisioning process
• Alfresco Installer limitations
Provisioning
Solutions
• Alfresco Installation
– Customisable/Configurable
– Modular
– Versionable
– Portable
• Alfresco SPK
– Define/reuse a stack
– Test a stack locally
– Create Official Alfresco Images (Marketplace AMIs, Vagrant Boxes, …)
– Create Custom Images
– Integrate CI tools with image building process (release pipeline integration)
– Integrate orchestration tools to bootstrap immutable images (go live)
Provisioning
Aboutus
Enzo Rivello
• 3 months of Alfresco Devops
– Activiti Team
• Before, Playstation DevOps
• Lead Developer of
– https://github.com/Alfresco/alfresco-spk
– https://github.com/Alfresco/vagrant-packer-
plugin
• Follow
– https://www.alfresco.com/blogs/devops
– https://github.com/enzor
Alfresco Installation
Instance Lifecycle
AlfrescoInstallation
StackGenesis
Root
Image
(distro) <provision> <bootstrap>
<full provisioning>
ID
4 IPs
ID
Stack Engine
Alfresco
Image
(tiered) Solr
2
Share
1
Share
2
Solr
1
Instance Lifecycle
AlfrescoInstallation
StackGenesis
Root
Image
(distro) <provision> <bootstrap>
<full provisioning>
ID
4 IPs
ID
Stack Engine
Alfresco
Image
(tiered) Solr
2
Share
1
Share
2
Solr
1
Chef Alfresco (beyond Alfresco Installer)
• Cool logo
• Component-based: repo, share, solr, aos and more
• Additional components: haproxy, nginx and more
• Supports 3 run modes (full-provisioning, provisioning-
only, bootstrap-only)
• Any Alfresco configuration can be customised
• Can run continuously (install on top of an installation)
• Downloads artifacts (VS Alfresco Installer monolithic
installation)
– Maven compatible (uses artifacts.alfresco.com by default)
– Use Maven repository of your choice
– (optional) Use URL or file-system to resolve artifacts
• Open Source, 68 releases, 11 contributors -
https://github.com/Alfresco/chef-alfresco
AlfrescoInstallation
Alfresco SPK
and the Vagrant Packer Plugin
Alfresco SPK Operations
AlfrescoSPK
Choose
a stack
Browse stack examples
provided by the SPK
Run/Tweak
Spin up a stack locally
using Virtualbox or
VmWare
Build Images
Define Alfresco
immutable images
Integrate
Run the CI and
orchestration tool
of your choice
AlfrescoSPK
• Stacks (Vagrantfile)
– community-allinone
– enterprise-clustered (share + solr)
• Instance templates
– community-allinone.json
– share.json
– solr.json
SPK Provided Stacks
Configuration items
• Instance template(s) (JSON), which contain
– Chef Alfresco Attributes
– Image building configuration (Packer)
– Local run (Vagrant)
• Vagrantfile to define the stack and reference instance template(s)
– Packer Plugin common configuration
– Local Vagrant run common configuration
AlfrescoSPK
Instance template – Chef Alfresco components
{
"name": ”...",
"alfresco" : {
"components" : <alfresco_components>
}
}
["haproxy","nginx","tomcat","transform","repo","share","solr","mysql"]
Allinone components
["haproxy","nginx","tomcat","transform","repo","share"]
Share components
["haproxy","tomcat”,"repo","transform","solr"]
Solr components
AlfrescoSPK
Vagrantfile – community-allinone
Vagrant.configure("2") do |config|
# Source Image configuration
config.vm.box = "<vagrant_box_name>"
config.vm.box_url = "<vagrant_box_url>”
# Vagrant up configuration
instance_template = JSON.parse("<instance_template_json_path>")
config.vm.provision "chef_solo" do |chef|
chef.json = instance_template
chef.recipe_url = "<chef_alfresco_tar_url>"
instance_template['run_list'].each do |recipe|
chef.add_recipe recipe
end
end
End
https://artifacts.alfresco.com/.../releases/.../chef-alfresco-0.6.25.tar.gz
AlfrescoSPK
Vagrantfile – enterprise-clustered
Vagrant.configure("2") do |config|
# Source Image configuration
config.vm.box = "<vagrant_box_name>"
config.vm.box_url = "<vagrant_box_url>”
# Vagrant up multi-machine configuration
['share','solr'].each do |role|
config.vm.define role do |instance|
instance_template = JSON.parse("<#{role}.json >")
config.vm.provision "chef_solo" do |chef|
chef.json = instance_template
chef.recipe_url = "<chef_alfresco_tar_url>"
instance_template['run_list'].each do |recipe|
chef.add_recipe recipe
end
end
end
end
AlfrescoSPK
Vagrantfile –Packer Plugin configuration
Vagrant.configure("2") do |config|
# Mandatory Vagrant Packer Plugin configuration
config.packer_build.instance_templates = [”share.json”,”solr.json”]
# Optional Chef provisioning configuration
config.packer_build.cookbooks_url = “<chef-alfresco_tar_gz_url>”
config.packer_build.cookbooks_username = “<chef-alfresco_tar_gz_username>”
config.packer_build.cookbooks_password = “<chef-alfresco_tar_gz_password>”
# Chef Databags configuration
config.packer_build.databags_url = “<databags_tar_gz_url>”
config.packer_build.databags_username = “<databags_username>”
config.packer_build.databags_password = “<databags_password>”
# Alternative for Chef cookbooks configuration (using Berkshelf)
# config.packer_build.berksfile = “Berksfile”
AlfrescoSPK
Try it yourself!
# Clone SPK repo
git clone https://github.com/Alfresco/alfresco-spk
# Install Vagrant Packer Plugin
vagrant plugin install vagrant-packer-plugin
cd alfresco-spk/stacks/community-allinone
# Or build your own Vagrantfile and instance template(s)
# Run the stack locally
vagrant up
# Build immutable images (default to Vagrantbox)
vagrant packer-build
Wrapping up
Wrappingup
[Go Live]
Configure
orchestration
tools & CI
[Image Build]
Vagrant packer-
build
[Tweak and Local run]
Vagrant up
[Configuration]
Choose an SPK stack and play with Vagrantfile
and instance templates
Go Live – Zero to Hero
Wrappingup
Infrastructure as Code delivered
• Revamped installation experience
– Component-based installation
– Controls provisioning and bootstrap phases
https://github.com/Alfresco/chef-alfresco
• Reusable instance templates
• Reusable images
• Integration with cloud providers and orchestration tools
https://github.com/Alfresco/alfresco-spk
SPK
Wrappingup
SPK in Alfresco
• AWS Marketplace AMIs
– Alfresco 5.1 Enterprise Allinone
– Alfresco 5.1 Enterprise Allinone + Records Management
– Alfresco Activiti Enterprise
• Online Trials
• Offline Trials / Sales Demos
• Alfresco Benchmark
• Alfresco Infrastructure
• Alfresco Cloud
Wrappingup
Roadmap
• Support additional Linux/Unix OSes
• Publish Alfresco Vagrant boxes for existing instance templates
– allinone, share, solr, …
• Add (seamless) integration with orchestration tools
– Terraform, Cloudformation, Kubernetes, …
• Integrate with Alfresco SDK
• Improved docs for advanced Chef users
• Publish chef-alfresco into Chef Supermarket
Product capabilities, timeframes and features are subject to change and should not be viewed
as Alfresco commitments.
Links
Links
Code
• https://github.com/Alfresco/chef-alfresco
• https://github.com/Alfresco/alfresco-spk
• https://github.com/Alfresco/vagrant-packer-plugin
Icons in the presentation
• http://www.flaticon.com/free-icon/three-books_74982
• http://www.flaticon.com/free-icon/puzzle_69154
• http://www.flaticon.com/free-icon/man-sprinting_67001
• http://www.flaticon.com/free-icon/closed-cardboard-box-with-packing-tape_65843
• http://www.flaticon.com/free-icon/recycle-reuse_25274
• http://www.flaticon.com/free-icon/light-bulb_34386
• http://www.flaticon.com/free-icon/robot-with-server_77744
Thanks!
@Alfresco
Follow us on

Weitere ähnliche Inhalte

Was ist angesagt?

PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksKellyn Pot'Vin-Gorman
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should knowJeff Potts
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAlberto Molina Coballes
 
Javaeeconf 2016 how to cook apache kafka with camel and spring boot
Javaeeconf 2016 how to cook apache kafka with camel and spring bootJavaeeconf 2016 how to cook apache kafka with camel and spring boot
Javaeeconf 2016 how to cook apache kafka with camel and spring bootIvan Vasyliev
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Webinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBWebinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBSeveralnines
 
Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationBrett Porter
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should KnowAngel Borroy López
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OSCisco DevNet
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Software, Inc.
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Joe Breu
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Simplilearn
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Software, Inc.
 
Apache development with GitHub and Travis CI
Apache development with GitHub and Travis CIApache development with GitHub and Travis CI
Apache development with GitHub and Travis CIJukka Zitting
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010Adrian Trenaman
 

Was ist angesagt? (20)

Command box
Command boxCommand box
Command box
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and Tricks
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Javaeeconf 2016 how to cook apache kafka with camel and spring boot
Javaeeconf 2016 how to cook apache kafka with camel and spring bootJavaeeconf 2016 how to cook apache kafka with camel and spring boot
Javaeeconf 2016 how to cook apache kafka with camel and spring boot
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
Webinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBWebinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDB
 
Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software Foundation
 
#WeSpeakLinux Session
#WeSpeakLinux Session#WeSpeakLinux Session
#WeSpeakLinux Session
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OS
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation Setup
 
Apache development with GitHub and Travis CI
Apache development with GitHub and Travis CIApache development with GitHub and Travis CI
Apache development with GitHub and Travis CI
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 

Ähnlich wie Alfresco spk-alfresco-day

Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Software
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdfedmsdelta
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Symphony Software Foundation
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafSerge Huber
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsPetr Jiricka
 
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsCodefresh
 
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
 
Ksplice - Keep your Database systems up to date with no downtime
Ksplice - Keep your Database systems up to date with no downtime Ksplice - Keep your Database systems up to date with no downtime
Ksplice - Keep your Database systems up to date with no downtime Luis Marques
 
How to contribute Apache CloudStack
How to contribute Apache CloudStackHow to contribute Apache CloudStack
How to contribute Apache CloudStackGo Chiba
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewpdalian
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingAngel Borroy López
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim Dowling
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim DowlingStructured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim Dowling
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim DowlingDatabricks
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereGanesh Raju
 
(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of usStefan Adolf
 
Automated Infrastructure and Application Management
Automated Infrastructure and Application ManagementAutomated Infrastructure and Application Management
Automated Infrastructure and Application ManagementClark Everetts
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureAdrian Otto
 

Ähnlich wie Alfresco spk-alfresco-day (20)

Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdf
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
 
Jahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karafJahia DX 7.2 : Bye bye felix, hello karaf
Jahia DX 7.2 : Bye bye felix, hello karaf
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
 
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
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...
 
Ksplice - Keep your Database systems up to date with no downtime
Ksplice - Keep your Database systems up to date with no downtime Ksplice - Keep your Database systems up to date with no downtime
Ksplice - Keep your Database systems up to date with no downtime
 
How to contribute Apache CloudStack
How to contribute Apache CloudStackHow to contribute Apache CloudStack
How to contribute Apache CloudStack
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overview
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installing
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim Dowling
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim DowlingStructured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim Dowling
Structured-Streaming-as-a-Service with Kafka, YARN, and Tooling with Jim Dowling
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
 
(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us
 
Automated Infrastructure and Application Management
Automated Infrastructure and Application ManagementAutomated Infrastructure and Application Management
Automated Infrastructure and Application Management
 
Puppet meetup testing
Puppet meetup testingPuppet meetup testing
Puppet meetup testing
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 

Kürzlich hochgeladen

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Kürzlich hochgeladen (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Alfresco spk-alfresco-day

  • 1. Alfresco Tech Talk Live #95 Alfresco Software Provisioning Kit (Enzo Rivello, Maurizio Pillitu)
  • 2. Aboutus Maurizio (maoo) Pillitu • Alfresco DevOps • Before, 30 months of Alfresco Consultancy • Lead Developer of – https://github.com/Alfresco/chef-alfresco
  • 3. Aboutus Alfresco DevOps Keep the lights on • Public services (activiti|my.alfresco.com, Alfresco Online Trials) • Internal infrastructure • Internal projects (QA, Engineering, Sales, Marketing, ...) Automate all the things • Automation across the borders – Technologies – Departments • Integration • Evangelisation
  • 5. Agenda Agenda • The Challenges • Alfresco Installation • Alfresco SPK • Wrapping up
  • 7. Challenges The hosting choice • Myriads of Cloud Providers – AWS, Google Compute, Rackspace, OpenShift, Tutum, … • Myriads of Orchestration Tools – Cloudformation, Beanstalk, Kubernetes, Terraform, Cloudify/Tosca, Mesos, Brooklyn, … Provisioning challenges • Distributed architectures • Articulated provisioning process • Alfresco Installer limitations Provisioning
  • 8. Solutions • Alfresco Installation – Customisable/Configurable – Modular – Versionable – Portable • Alfresco SPK – Define/reuse a stack – Test a stack locally – Create Official Alfresco Images (Marketplace AMIs, Vagrant Boxes, …) – Create Custom Images – Integrate CI tools with image building process (release pipeline integration) – Integrate orchestration tools to bootstrap immutable images (go live) Provisioning
  • 9. Aboutus Enzo Rivello • 3 months of Alfresco Devops – Activiti Team • Before, Playstation DevOps • Lead Developer of – https://github.com/Alfresco/alfresco-spk – https://github.com/Alfresco/vagrant-packer- plugin • Follow – https://www.alfresco.com/blogs/devops – https://github.com/enzor
  • 11. Instance Lifecycle AlfrescoInstallation StackGenesis Root Image (distro) <provision> <bootstrap> <full provisioning> ID 4 IPs ID Stack Engine Alfresco Image (tiered) Solr 2 Share 1 Share 2 Solr 1
  • 12. Instance Lifecycle AlfrescoInstallation StackGenesis Root Image (distro) <provision> <bootstrap> <full provisioning> ID 4 IPs ID Stack Engine Alfresco Image (tiered) Solr 2 Share 1 Share 2 Solr 1
  • 13. Chef Alfresco (beyond Alfresco Installer) • Cool logo • Component-based: repo, share, solr, aos and more • Additional components: haproxy, nginx and more • Supports 3 run modes (full-provisioning, provisioning- only, bootstrap-only) • Any Alfresco configuration can be customised • Can run continuously (install on top of an installation) • Downloads artifacts (VS Alfresco Installer monolithic installation) – Maven compatible (uses artifacts.alfresco.com by default) – Use Maven repository of your choice – (optional) Use URL or file-system to resolve artifacts • Open Source, 68 releases, 11 contributors - https://github.com/Alfresco/chef-alfresco AlfrescoInstallation
  • 14. Alfresco SPK and the Vagrant Packer Plugin
  • 15. Alfresco SPK Operations AlfrescoSPK Choose a stack Browse stack examples provided by the SPK Run/Tweak Spin up a stack locally using Virtualbox or VmWare Build Images Define Alfresco immutable images Integrate Run the CI and orchestration tool of your choice
  • 16. AlfrescoSPK • Stacks (Vagrantfile) – community-allinone – enterprise-clustered (share + solr) • Instance templates – community-allinone.json – share.json – solr.json SPK Provided Stacks Configuration items • Instance template(s) (JSON), which contain – Chef Alfresco Attributes – Image building configuration (Packer) – Local run (Vagrant) • Vagrantfile to define the stack and reference instance template(s) – Packer Plugin common configuration – Local Vagrant run common configuration
  • 17. AlfrescoSPK Instance template – Chef Alfresco components { "name": ”...", "alfresco" : { "components" : <alfresco_components> } } ["haproxy","nginx","tomcat","transform","repo","share","solr","mysql"] Allinone components ["haproxy","nginx","tomcat","transform","repo","share"] Share components ["haproxy","tomcat”,"repo","transform","solr"] Solr components
  • 18. AlfrescoSPK Vagrantfile – community-allinone Vagrant.configure("2") do |config| # Source Image configuration config.vm.box = "<vagrant_box_name>" config.vm.box_url = "<vagrant_box_url>” # Vagrant up configuration instance_template = JSON.parse("<instance_template_json_path>") config.vm.provision "chef_solo" do |chef| chef.json = instance_template chef.recipe_url = "<chef_alfresco_tar_url>" instance_template['run_list'].each do |recipe| chef.add_recipe recipe end end End https://artifacts.alfresco.com/.../releases/.../chef-alfresco-0.6.25.tar.gz
  • 19. AlfrescoSPK Vagrantfile – enterprise-clustered Vagrant.configure("2") do |config| # Source Image configuration config.vm.box = "<vagrant_box_name>" config.vm.box_url = "<vagrant_box_url>” # Vagrant up multi-machine configuration ['share','solr'].each do |role| config.vm.define role do |instance| instance_template = JSON.parse("<#{role}.json >") config.vm.provision "chef_solo" do |chef| chef.json = instance_template chef.recipe_url = "<chef_alfresco_tar_url>" instance_template['run_list'].each do |recipe| chef.add_recipe recipe end end end end
  • 20. AlfrescoSPK Vagrantfile –Packer Plugin configuration Vagrant.configure("2") do |config| # Mandatory Vagrant Packer Plugin configuration config.packer_build.instance_templates = [”share.json”,”solr.json”] # Optional Chef provisioning configuration config.packer_build.cookbooks_url = “<chef-alfresco_tar_gz_url>” config.packer_build.cookbooks_username = “<chef-alfresco_tar_gz_username>” config.packer_build.cookbooks_password = “<chef-alfresco_tar_gz_password>” # Chef Databags configuration config.packer_build.databags_url = “<databags_tar_gz_url>” config.packer_build.databags_username = “<databags_username>” config.packer_build.databags_password = “<databags_password>” # Alternative for Chef cookbooks configuration (using Berkshelf) # config.packer_build.berksfile = “Berksfile”
  • 21. AlfrescoSPK Try it yourself! # Clone SPK repo git clone https://github.com/Alfresco/alfresco-spk # Install Vagrant Packer Plugin vagrant plugin install vagrant-packer-plugin cd alfresco-spk/stacks/community-allinone # Or build your own Vagrantfile and instance template(s) # Run the stack locally vagrant up # Build immutable images (default to Vagrantbox) vagrant packer-build
  • 23. Wrappingup [Go Live] Configure orchestration tools & CI [Image Build] Vagrant packer- build [Tweak and Local run] Vagrant up [Configuration] Choose an SPK stack and play with Vagrantfile and instance templates Go Live – Zero to Hero
  • 24. Wrappingup Infrastructure as Code delivered • Revamped installation experience – Component-based installation – Controls provisioning and bootstrap phases https://github.com/Alfresco/chef-alfresco • Reusable instance templates • Reusable images • Integration with cloud providers and orchestration tools https://github.com/Alfresco/alfresco-spk SPK
  • 25. Wrappingup SPK in Alfresco • AWS Marketplace AMIs – Alfresco 5.1 Enterprise Allinone – Alfresco 5.1 Enterprise Allinone + Records Management – Alfresco Activiti Enterprise • Online Trials • Offline Trials / Sales Demos • Alfresco Benchmark • Alfresco Infrastructure • Alfresco Cloud
  • 26. Wrappingup Roadmap • Support additional Linux/Unix OSes • Publish Alfresco Vagrant boxes for existing instance templates – allinone, share, solr, … • Add (seamless) integration with orchestration tools – Terraform, Cloudformation, Kubernetes, … • Integrate with Alfresco SDK • Improved docs for advanced Chef users • Publish chef-alfresco into Chef Supermarket Product capabilities, timeframes and features are subject to change and should not be viewed as Alfresco commitments.
  • 27. Links Links Code • https://github.com/Alfresco/chef-alfresco • https://github.com/Alfresco/alfresco-spk • https://github.com/Alfresco/vagrant-packer-plugin Icons in the presentation • http://www.flaticon.com/free-icon/three-books_74982 • http://www.flaticon.com/free-icon/puzzle_69154 • http://www.flaticon.com/free-icon/man-sprinting_67001 • http://www.flaticon.com/free-icon/closed-cardboard-box-with-packing-tape_65843 • http://www.flaticon.com/free-icon/recycle-reuse_25274 • http://www.flaticon.com/free-icon/light-bulb_34386 • http://www.flaticon.com/free-icon/robot-with-server_77744

Hinweis der Redaktion

  1. Fi
  2. Create images of different natures
  3. We start from the instance lifecycle:
  4. We start from the instance lifecycle:
  5. Based on Chef, a Configuration Management With chef-alfresco we can do deep configuration – much more than installer Idempotency ensures Continuous runs and therefore Continuous Delivery Is not monolithic – is a 10kb configuration file that gets executed by a chef client into the box Based on artifacts.alfresco.com – alfresco customer will be able to configure chef-alfresco with their nexus credentials to get the enterprise version
  6. Mention Packer and Vagrant Packer Plugin
  7. SPK comes with 2 built-in stacks (Vagrantfiles) Packer is the engine that builds images and sets the image nature
  8. Mention chef-alfresco docs - https://github.com/Alfresco/chef-alfresco
  9. Chef_alfresco_tar_url = https://artifacts.alfresco.com/.../releases/.../chef-alfresco-0.6.25.tar.gz
  10. #{role}_instance_template_json_path = my_instance_templates/#{role}.json
  11. instance_template_json_path=[“my_instance_templates/share.json”,” my_instance_templates/solr.json”] config.packer_build.cookbooks_url = https://artifacts.alfresco.com/.../releases/.../chef-alfresco-0.6.25.tar.gz This configuration uses chef-alfresco as provisioning “engine” Vagrant Packer Plugin is not alfresco nor chef specific! Don’t panic if you don’t know what Berkshelf is 
  12. Use alfresco-spk github repo to run the pre-built stacks. Then copy the files into your own projects and tweak configuration beased on your needs