HashiConf Trip Day 4 - Conference Day 2 - A Short Summary

I’m working on getting back in the saddle after a great week at HashiConf and a weekend away at Seaside on the Oregon Coast. With that, I haven’t had a lot of time to write up day 4, which involved a lot of great talks and conversations. Those topics will come up in some subsequent articles, in the meantime please enjoy these videos I made of my HashiConf Adventures.

more

12. September 2016

Autopilot Pattern Application Organization

Context: What is the Autopilot Pattern?

The autopilot pattern automates the lifecycle of each component of the application. Whether we architect our application as a single container, in tiers, or as microservices, each container that makes up the application has its own lifecycle, and its own set of actions that are necessary during that lifecycle. Each of these application components are often applications in themselves, like a database server, in-memory cache, or the reverse proxy that fronts our application, in addition to the Node.js, Python, Ruby, or other code that makes the set of components a complete application.

The only caveat I would add here is that containers are largely irrelevant as long as your infrastructure virtualization is programmatic controlled. Of course, hyper-visor based virtualization can be more troublesome or simplify things when building out infrastructure programmatically or from a configuration based perspective. Whatever the case, use what works for your situation. The larger point of all this is to automate things for consistency, reliability, and repeatability.

The way I have started to break out applications into the autopilot pattern is based on what I’ve dubbed three eras:

more

09. September 2016

HashiConf Trip Day 3 - Conference Day 1 - Presentation Time

Hallway Hacking

Day 3 of my trip, and day 1 of the conference kicked off calmly. I made a cup of coffee with my Aeropress & props to Aneel for planting the idea a bunch of months ago by showing me how he uses it.

more

08. September 2016

HashiConf Trip Day 2 - Part II - Reception and Speakers Dinner

Up the Hill

Before diving in to day 3 of my trip, I need to do justice to the awesome reception, speakers dinner, and conversations of the night before.

After arriving and synching up with Evan on our presentation, I wandered around the Meritage for a little while and just explored what was around. The resort had several bars, a bowling alley, coffee shop, and a host of other amenities along with their endless supply of wine. The views around the vineyard, up on the view point atop the hill next to the resort was very nice.

more

07. September 2016

HashiConf Trip Day 2 - A Bus Ride, Napa Valley City Center, Italian, Coffee, and Terraform Notes

Almost to Napa, but not yet. The train pulled in and I detrained. I will admit, I know of nothing about Martinez, California except for two things: It’s a stop on the way to Jack London Square (AKA Oakland) and thus San Francisco and it’s got a lot of knarly looking industrial plants spewing stuff into the air. Poisonous, I’ve no idea, but I know the one’s just west of the city (or town?) are. I enjoyed the ghost fleet at mooring, the sun rising from the east, and the smooth roll of the train. Now I was standing here ready to be on my way to Napa.

Napa Valley

more

06. September 2016

HashiConf Trip Day 1 - Coast Starlight and Terraform

This week, my trip to HashiConf kicked off officially at 2:25pm, when the Amtrak Coast Starlight departed Portland.

I had more than a few goals for the trip down to Napa Valley for HashiConf. By priority, the top 5 goals:

Gate 5
  1. Give a talk with Evan and respectively get a conversation started around organizing immutable infrastructure projects along the lines of 12-factor apps and the autopilot pattern.
  2. Meet as many of the HashiConf Team as I can.
  3. Make something like a documentary video short of the trip, the conference, and whatever else might be pertinent. It’s an experiment, it’ll work or it won’t.
  4. Blog the event. Maybe just a couple entries, or three, or more.
  5. Have a relaxing, chill, introspective, educational, and laid back trip while enjoying some wine at the Meritage (this is where the conference is being held).

more

05. September 2016

Generate or Regenerate gcloud ssh Keys - How Ya Linux Series - 0001

Sometimes while working with the various ssh keys you have you might need to regenerate them. Specifically I ran into this need while working with some Google Cloud Platform (GCP) instances with Terraform and GCP’s gcloud CLI tool. Generally, when you start working with the gcloud CLI it will, upon need if it doesn’t exist, create a key for you. When it does so it sticks the key it generates in the ~/.ssh/ directory and names the key google_compute_engine. To create a new ssh key pair here, navigate to the ~/.ssh/ directory and issue the following command.

sudo ssh-keygen -t rsa -f ~/.ssh/google_compute_engine -C you_fancy_username@whatever.com

Once that is command is executed, a few moments later and a few prompts later you’ll have a new key.

13:16 $ sudo ssh-keygen -t rsa -f ~/.ssh/google_compute_engine -C adron_hall@homedepot.comPassword:
Generating public/private rsa key pair.
/Users/axh6454/.ssh/google_compute_engine already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/axh6454/.ssh/google_compute_engine.
Your public key has been saved in /Users/axh6454/.ssh/google_compute_engine.pub.
The key fingerprint is:
SHA256:8xHVr19EdgPxLr2nWAkuZa8exMdEqbHNzoBxlHhFkZM adron_hall@ataplace.com
The key's randomart image is:
+---[RSA 2048]----+
|           ooBB= |
|          o.=.E.+|
|          .= *.*o|
|          .o+o= o|
|        S . *=o= |
|         o * +=.o|
|          o o +oo|
|           . = .o|
|           .+ .  |
+----[SHA256]-----+
✔ ~/.ssh
13:16 $

That’s it. Sort of. For GCP be sure to check out the docs on managing ssh keys. There are docs on gcloud compute config-ssh and Adding and Removing SSH keys.

26. August 2016

Visual Studio Code (an intro with snark!) and Hashicorp Configuration Language

I sat down to setup Visual Studio Code for some Go coding. That is, #golang or “golang” on Google, because heaven forbid a language is named something that isn’t ubiquitous like the word “go”. But anyway, I digress, because this blog entry isn’t even about golang. It’s about HCL. You see, I sat down to toy about with golang but then I had to knock out a few tasks with Terraform, Packer, and such. To do that I needed the HCL support that Visual Studio Code has. I knew there was a plugin for Hashicorp Configuration Language (i.e. HCL). So I decided to do that work in Visual Studio Code and try out the HCL Plugin. Maybe next blog entry I’ll get around to writing some golang in Visual Studio Code?

The Site

more

23. August 2016

DevOps Thoughts, Fixing Culture Roadblocks, and Cultural Anti-Pattern Practices

Artisanal

DevOps Days PDX just wrapped up and I’m at home, working remotely today, digging into some deployment work around building Elasticsearch Clusters for monitoring with Beats. It’s a tricky beast at this point but I’m getting all the nuances figured out.

I have a host of tools at my disposal that help tremendously with this endeavor. There is Packer, to help build the base images I need that have Elasticsearch, Beats, or whatever else needs to be on an image. There is Terraform that helps me to get the images deployed and start the final configuration process. Then there is the configuration process, which is a mix of bash, go, and other things to insure that the configuration of and services around Elasticsearch are started appropriately.

more

11. August 2016