Finding the Future on a Toy Cloud

The Use Case

  • Disposable
  • Portable
  • Usable

Open Source

End to end examples of DevOps code are hard to find.

 

DevOps engineers will write the same code again and again.

 

Technology decisions could be simpler if we knew some basic integrations up front. 

Security

DevOps code is often surpressed out of security concerns. 

 

Third party security providers have a niche because they allow customers to offload liability. 

 

It's still smart to have open source security options; the learning is the ROI. 

Code Quality

  • Is the infrastructure tested?
  • Is it debuggable?
  • Is it navigable?
  • Can you iterate?
  • Is it teachable and learnable?

The reason to encode infrastructure is control.

Attention to the primary encoding of infrastructure can make it easier to iterate.

DevOps Code Basics

Engines

Frameworks, standards, design patterns, IDEs have made application development easier. 
But DevOps engineers still keep everything in their heads. 

Repair Driven System Design

Think of a cloud as a meta filesystem. All of the services and applications are part of your project. Ouch!

Semantic Infrastructure

Usability

Human centered design means something different if you spend all day on the command line, but it still applies to cloud.

 

A usable cloud is has errors that tell you where to find the code in the metasystem. 

 

A usable cloud has easy dependency checking. It has tests and you can run them. 

Security and Performance

I want them to make my dashboards, too.

Dependencies

Let's say application dependencies are packages and source. 

 

Service dependencies are external to the application: an application needs a database.

 

Bootscripts and custom resources are also service dependencies. 

Fighting a Ground War

We may take it then that an army without its baggage train is lost; without provisions it is lost; without bases of supply it is lost.  - Sun Tzu

 

Understand your dependency chain for sane project management. 

Me Time for DevOps 

Share daily builds and git automation at the beginning of the project. 

 

Automate credentials at the outset: the first thing to the cloud is the DevOps team. 

Many things conspire against code quality in DevOps. 

MOAR TOYS!!!

It's not throwaway work. 

If you build a toy cloud, you'll use it for testing, development, and unscheduled capacity. 

 

You can prototype infrastructure and iterate on complex structures. Understand your dependencies, and have a sane upgrade strategy. 

Thank You

Feel free to continue the conversation!

ellenm@prime8consulting.com

Ele Munjeli on LinkedIn

munjeli on Github

toy-cloud

By Ele Munjeli

toy-cloud

The slide deck for Finding the Future on a Toy Cloud

  • 428