rapid cq deployments by jakub wadolowski
TRANSCRIPT
Rapid CQ deployments at your fingertips
Jakub Wadolowski
About me
• Systems Engineer @ Cognifide
• Open source and Linux enthusiast
• 3 years of experience with Adobe CQ
• Chef user for over a year
Configuration management problem (1)
• root@server:~# ls /etc/apache2/apache2*
• /etc/apache2/apache2.conf
• /etc/apache2/apache2.conf.OLD
• /etc/apache2/apache2.conf.BAK
• /etc/apache2/apache2.conf.20131201
• /etc/apache2/apache2.conf.orig.20130123
• …
Configuration management problem (2)
DEV STAGING PROD
System integrity
Solutions! (1)
• Manual configuration• Error-prone
• Time consuming
• Works until you have to deal with a several dozensof servers on a daily basis
Solutions! (2)
• Golden images• Quite heavy
• Hard to transfer between various autonomoussystems
• Hard to modify seamlessly
• Hidden (and most probably undocumented) configuration details
Solutions! (3)
• Configuration management• It’s all about the state of your servers/services
• Treat your infrastructure as code
• Define policy once, reuse everywhere
• Reduce complexity
• Reconstruct business from code repository, data backup and compute resources
Let’s cook something!
Chef core principles
• Idempotence
• Thick client, thin server
• Order matters
• Declarative
• Convergent
• Underlying technology agnostic
Chef overview
• Chef server
• Chef client
• Workstation
• Node
• Cookbook• Recipes• Templates• Attributes• Resources• …
CQ Unix Toolkit cookbook
• Installs specific version of CQ Unix Toolkit
• Provides underlying tools for CQ cookbook
CQ cookbook
• CQ installation
• Internals management (users, packages, etc.)
CQ deployments with Chef (1)
• Server provisioning• Users
• Sudo settings
• Common packages installation
• Ulimit
• SysVInit deamon
• Monitoring
• …
CQ deployments with Chef (2)
• CQ installation• Install proper Java version
• Download and unpack JAR file
• Tune JVM settings
• …
CQ deployments with Chef (3)
• CQ management• Create CQ users
• Configure replication agents
• Install CRX packages
• …
The power of Chef – JVM (1)
The power of Chef – JVM (2)
The power of Chef – JVM (3)
The power of Chef – CQ Users (1)
Demo time!
Why you should care?
• Never hear 'works on my machine' again
• Keep track of your CQ servers
• Ability to recreate your infrastructure from scratch anytime you need it
• Helps you scale horizontally
• Rapid package deployments
• Improved development workflow
Current status
• Only CQ 5.6.x is supported
• Full CQ installation
• CQ JVM tuning
• Run CQ as Linux daemon
• User management
• CRX package management
Roadmap
• CQ users improvements (groups support)
• New resources• cq_agent (replication & flush)
• cq_bundle (OSGi configuration)
• CQ 5.5 support
• More automated tests
• Public release within the next few weeks!
THANK YOU!