raise the bar!

19
Raise the Bar! Alessandro Franceschi @alvagante github.com/example42 OSS4B 2013 A journey towards infrastructure automation

Upload: alessandro-franceschi

Post on 21-Jun-2015

696 views

Category:

Technology


2 download

DESCRIPTION

A journey on the automation path. Notes on how to migrate existing infrastructures to automation and how to introduce configuration management tools like Puppet, Chef, CFEngine on manually managed systems.

TRANSCRIPT

Page 1: Raise the bar!

Raise the Bar!

Alessandro Franceschi @alvagante

github.com/example42

OSS4B 2013

A journey towardsinfrastructure automation

Page 2: Raise the bar!

they tell usinfrastructures are

like this...Automated Systems Provisioning

Centrally Managed and ConfiguredMassively Continuos Deployments

Predictive Data AnalysisGroundbreaking Monitoring Visualization

Auto Scaling in Multiple DataCentersVirtualized and Cloudified(Chaos) monkeys driven

Page 3: Raise the bar!

but our infrastructureis more like this...

Semi automatic systems provisioningAn hell of old, not updated, heterogenous OS

Configurations managed by hand or scripts Deployments are a continuous warfare

We collect logs you don't checkMonitoring is a **** to maintain

More or less fully VirtualizedSome Cloud experiments

Self Destroying (no need of monkeys)

Page 4: Raise the bar!

What can we do?

Hold on.Where are we?

Look around.Choose a path.

Move. Step by step.

Page 5: Raise the bar!

Where are we?

Where things fail?Where time is wasted?What works?What's criticalWhat's strategical?What are the available skills?

Learn from failure, andlearn from success.

Page 6: Raise the bar!

Choose a Path

Analyze and discuss solutionsShare vision and goalsDraw a general roadmapBe ready for corrections

Choose the tool:Puppet, Chef, CFEngine...

No tool?No automation, no reason to talk here

Page 7: Raise the bar!

Step by Step

Train the teamGet help from expertsDo or Know It YourselfUse public code, when possibleCommunicate, always

Step the dots, then connect them

Test, act, verify.Reiterate.

Page 8: Raise the bar!

Scenarios

Brand new project:New systems, new infrastructure, no legacy.

Infrastructure migration:New systems to replace existing ones, some legacies.

Infrastructure update: Automation on existing systems.

Page 9: Raise the bar!

Brand New Project

Easier and most liked solutionMore freedom on technological choicesBrand new OS and stacks, possibly homogenousClean setups from scratchSound design from the foundationsNo mess with current productionFaster and smoother deployment times

Page 10: Raise the bar!

Infrastructure Migration

Existing systems still not centrally managedMigration of existing stacks to new systemsAll new nodes should be fully managed

Define a standard baselineCreate the stacks / roles you need

Enlarge coverage of application stacksStart from what is more used and needed

Page 11: Raise the bar!

Migration evaluations

How easily and quickly can be doneHow stable are systemsWhat maintenance efforts they requireNumber of nodes involvedMigration risks and impactWhat's worth to automateFuture benefits

Page 12: Raise the bar!

Infrastructure update

Harder and more dangerousProbably different OS to manageUndetermined existing setup proceduresManual configurations accumulated over time

Evaluate agent setup on older systems Evalutate effort and benefits, for edge cases

Evaluate the migration alternative for common cases

Page 13: Raise the bar!

Infrastructure update

We need a gradual approachDefine a minimal baseline to apply to all nodesBe careful of OS variations

Raise the Bar, step by step:Vertically: adding services to the minimal baseline Horizontally: covering more OS and adding nodes

Page 14: Raise the bar!

Priorities

Automate servers deployment (*)Automate common systems configurations (*)Automate your most important stacks (*) Refine testing and apps deploy, then automate (*)Automate or delegate monitoringIntegrate what already works well

(*) Time spent here is rarely wasted.

Page 15: Raise the bar!

Configurations Rollout

Notify users of the ongoing changesHave a test environmentTest effects on any single different OSPropagate the configurationsWatch logs and reports

Don't be surprised of skeletonsReview and patch uncovered configurations

Page 16: Raise the bar!

Mind-set change

When infrastructure is code:- you need to version it- you can test it- you use it (as many times as necessary)- you refine it over time- you, sysadm, are a developer

and you don't mess up with the runtime.

Page 17: Raise the bar!

Raise higher the bar

Useful Monitoring/Logging

Visualization and correlation of infrastructure data

Continuos delivery as frequent as you need

Improved stability, scalability, redundancy

... whatever makes your infrastructures smarter

Page 18: Raise the bar!

Now, RUN!

Automation means:- repeatability- consistency- scaling- reduced human errors- velocity

- more time to do interesting things

Page 19: Raise the bar!

smallsteps

and a vision

Thank you,@alvagante