Agile Cloud Institute

Cross-Functional Architecture And Tools For Cloud-Based Operating Models

Set Up Easy Multi-Cloud Appliance Development Platform

You can easily set up a powerful multi-cloud appliance development platform by starting with the free example appliances and documentation available at AgileCloudInstitute.io .

This article is divided into the following four sections for easier reading.

SECTION ONE: Enterprise-Level View

An enterprise-level view of the development platform is given in the video in the Governance, Security, and Compliance section of our “Architecting The Agile Enterprise” white paper.

You can learn about the enterprise-level view of the development platform by watching that video.

SECTION TWO: Developer-Level View

A developer-level view of the same components of the development platform can be seen in Figure 1 as follows.

DevEnviron1

Looking at Figure 1, you can see that a developer uses a DevBox to interact with three major types of tools, including a project management tool, a code repository tool, and a pipeline tool.

Four Levels Of Programming Model
The four levels of the Agile Cloud Manager’s programming model are labeled A, B, C, & D in the project management tool and code repository tool sections of the diagram. Because your project management tool and your code repository tool are where these 4 levels of the programming model need to be embedded in your dev platform. A brief description of each level of programming is as follows:

A. Pipeline Scripts. These use the Agile Cloud Manager’s CLI to operate on appliances.
B. Appliance Templates: These identify which systems will be included in an appliance.
C. System Templates: These model systems in order to make it easier to reuse and manage your basic building blocks.
D. Basic Building Blocks: These are the templates that you already have, written with tools like CloudFormation, Terraform, Azure Resource Manager ARM, Packer, etc.

The free example appliances give you a working starting point for all 4 levels of the programming model, so all you have to do is lift-and-shift the working examples into your own repositories.

What The Pipeline Tool Does
Your pipeline tool will be what actually fetches and runs the Agile Cloud Manager’s executable.

You can use any pipeline tool, including Jenkins, GitLab, Azure DevOps, Bamboo, GitHub, or others.

Your pipeline tool’s agents will:

Integration With Project Management Tool
The simplicity of the Agile Cloud Manager’s CLI commands means that each release run can be defined in terms of a short number of commands which together comprise a meaningful operation to be tracked.

For example, a pipeline script could be as simple as:

acm setup on sourceRepo=https://github.com/AgileCloudInstitute/acm-demo-cloudformation.git  
acm appliance on  

These meaningful operations can be integrated with work items in your project management tool and with commits in your code repository tool.

Your pre-existing integrations of your project management tool, your code repository tool, and your pipeline tool are all that are required.

SECTION THREE: Steps To Implement

Working examples at AgileCloudInstitute.io make it very easy to implement this development platform quickly, using the steps illustrated in Figure 2.

DevEnviron2

Public Examples
First, you start by getting at least one of the example appliances running in a DevBox by following the instructions in the Marketplace.

Make Local Copies
Second, after you have done the hands-on training using the public examples, an interim step is to migrate the example appliances into your own platform.

This means creating your own copies of the example appliances in your own repositories. The repositories that you need to copy include:

Appliance-Level
acm-demo-lake-formation
acm-demo-cloudformation
acm-demo-arm
acm-demo-terraform-packer
acm-demo-custom-api

System-Level
acm-system-templates

Building-Block-Level
aws-building-blocks
azure-building-blocks

Custom-Controller Example
acm-custom-controller-api

Then generate your own keys and config on your own DevBox using your own local installations of the Azure CLI and the AWS CLI.

At this point, you will no longer need to use cloud shell to manage your keys and config.

And finally, experiment with basic CLI commands to establish that you can do all the expected operations working with your own repositories.

SECTION FOUR: Projects For Proofs Of Concept POCs And Migrations

Third, you will be ready to create your own projects to begin a Proof of Concept POC and then a migration of more of your systems into the Agile Cloud Manager.

An engineer can begin by simply replacing some of the pointers in the example system templates to your own basic building blocks instead of to the example basic building blocks, and then running simple CLI commands to confirm that everything works with your systems.

Your IT leadership can plan the governance and migration using the examples at this page in the documentation.