Raise the bar! Reloaded

  • View
    1.250

  • Download
    0

  • Category

    Internet

Preview:

Citation preview

Raise the Bar!

Alessandro Franceschi CodeMotion 2014 Milan

A journey towardsinfrastructure automation

Reloaded

License: Creative Commons 3.0 by-nc-sa

Alessandro Franceschi @alvagante github.com/alvagante www.example42.com

they tell about infrastructures

like this

but some infrastructures

look more like this...

we are probably

somewhere in the middle

What can we do?

Hold on.Where are we?

Look around.Choose a path.

Move. Step by step.

Where are we?

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

Learn from failure. Learn from success!

Choose a Path

Analyse and evaluate solutions Share vision and goals Draw a general roadmap Be ready for corrections

Choose the automation tools: - Configuration Management - Applications Deployment - Continuous Integration - Infrastructure Awareness

Step by StepGet guidance from expertsTrain the team on the jobDo or Know It YourselfPrioritise time saversBuild things to be reused Communicate, always Test, act, verify. Reiterate.

Step the dots, then connect them

Scenarios

nil => NEWBrand new project

OLD => NEW

Infrastructure migration

OLD => OLDInfrastructure update

Brand New Project

Faster and easier Freedom on technical choicesStandard and updated OS Modern architecture No mess with production

Infrastructure Migration

New systems replace existing ones Gradual migration of services Start from what is most needed New setups should be automated

Infrastructure update

Harder and more dangerous Probably different OS to manage Undetermined existing setup procedures Manual configurations accumulated over time

Evaluate agent setup on older systems Evaluate effort and benefits, for edge casesEvaluate the migration alternative

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: add services to the minimal baseline Horizontally: cover more OS and add nodes

Mind the steps

How easy and quickly can be done How stable are systems What maintenance efforts they require Number of nodes involvedMigration risks and impactWhat's worth to automate Future benefits

Priorities

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

(*) Time spent here is rarely wasted.

Application Deployments

Use the tool you prefer (Capistrano, Fabric, Puppi, OS packages, scripts…)

Be able to run it unattended

Configure it via CM

Run it in via local CLI, CI pipelines, cronjobs, orchestration engines…

YMMV

Rollouts

Notify and communicateHave some way to test what you change Control the propagation of rolloutsWatch logs, monitors and reports

During migrations don't be surprised of skeletons

CI and OrchestrationPut together your steps: configuration, testing and deployment

Be in control

Refine over time

ChatOps

Infrastructure Awareness

Monitoring of systems and business metrics Logs trending and analysisData Visualisation and correlation Proactive Security Smart infrastructure

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.

Now, RUN!Automation means: - repeatability - consistency - scaling - reduced human errors - velocity - more time to do interesting things

small steps

and a vision Thank you, @alvagante

Recommended