2. Agenda
• Declarative modeling
• Service definition language
• Real-World scenario
• Template structure
• Conceptual service models
• Service definition details
• Create the stack!! – (Live demo)
3. Declarative Approach
• You describe what should be accomplished
and NOT how to get there
• The service figures out the detailed steps to
make it happen
5. Just enough YAML
• List items using ( “- ” ) or [ ]
• Key-Value mappings using
(“: ”) or { key: value }
• Uses indentation with spaces to define scope
6. Scenario
• A company has deployed OpenStack with
Orchestration (Heat)
• Wants to simplify application deployment
7. Two Key Requirements
• Create a repeatable infrastructure
configuration
• Create unique instantiations of the
configuration in a predictable manner
8. From Requirements to Concepts
Repeatable
infrastructure
configuration
YAML
TEMPLATE
SPECIFICATION
Unique
instantiation of
the configuration
STACK
SET OF RESOURCES
CREATED AND MANAGED
AS ONE UNIT
9. Service Description
• An IGW
• Two inside networks
and subnets
• Router interface on
both inside subnets
• Instance
• Volume
• Volume Attachment
Run Time
Parameters
• Network
Names
• Subnet
CidrBlocks
• SSH Key
• Image
• Flavor
• Volume Size
• VM Network
IGW
Inside networks
External network
Instance
Volume
Virtual Private
Cloud
(VPC)
Instance + Volume
(myApp)
component1
component2
15. Demo
Create VPC
[Deploy vpc.yaml]
Create another VPC
[Deploy vpc.yaml with different parameter values]
Deploy App (VM + Volume) to the VPC
[Deploy app.yaml]
STEP1
STEP2
STEP3
16. Thank You
All yaml files, local.conf (to create devstack) and this
deck are available for download at:
https://goo.gl/Hjw0pr
Editor's Notes
Define a modular infrastructure service using YAML (Modeling language)
Deploy the each of the modules using Heat
Create repeatable infrastructure for various types of applications
Being able to create multiple unique instantiations of the specification
Create unique instantiations in a predictable manner.