25
Rapid CQ deployments at your fingertips Jakub Wadolowski

Rapid CQ deployments at your fingertips

Embed Size (px)

DESCRIPTION

AEM (CQ) deployments tend to take a lot of time and projects that take advantage of all its components usually make for very complex projects. Dozens of servers, many integration points and multiple environments may drive you mad if you'd like to keep a consistent state everywhere. Stop tearing your hair out to get the job done. Configuration management tools may save you a lot of time and frustration. I've used Chef (http://www.getchef.com/chef/) and it's magic to manage not only servers and core services, but also Adobe CQ and it's internals. At the end of the day the entire application stack can be reconstructed within minutes just from Chef's cookbooks, application backups and bare resources (metal or virtual).

Citation preview

Page 1: Rapid CQ deployments at your fingertips

Rapid CQ deployments at your fingertips

Jakub Wadolowski

Page 2: Rapid CQ deployments at your fingertips

About me

• Systems Engineer @ Cognifide

• Open source and Linux enthusiast

• 3 years of experience with Adobe CQ

• Chef user for over a year

Page 3: Rapid CQ deployments at your fingertips

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

• …

Page 4: Rapid CQ deployments at your fingertips

Configuration management problem (2)

DEV STAGING PROD

Page 5: Rapid CQ deployments at your fingertips

System integrity

Page 6: Rapid CQ deployments at your fingertips

Solutions! (1)

• Manual configuration• Error-prone

• Time consuming

• Works until you have to deal with a several dozensof servers on a daily basis

Page 7: Rapid CQ deployments at your fingertips

Solutions! (2)

• Golden images• Quite heavy

• Hard to transfer between various autonomoussystems

• Hard to modify seamlessly

• Hidden (and most probably undocumented) configuration details

Page 8: Rapid CQ deployments at your fingertips

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

Page 9: Rapid CQ deployments at your fingertips

Let’s cook something!

Page 10: Rapid CQ deployments at your fingertips

Chef core principles

• Idempotence

• Thick client, thin server

• Order matters

• Declarative

• Convergent

• Underlying technology agnostic

Page 11: Rapid CQ deployments at your fingertips

Chef overview

• Chef server

• Chef client

• Workstation

• Node

• Cookbook• Recipes• Templates• Attributes• Resources• …

Page 12: Rapid CQ deployments at your fingertips

CQ Unix Toolkit cookbook

• Installs specific version of CQ Unix Toolkit

• Provides underlying tools for CQ cookbook

Page 13: Rapid CQ deployments at your fingertips

CQ cookbook

• CQ installation

• Internals management (users, packages, etc.)

Page 14: Rapid CQ deployments at your fingertips

CQ deployments with Chef (1)

• Server provisioning• Users

• Sudo settings

• Common packages installation

• Ulimit

• SysVInit deamon

• Monitoring

• …

Page 15: Rapid CQ deployments at your fingertips

CQ deployments with Chef (2)

• CQ installation• Install proper Java version

• Download and unpack JAR file

• Tune JVM settings

• …

Page 16: Rapid CQ deployments at your fingertips

CQ deployments with Chef (3)

• CQ management• Create CQ users

• Configure replication agents

• Install CRX packages

• …

Page 17: Rapid CQ deployments at your fingertips

The power of Chef – JVM (1)

Page 18: Rapid CQ deployments at your fingertips

The power of Chef – JVM (2)

Page 19: Rapid CQ deployments at your fingertips

The power of Chef – JVM (3)

Page 20: Rapid CQ deployments at your fingertips

The power of Chef – CQ Users (1)

Page 21: Rapid CQ deployments at your fingertips

Demo time!

Page 22: Rapid CQ deployments at your fingertips

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

Page 23: Rapid CQ deployments at your fingertips

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

Page 24: Rapid CQ deployments at your fingertips

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!

Page 25: Rapid CQ deployments at your fingertips

THANK YOU!