AMP Basics: Test

This module recaps some of the concepts we introduced earlier - and tests your knowledge.

An introduction to AMP

What is AMP?

AMP is an application management platform

that provides cloud agility and governance

without losing control

What if you could…

What are Blueprints?

A central concept in AMP is that of a blueprint

 

Blueprints are descriptors or patterns which describe how Cloudsoft AMP should deploy applications

What are Entities?

An entity is AMP’s representation of a software package or service which it can control or interact with

 

A blueprint is comprised of one or more entities

What does AMP do – and how?

Autonomic Management

live model of runtime application topology

sensors (metrics) on each entity

effectors (operations) on each entity

policies (management logic) on each entity

Logical architecture

This very simple overview illustrates how your applications are 'blueprinted', deployed, monitored and managed in any location by Cloudsoft AMP.

Tell me more about blueprints

  • A blueprint defines an application, using a YAML syntax
  • A basic blueprint comprises a simple application
    • e.g. a web-application server running a WAR file plus a data store
  • Lets you deploy it to infrastructure
  • Connects all the different components of an application
    • e.g. so the web application knows where the database is

What are Sensors?

Sensors are properties which show the state of an entity - providing a real-time picture of an entity within an application

 

What are Effectors?

Effectors expose the operations you can perform (manually or programmatically) on your application and it’s components

What are the basic concepts of AMP?

  • Effector
    Expose the operations you can perform (manually or programmatically) on your application and it’s components
  • Sensor
    Properties which show the state of an entity - providing a real-time picture of an entity within an application
  • Blueprint
    Descriptors which describe how Cloudsoft AMP should deploy applications
  • Entity
    AMP’s representation of a software package or service which it can control or interact with

An introduction to YAML

Why do you need to know YAML?

  • YAML is a key component of AMP
  • It is the language used to create blueprints
  • It can be used as the glue to connect existing blueprints whether written in YAML or Java

What is YAML?

  • YAML: YAML Ain't Markup Language
  • YAML is a human friendly data serialization standard for all programming languages
  • Its familiar indented outline and lean appearance make it especially suited for tasks where humans are likely to view or edit data structures, such as configuration files.

 

Why YAML?

  • The design goals for YAML are:
    • is easily readable by humans
    • data is portable between programming languages
    • YAML matches the native data structures of agile languages
    • has a consistent model to support generic tools
    • is expressive and extensible
    • is easy to implement and use

 

 

Common YAML mistakes

Only spaces, no tabs

  • The indentations in a YAML configuration are done by using the space key and not the Tab key
  • Any indentation made by using the Tab key will result in errors

Indentations

  • Indentations are extremely important in YAML configuration
  • You must indent your properties and lists with 1 or more spaces

 

YAML Recommended

  • The recommended way to write a blueprint is as a YAML file
  • This is true both for building an application out of existing blueprints, and for building new integrations
  • The use of Java is reserved for those use-cases where the provisioning or configuration logic is very complicated

YAML Editor

  • YAML files can be edited in any editor (even Notepad)
  • The editor you use is personal preference
  • It is recommended you use a YAML-aware editor
    • Colour-coding
    • Auto-complete (limited)
    • Can collapse/expand sections
  • Some options:

 

How do you create a blueprint?

  • AMP Blueprints can only be written in YAML
  • AMP Blueprints can only be written in Java
  • AMP Blueprints can be written in YAML or Java
  • AMP Blueprints can be written in JAML

Wrap up!

Thank you

You're done!

www.cloudsoft.io