Model-Driven Deployment : The Best Practice Successor to Virtual Appliances

Post on 12-Jun-2015

726 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Model-Driven Deployment: The Best Practice Successor to Virtual Appliances Presented by Standing Cloud CEO David Jilk at GlueCon2012

Transcript

Model-Driven DeploymentThe Best Practice Successor to Virtual Appliances

Dave JilkCEO, Standing Cloud, Inc.

May 24, 2012

AGENDA

1. What are Virtual Appliances and Models?2. Virtual Appliances are a Tar Pit of Despond3. Why Models will Rock your World4. Tools and Techniques for the Win

DEFINITIONSWhat are Virtual Appliances and Models?

1. What are Virtual Appliances and Models?2. Virtual Appliances are a Tar Pit of Despond3. Why Models will Rock your World4. Tools and Techniques for the Win

A Virtual Appliance is a

pre-configured bootable

disk image for an application or

stack

a.k.a.

Golden ImageSoftware Appliance

TemplateSnapshot

Amazon Machine Image (AMI)VMWare ESX Image

SysAdmin

configures

a serverby hand,

Saves a complete copy of the

drive to a file,

Which can be booted

as a virtual

machine.

Creating Virtual Appliances

This is much easier to test and

support than a software installer.

A Modelis a set of structured

procedures for automating

application or stack

management

Base O/S+

Deployment Script

+Scripts for backup and restore,

version upgrades, scaling, adding and removing services, porting, etc.

THE PROBLEMVirtual Appliances are a Tar Pit of Despond

1. What are Virtual Appliances and Models?2. Virtual Appliances are a Tar Pit of Despond3. Why Models will Rock your World4. Tools and Techniques for the Win

I got a girlfriend with bows in her hair

And nothing is better than that

Is it? Talking Heads

Let’s Talk About Combinatorics!

O/S versionsX

Stack configurationsX

Application versionsX

Virtualization environmentsX

Optional features

Makes a configurati

onchange,

And burns a

new golden image.

SysAdminboots

the golden image

as a VM,

Virtual Appliance Updates

Repeat

Like scanning a photo. Then scanning the scan. And so

on.

After a while, it’s

incomprehensible.

It’s OK, though.

Your SysAdmins document all their work.

But wait, that’s not all!A separate approach is required for

lifecycle management of the deployment.

Multi-server deployments require either manual control or an integration script.

Credentials must be baked into the virtual appliance, creating a security hole.

Creation of the virtual appliance is a bottleneck for system testing.

This worked in an era of static, snapshot stages

But in an agile, dynamic, devops world …

anachronisticunmanageable

bottleneck.

… virtual appliances are an

THE SOLUTIONWhy Models will Rock your World

1. What are Virtual Appliances and Models?2. Virtual Appliances are a Tar Pit of Despond3. Why Models will Rock your World4. Tools and Techniques for the Win

Models

Adopt two basic techniques from software development

Abstraction&

Modularization

if ($database == MYSQL)install_mysql($op_system)connect_php_to_mysql()

else if ($database == ORACLE)install_oracle($op_system)connect_php_to_oracle()

end

This is pseudo-code. The engineers don’t let me write real code any more. I’m not bitter.

Abstraction

Modularization

This solves the two biggest problems with virtual

appliances

Combinatoric Proliferation

Because the combinations are represented by parameters

Generational LossBecause scripts are self-

documenting

Model scripts are also

Small & DynamicWhich addresses all the other

problems with virtual appliances.

If you have the right tools.

THE TOOLSTools and Techniques for the Win

1. What are Virtual Appliances and Models?2. Virtual Appliances are a Tar Pit of Despond3. Why Models will Rock your World4. Tools and Techniques for the Win

Virtual Appliance Generators

This approach only addresses the documentation problem.

Configuration Management

Model Repositories

?

There is one relative

disadvantage of model-driven deployment.

Any ideas?

Provisioning Latency

This could be solved with a “burn image” API function

embedded into the IaaS orchestration layer.

It is still a manual operation on most public clouds.

top related