+ All Categories
Home > Technology > Configuration management state of the art

Configuration management state of the art

Date post: 10-May-2015
Category:
Upload: jean-parpaillon
View: 770 times
Download: 2 times
Share this document with a friend
Popular Tags:
45
State of the art from C. One - 1 State of the art from Compatible One Jean Parpaillon State of the art from Compatible One Jean Parpaillon
Transcript
Page 1: Configuration management state of the art

State of the art from C. One - 1

State of the art from Compatible OneJean Parpaillon

State of the art from Compatible OneJean Parpaillon

Page 2: Configuration management state of the art

State of the art from C. One - 2

The ProjectsThe Projects

Page 3: Configuration management state of the art

State of the art from C. One - 3

● CompatibleOne● « a meta-model derived from the concepts of Grid Computing of contracts for the supply of resources »

● « a free/open source reference Cloudware stack that can be freely installed on any server to supply, manage, control and exchange resources »

Page 4: Configuration management state of the art

State of the art from C. One - 4

● Sub-projects● Infrastructure as a Service● Platform as a Service● Security, QoS and Management

Page 5: Configuration management state of the art

State of the art from C. One - 5

● Aeolus● « developing theory and tools to automate deployment, reconfiguration, and upgrades of variable sized, non-homogeneous machine pools »

Page 6: Configuration management state of the art

State of the art from C. One - 6

DirectionsDirections

Page 7: Configuration management state of the art

State of the art from C. One - 7

● Requires● Cloud description model and language● Cloud modification request language● Low level deployment language

State 1 State 2

Page 8: Configuration management state of the art

State of the art from C. One - 8

Cloud description (1)

● Describing (virtual) hardware resources● Grid models

– Computing– Memory– Storage– Networking

● IaaS models– Grid +– Elasticity– Virtualization

Page 9: Configuration management state of the art

State of the art from C. One - 9

Cloud description (2)

● Software resources● Distribution packaging systems

– deb– Rpm– Etc.

● Software configurations● Configuration management tools

– Puppet, Chef, cfEngine

Page 10: Configuration management state of the art

State of the art from C. One - 10

Cloud description (3)

● Describing relations in distributed system● Not found...

Page 11: Configuration management state of the art

State of the art from C. One - 11

Modification request description (1)

● Modification of the system...● Virtual hardware● Packages● services

– cf cloud description

Page 12: Configuration management state of the art

State of the art from C. One - 12

Modification request description (2)

● ...with non-functional requirements● Costs, QoS, location, etc.● Need for limiting request 

– “I want my new cloud provider CEO to wear nice socks”● Look at existing:

– Ontologies: things and their relations– Taxonomies: hierarchical structures

Page 13: Configuration management state of the art

State of the art from C. One - 13

Low-level deployment language

● A minimum of abstraction:● Package management● Service management● Configuration management

● Dependancy handling● Distributed deployment of configuration

Page 14: Configuration management state of the art

State of the art from C. One - 14

Cloud modelsCloud models

Page 15: Configuration management state of the art

State of the art from C. One - 15

Cloud model : original stack

IaaS : Infrastructure (virtual) CPU, memory, network, etc.

PaaS : Platform Comprehensive API stacks

SaaS : Application Turnkey applications

Page 16: Configuration management state of the art

State of the art from C. One - 16

Cloud model : refined stack

Hardware Concrete hardware : CPU, harddisk, etc.

Virtualization Virtual hardware : Xen box, KVM box, etc.

Cloud Virtual datacenter : OpenStack, EC2, etc.

Accounting Accountable resources

Scheduling Resources requests

Platform Comprehensive APIs

Appliance (Distributed) application

Page 17: Configuration management state of the art

State of the art from C. One - 17

Cloud model : « everything is a process »

● « SlapOS: a Multi-purpose Distributed Cloud Operating System Based on an ERP Billing Model » http://www.slapos.org/slapos-Wiki.Home/slapos-Smets.Cerin.Courteaud.IEEECloudPerf2011

● Inspired from grid systems

Application

Resources description

SlapOS Process

Page 18: Configuration management state of the art

State of the art from C. One - 18

Cloud resources management systemsCloud resources management systems

Page 19: Configuration management state of the art

State of the art from C. One - 19

Cloud engines

● IaaS oriented● Deploying virtual machine images on allocated resources

● Storing and retrieving virtual images● Migrate vm from one hardware to another● One or several API: OCCI, EC2, native● No deal with packages, services, etc.

Page 20: Configuration management state of the art

State of the art from C. One - 20

OpenNebula – short story

● Started in 2005● First public release 2008, Apache License● Mostly from research projects● Recent commercial support (C12G)● Large existing deployments:

