Lono: The CloudFormation Framework

Building infrastructure as code is challenging. Lono makes it much easier and fun. It includes everything you need to develop and manage CloudFormation templates.

Learn More!

What Is Lono?


Lono is a CloudFormation framework tool that helps you build your CloudFormation templates and manage the entire CloudFormation stack lifecycle. It enables you to craft the templates and takes you all the way to the final infrastructure provisioning step.

Lono has been been successfully used to manage over hundreds of CloudFormation templates. It automates an otherwise painstakingly manual process of managing your CloudFormation workflow.

Overview

Commands are short and easy to learn


Commands

lono new infra
lono blueprints
lono generate
lono summary
lono cfn deploy
lono cfn preview
lono cfn delete

app/templates/demo.rb

description @description

parameter("KeyName")
parameter("InstanceType", "t3.micro")

mapping("AmiMap",
  "us-east-1": { Ami: "ami-0de53d8956e8dcf80" },
  "us-west-2": { Ami: "ami-061392db613a6357b" }
)

resource("Instance", "AWS::EC2::Instance",
  InstanceType: ref("InstanceType"),
  ImageId: find_in_map("AmiMap", ref("AWS::Region"), "Ami"),
  KeyName: ref("KeyName"),
)

output("Instance")

params/development.txt

KeyName=default-2018-03-18
InstanceType=t3.small

variables/development.rb

# variables are useful at the compile stage
@description = "Demo for #{Lono.env} environment"
# Another useful example could be @subnets
# @subnets = %w[subnet-111 subnet-222]

Lono Workflow

  • 1

    Generate Templates

    lono generate

    The first stage of lono is you crafting the CloudFormation templates. Once your templates are written you generate the templates with lono generate.

  • 2

    Specify Parameters

    lono param generate

    You then specify the desired parameters that you want the CloudFormation template to launch with. You do this with env-like params files. The format is easy on the eyes.

  • 3

    Launch the Stack

    lono cfn deploy

    Lono automatically generates scripts, templates and params files and launches the stack for you. Lono puts it all together and simplifies the ordinarily complicated multiple step manual process down to a single command!

  • Done

Learn More

Quick Start