rapid cq deployments at your fingertips

Post on 06-Jul-2015

131 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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).

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!

top related