● CERN (http://blog.opennebula.org/?p=620)

Page 21: Configuration management state of the art

State of the art from C. One - 21

OpenNebula - features

● Manages all aspects of infrastructure● Users, images, hypervisors, network, storage● Scheduling: 

– Basic: CPU load, memory load, locality– Advanced: Haizea (http://haizea.cs.uchicago.edu/)

● Support public clouds API: OCCI, EC2● Included monitoring

Page 22: Configuration management state of the art

State of the art from C. One - 22

OpenStack – short story

● Started by 2010● FOSS alternative to Eucalyptus● Strong  community● Sponsored by the NASA● Aiming at scalability

●  1 million hosts, 60 millions guests● 100 PB / cluster● 100 000 requests/sec

Page 23: Configuration management state of the art

State of the art from C. One - 23

OpenStack - features

● Manages● Role Based Access Control● Hypervisors● Integrated storage (SWIFT)● Images repository and retrieval (GLANCE)

→ Promising but younger than OpenNebula

Page 24: Configuration management state of the art

State of the art from C. One - 24

SlapOS (1)

● Started late 2010● Developed by Nexedi● Provides

● Infrastructure: kvm, libcloud, etc.● Platform: Java, Python, *SQL servers, etc.● SaaS: wordpress, xwiki, ERP5

Page 25: Configuration management state of the art

State of the art from C. One - 25

SlapOS (2)

● Relies on: ● linux + libc● Buildout

● Efficiency: no virtualization● Application → /opt/<application>● Process is managed through supervisord

Page 26: Configuration management state of the art

State of the art from C. One - 26

Resources descriptions models and languages

Resources descriptions models and languages

Page 27: Configuration management state of the art

State of the art from C. One - 27

OCCI – short story

● “The Open Cloud Computing Interface (OCCI) is a RESTful Protocol and API for all kinds of Management tasks”

● Started March 2009● Today 250 members from industry, academia and research

Page 28: Configuration management state of the art

State of the art from C. One - 28

OCCI - features

● Aiming at:● Interoperability● Integration with IaaS, PaaS, SaaS● Extensibility

● Parts implemented in:● OpenStack, OpenNebula, etc.● http://occi-wg.org/community/implementations/

● No reference implementation● Current specifications mostly concerns IaaS

Page 29: Configuration management state of the art

State of the art from C. One - 29

Cloud resources taxonomy

● Proposed by SlapOS project● http://www.slapos.org/P-VIFIB-Default.Category.Configuration/view

● Covers● Infrastructure (CPU, memory, storage, etc,)● Countries, skills, functions, etc.

● To be completed in CompatibleOne project

Page 30: Configuration management state of the art

State of the art from C. One - 30

SNMP

● Mature taxonomy (first RFC: 1988)● IETF + IANA = 317 MIB modules

● Describes● Network systems (legacy use)● Complex computing systems

– Web servers– Software and hardware resources

● Still evolving: LIBVIRT-MIB

Page 31: Configuration management state of the art

State of the art from C. One - 31

Configuration management toolsConfiguration management tools

Page 32: Configuration management state of the art

State of the art from C. One - 32

Classification

● Configuration files abstraction:● 'Sed ...' vs 'set(file, section, key, value)' ?

● Distribution abstraction:● Packages manager, services start/stop

→ Declarative vs imperative language● Dependancy handling

● 'make world' vs 'make earth wind fire'

● Distributed configuration

Page 33: Configuration management state of the art

State of the art from C. One - 33

Augeas

● Not a configuration management tool :)● Abstract configuration storage:

● Config → tree of key=value

● API: C, CLI, Python, Ruby, Haskell, Java, …● Repository of parsers : xorg, sshd, mysql, ...

Page 34: Configuration management state of the art

State of the art from C. One - 34

CfEngine (1) 

● Grandfather of config mgmt tools (1993)● Version 3.0.2, June 2010● Based on “promises”:

● Describe desired state to reach● Domain Specific Language

● Low CPU and memory footprint

Page 35: Configuration management state of the art

State of the art from C. One - 35

CfEngine (2)

● Decentralized architecture● Agents pull config and try to reach promises● Asynchronous execution

● Graph-ordering model

Page 36: Configuration management state of the art

State of the art from C. One - 36

Puppet (1)

● First release 2005● Written in Ruby● Large community and commercial support● Architecture:

● Declarative DSL● Client-Server model● REST API

Page 37: Configuration management state of the art

State of the art from C. One - 37

Puppet (2)

● Integrates:● Modules repository (retrieving and submission)● Augeas (config file abstraction)● Resources abstraction: user, package, service,...

● Performances / cfEngine● Dependancy handling● Graph-ordering model

Page 38: Configuration management state of the art

State of the art from C. One - 38

Chef (1)

● Inspired by Puppet● First release 2009● Written in Ruby● Architecture:

● Client-server● Rely on HTTP server

Page 39: Configuration management state of the art

State of the art from C. One - 39

Chef (2)

● Convention based● File names, dir names

● Recipes in pure Ruby● Already large repository of recipes● Procedural ordering model

Page 40: Configuration management state of the art

State of the art from C. One - 40

bcfg2

● First release in 2004● Written in Python● Declarative configuration description in XML● Specificity: reporting system

● Check the configuration correctness● Report differences  between client state and config● Dry-run mode

Page 41: Configuration management state of the art

State of the art from C. One - 41

Buildout

● Build system● Written in Python● Designed for Python but not only

● cf SlapOS

Page 42: Configuration management state of the art

State of the art from C. One - 42

GNU make

● Build system● Well-known● Lightweight● Relies on external tools for abstraction

● Packages, users, services, etc.

Page 43: Configuration management state of the art

State of the art from C. One - 43

ConclusionConclusion

Page 44: Configuration management state of the art

State of the art from C. One - 44

Cloud modeling

● Well known objects: ● virtual CPUs, memory, packages...

● ...and some other not:● User requests● Services

Page 45: Configuration management state of the art

State of the art from C. One - 45

Thank you !Thank you !


Recommended