Scott Lowe

Author Archives: Scott Lowe

Technology Short Take #87

Welcome to Technology Short Take #87! I have a mix of newer and older items for you this time around. While I’m a bit short on links in some areas, hopefully this is outweighed by some good content in other areas. Here’s hoping you find something useful!

Networking

  • Vincent Bernat has a really in-depth article on IPv4 route lookup on Linux (and one on IPv6 route lookup as well).
  • Ivan Pepelnjak has a great article that tries to get to the kernel of truth in the middle of the intent-based networking hype.
  • Jason Edelman of Network2Code also has a post on intent-based network automation with Ansible, in which he breaks down the idea of intent-based networking (IBN) and how tools such as Ansible or NAPALM can make it possible.
  • From the Department of “Sitting in my Inbox for Way Too Long”, I wanted to point out a company that I ran into back in May of this year at the OpenStack Summit in Boston. The company is VirTool Networks (catchy, eh?), and their product (VirTool Network Analyzer) is aimed at providing some operational visibility into OpenStack virtual networks. I saw a demo of the product—it looks quite handy, Continue reading

Some Static Site Resources

Over the last few days—prompted perhaps by my article with some additional information on my site migration—a few folks in the community have reached out to me to share some resources they thought I might find useful. In turn, I’d like to share them with you, my readers, in the event you might find them useful as well.

This is (clearly and obviously) not a comprehensive list, but here’s what folks have shared with me over the last few days:

  • Josh Habdas shared this link with me; it’s a write-up he did that involves the use of a Ruby-based tool called s3_website. The main problem I have with this write-up is that it hides too many of the details, preventing (in my opinion) some of the valuable learning that can come from such an effort.
  • This article by Ricardo Feliciano of CircleCI does expose some of the gory details, and might be useful for those considering the inclusion of a CI/CD pipeline in their blogging workflow (like I am).
  • Finally, I found this post describing how to build a multi-region S3+CloudFront setup that would protect your site in the event of a single S3 region being unavailable.

I’ll update this Continue reading

HashiConf 2017 Wrap Up

HashiConf 2017 is a wrap for me, and as I’m sitting here at the airport lounge in Austin I’d thought I’d post links back to the liveblogs I published as well as a few thoughts on the conference overall.

Liveblogs

First, here are links to the liveblogs published during the event:

Closing Thoughts

I think it was a pretty good event. The venue (JW Marriott in Austin) seemed roughly appropriate for the number of attendees (around 800, I believe), although some additional seating during meal times would have been a good idea. The conference Wi-Fi was mostly OK, though it had its moments.

The quality of sessions varied; some sessions were very good; others, not so much (unfortunately). It would have been good to see a clearer breakdown of the sessions according to area/theme. They had 3 content tracks, but it wasn’t really clear to me if the tracks had any central theme. I, personally, bounced around all three tracks.

I did like the inclusion of high-top tables at the Continue reading

Liveblog: Cloud Native Infrastructure

This is a liveblog of the HashiConf 2017 session titled “Cloud Native Infrastructure.” The speaker is Kris Nova, a Senior Developer Advocate at Microsoft. Kris, along with Justin Garrison, authored the O’Reilly Cloud Native Infrastructure book (more information here). As one of the last sessions (if not the last session) I’ll be able to attend, I’m looking forward to this session.

Kris is a self-confessed Linux lover, loves writing in Golang, is a Kubernetes maintainer, and works on Azure at Microsoft.

So, what is “cloud-native infrastructure”? To answer that, Nova first tries to answer “what is a cloud?” Nova breezes by that definition without going into any real detail (or any real definition), and proceeds to talk about what infrastructure is. Again, Nova breezes by that without providing any real definition or depth, and proceeds to ask “Why is infrastructure better in the cloud?” According to Nova, infrastructure is better in the cloud because management can be as simple as an HTTP request. The next few slides in Nova’s presentation compare the “traditional” ways of managing infrastructure (provisioning switches, patching cables, troubleshooting problems) are now, when infrastructure is in the cloud, as simple as a series Continue reading

HashiConf 2017 Day 2 Keynote

This is a liveblog of the day 2 keynote (general session) at HashiConf 2017 in Austin, TX. Speakers today will (apparently, based on the schedule) include someone from Amazon Web Services and Kelsey Hightower from Google.

The keynote starts off with a photo montage of attendees, sessions, and speakers from the previous day, focusing mostly on the evening party (a pretty traditional thing for most conferences). The photo montage is followed by a gentleman (he doesn’t identify himself) who kicks off the keynote by bringing out Seth Vargo, Director of Technical Advocacy at HashiCorp.

Vargo’s presentation is titled “The Ecological Impact of Compute,” and discusses the environmental impact of cloud computing and the pervasive use of computing/compute power around the world. Vargo presents statistics that show on-premises data centers actually consume more electricity than the mega-scale cloud providers, and that getting these people onto a cloud provider would actually reduce overall power consumption (and, by extension, environmental impacts related to power consumption). Toward the end of Vargo’s presentation, it starts to feel more like a sales pitch for Nomad couched in environmental awareness.

At this point, Vargo introduces Kelsey Hightower, Senior Developer Advocate from Google. Hightower’s talk is about “Hashinetes,” Continue reading

Liveblog: Terraform Abstractions for Safety and Power

This is a liveblog for the HashiConf 2017 session titled “Terraform Abstractions for Safety and Power.” The speaker is Calvin French-Owen, Founder and co-CTO at Segment.

French-Owen starts by describing Segment, and providing a quick overview of Segment’s use of Terraform. Segment is all on AWS, and is leveraging ECS (Elastic Container Service) to schedule containers. Segment’s journey with Terraform started about 2.5 years ago. They now have 30-50 developers interacting with Terraform weekly, and Terraform is managing tens of thousands of AWS resources.

Digging into the meat of the presentation, French-Owens starts by answering the question, “Why is safety such a big deal?” There’s more to the puzzle than just preventing downtime. To illustrate that point, French-Owens shares some conclusions from an academic paper that explores why developers choose software programs. It turns out that to scale adoption, you must reduce the risk of adoption (developers avoid programs based on risk).

Naturally, French-Owens talks about how Terraform can “feel scary” since it’s so easy to destroy a bunch of infrastructure with only terraform destroy.

Before moving into a discussion on how to make Terraform feel less scary, French-Owens first covers some “Terraform nouns” (HCL, HashiCorp Configuration Continue reading

Liveblog: Journey to the Cloud with Packer and Terraform

This is a liveblog of the HashiConf 2017 breakout session titled “Journey to the Cloud with Packer and Terraform,” presented by Nadeem Ahmad, a senior software developer at Box.

Ahmad starts with a quick review of Box, but (thankfully) transitions quickly to his particular team at Box (the Productivity Engineering team). His team’s customers are the software developers at Box, and it’s his team’s job to help make them more productive and efficient. One of the tools that Ahmad’s team built was a tool called Cluster Runner, which is intended to streamline running unit and integration tests on the code the developers were writing.

This brings Ahmad to the crux of this presentation, which is telling the story of how Box went from a bare-metal environment to a cloud-based architecture. The purpose of this migration was to address some of the limitations of their bare-metal environment (inelastic, divergent host configurations over time, etc.). Box leveraged Platform9 to build an OpenStack-based private cloud, with the intent of switching to AWS, GCP, or Azure in the future as private cloud resources aged out.

Ahmad next goes into why Box selected the process they did; they wanted to move away from configuration Continue reading

HashiConf 2017 Day 1 Keynote

This is a liveblog from the day 1 keynote (general session) at HashiConf 2017 in Austin, TX. I’m attending HashiConf this year as an “ordinary attendee” (not working or speaking), and so I’m looking forward to being able to actually sit in on sessions for a change.

At 9:43am, the keynote kicks off with someone (I don’t know who, he doesn’t identify himself) who provides some logistics about the event, the Wi-Fi, asking attendees to tweet, etc. After a couple minutes, he brings out Mitchell Hashimoto, Founder and co-CTO of HashiCorp, onto the stage.

Hashimoto starts out his talk by reviewing a bit of the history and growth of both HashiConf (and, indirectly, HashiCorp). Last year, HashiCorp has grown from about 50 employees to now over 130 employees. HashiCorp has also seen significant community growth, Hashimoto says, and he reviews the growth in in the use of HashiCorp’s products (Vagrant, Packer, Terraform, Vault, Consul, and Nomad). Hashimoto also reviews the growth in their commercial products (Consul Enterprise, Vault Enterprise, and Terraform Enterprise). Hashimoto also discusses HashiCorp’s commitment to open source software and the desire to properly balance commercial (paid) products versus free (open source) projects.

Hashimoto now transitions his discussion Continue reading

New Website Features

One of the reasons I migrated this site to Hugo a little over a month ago was that Hugo offered the ability to do things with the site that I couldn’t (easily) do with Jekyll (via GitHub Pages). Over the last few days, I’ve taken advantage of Hugo’s flexibility to add a couple new features to the site.

New functionality that I’ve added includes:

  1. Category- and tag-specific RSS feeds: Hugo can easily generate category- and tag-specific RSS feeds, enabling readers to subscribe to the RSS feed for a particular category or tag. On the taxonomy list pages—these are the pages that list all the posts found in a particular category or tag—there’s now a small link to the RSS feed for that specific category or tag. (As an example, checkout the list of posts in the “General” category.)

  2. (Truly) Related posts: The “Related Posts” section at the bottom of posts has returned, thanks to new functionality found in Hugo 0.27 (functionality that was, apparently, inspired in part by my experiences—see the docs page). This section lists 3 posts that are considered by Hugo to be related, based on the category and tags assigned to the posts.

It’s Continue reading

Some Q&A About the Migration to Hugo

As you may already know, I recently completed the migration of this site from GitHub Pages (generated using Jekyll) to S3/CloudFront and Hugo for static site generation. Since then, I’ve talked with a few readers who had additional questions about the site migration. I thought others might have the same questions, so I decided to gather the most common questions here and share the answers with everyone.

(For those who need a quick primer on how the site is set up/served, refer to this post.)

I’ll structure the rest of this post in a “question-and-answer” format.

Q: Why migrate away from Jekyll?

A: Some of this is tied up with GitHub Pages (see the next question), but the key things that drove me away were very slow build times (in excess of five minutes), limited troubleshooting, dealing with Ruby dependencies in order to run local Jekyll builds (needed to help with troubleshooting), and limited functionality (due in part to GitHub Pages’ restrictive support for plugins).

Q: Why migrate away from GitHub Pages?

A: If you’re happy with Jekyll (and it’s a fine static site generator for lots of folks), having it integrated on the backend with GitHub Pages Continue reading

Using Keybase with GPG on macOS

During my too-brief stint using Fedora Linux as my primary laptop OS (see here for some details), I became attached to using GPG (GNU Privacy Guard)—in conjunction with Keybase—for signing Git commits and signing e-mail messages. Upon moving back to macOS, I found that I needed to set this configuration back up again, and so I thought I’d document it here in case others find it useful.

I’m making a couple assumptions here:

  1. First, I’m assuming you’ve already signed up for Keybase, generated your proofs, installed the app (this provides the keybase CLI tool), and created a PGP key using Keybase. (Hard-core PGP/GPG users will probably prefer to create their key outside of Keybase and import it, but then again they aren’t necessarily the target audience for this article either.)

  2. Second, I’m assuming you’ve already installed GPG on your Mac, typically via something like GPG Tools.

With those assumptions in mind, let’s assume that you’d like to be able to use the PGP key generated by/stored in Keybase with something like GPGMail. Here are the steps you’d need to follow to do that:

  1. First, you’ll need to export the PGP public key out of Keybase and into Continue reading

A Brief Look at VMware’s Three Cloud Approaches

I’m at VMworld 2017 this week (obviously, based on my tweets and blog posts), and in the general sessions Monday and yesterday VMware made a big deal about how VMware is approaching cloud computing and cloud services. However, as I’ve been talking to other attendees, it’s become clear to me that many people don’t understand the three-pronged approach VMware is taking.

I should start out by saying that this post hasn’t been officially reviewed by VMware (none of my stuff is) and may not align with the “approved” marketing approach, so keep that in mind. This is just me speaking.

As I see it, the three cloud approaches are as follows:

  1. Private cloud
  2. VMware Cloud on AWS
  3. VMware Cloud Services for native cloud workloads

The first option (private cloud) is, I think, pretty much self-explanatory. VMware is offering VMware Cloud Foundation to help streamline some of the infrastructure management in this space, and then the VMware SDDC stack (vSphere, vSAN, and NSX) are layered on top. Couple that with a cloud management platform/automation platform such as OpenStack (VIO would be a good option) or vRealize Automation, and you have a private cloud. (I’m glossing over a few details, but you Continue reading

Liveblog: VMworld 2017 Day 2 Keynote

This is a liveblog of the day 2 keynote at VMworld 2017 in Las Vegas, NV. Unlike yesterday, I wasn’t accosted by the local facilities team trying to get a seat at a table in the bloggers/press/analyst area, so that’s an improvement over yesterday. While I’m aware of (most, if not all, of) the announcements that will be made today, I’m still looking forward to the keynote.

Promptly at 9am, Pat Gelsinger takes the stage to kick off the day 2 keynote. He quickly recaps yesterday’s announcements and activities, and then rapidly dives into day 2. First up is a “fireside chat” with Michael Dell.

Gelsinger brings Dell onto the stage and they dive into a number of questions submitted by folks.

  • Gelsinger fields the first question, which is regarding VMware support. He calls on customers to be sure to let VMware know if support, services, products, etc., don’t meet their expectations. Gelsinger refers back to Skyline, which was brushed off yesterday, as a key component of improving VMware’s support mechanisms.
  • Dell leads off the discussion on a question regarding quantum computing, artificial intelligence (AI) and machine learning (ML), and other forward-looking efforts. Naturally, he positions his company (Dell Continue reading

Liveblog: VMworld 2017 Day 1 Keynote

This is a liveblog of the day 1 keynote at VMworld 2017 in Las Vegas, NV. There was a bit of a kerfluffle regarding seating (the local facilities staff didn’t want to let me sit in the bloggers’ area because “you’re not a blogger”), but I managed to snag a seat anyway.

Prior to the keynote, a number of announcements were released; here’s a quick look at a few of them:

Pat Gelsinger takes the stage at about 9:05am, after a very cool AR/VR demo. Gelsinger welcomes the crowd, and takes a minute to reflect upon his time at CEO of VMware. Gelsinger also takes a moment to talk about the devastation caused by Hurricane Harvey, and urges attendees to help support the recovery of that effort.

Gelsinger talks how “science fiction” is becoming “science fact”: exoskeletons, teleportation, and genetically modified organisms via CRISPR. Continue reading

Technology Short Take #86

Welcome to Technology Short Take #86, the latest collection of links, articles, and posts from around the web, focused on major data center technology areas. Enjoy!

Networking

Quick Reference to Common AWS CLI Commands

This post provides an extremely basic “quick reference” to some commonly-used AWS CLI commands. It’s not intended to be a deep dive, nor is it intended to serve as any sort of comprehensive reference (the AWS CLI docs nicely fill that need).

This post does make a couple of important assumptions:

  1. This post assumes you already have a basic understanding of the key AWS concepts and terminology, and therefore doesn’t provide any definitions or explanations of these concepts.

  2. This post assumes the AWS CLI is configured to output in JSON. (If you’re not familiar with JSON, see this introductory article.) If you’ve configured your AWS CLI installation to output in plain text, then you’ll need to adjust these commands accordingly.

I’ll update this post over time to add more “commonly-used” commands, since each reader’s definition of “commonly used” may be different based on the AWS services consumed.

To list SSH keypairs in your default region:

aws ec2 describe-key-pairs

To use jq to grab the name of the first SSH keypair returned:

aws ec2 describe-key-pairs | jq -r '.KeyPairs[0].KeyName'

To store the name of the first SSH keypair returned in a variable for use in later commands:

KEY_NAME=$(aws  Continue reading

Using ODrive for Cloud Storage on Linux

A few months ago, I stumbled across a service called ODrive (“Oh” Drive) that allows you to combine multiple cloud storage services together. Since that time, I’ve been experimenting with ODrive, testing it to see how well it works, if at all, with my Fedora Linux environment. In spite of very limited documentation, I think I’ve finally come to a point where I can share what I’ve learned.

Before I proceed any further, I do feel it is necessary to provide a couple of disclaimers. First, while I’m using ODrive myself, I’m not using their paid (premium) service, even though it offers quite a bit more functionality. Why? Maybe this is a “chicken-and-egg” scenario, but I have a really hard time paying for a premium service where Linux client functionality is very limited and the documentation is extraordinarily sparse. (ODrive, if you’re reading this: put some effort into your Linux support and your docs, and you’ll probably get more paying customers.) Second, I’m providing this information “as is”; use it at your own risk.

OK, with those disclaimers out of the way, let’s get into the content. For Linux users, this page is about the extent of ODrive’s documentation. Continue reading

Manually Installing Azure CLI on Fedora 25

For various reasons that we don’t need to get into just yet, I’ve started exploring Microsoft Azure. Given that I’m a command-line interface (CLI) fan, and given that I use Fedora as my primary laptop operating system, this led me to installing the Azure CLI on my Fedora 25 system—and that, in turn, led to this blog post.

Some Background

First, some background. Microsoft has instructions for installing Azure CLI on Linux, but there are two problems with these instructions:

  1. Official packages that can be installed via a package manager are only provided for Ubuntu/Debian. Clearly, this leaves Fedora/CentOS/RHEL users out in the cold.

  2. Users of other Linux distributions are advised to use curl to download a script and pipe that script directly into Bash. (“Danger, Will Robinson!”) Clearly, this is not a security best practice, although I am glad that they didn’t recommend the use of sudo in the mix.

Now, if you dig into #2 a bit, you’ll find that the InstallAzureCli script you’re advised to download via curl really does nothing more than download a Python script named install.py. The install.py Python script really just uses pip and virtualenv to install the Azure Continue reading

Technology Short Take #85

Welcome to Technology Short Take #85! This is my irregularly-published collection of links and articles from around the Internet related to the major data center technologies: networking, hardware, security, cloud computing, applications/OSes, storage, and virtualization. Plus, just for fun, I usually try to include a couple career-related links as well. Enjoy!

Networking

Information on the Recent Site Migration

Earlier this week, I completed the migration of this site to an entirely new platform, marking the third or fourth platform migration for this site in its 12-year history. Prior to the migration, the site was generated using Jekyll and GitHub Pages following a previous migration in late 2014. Prior to that, I ran WordPress for about 9 years. So what is it running now?

The site is now generated using Hugo, an extraordinarily fast static site generator. I switched to Hugo because it offers a couple of key benefits over Jekyll:

  1. Site build times are 10x faster (less than 30 seconds with Hugo compared to over 5 minutes with Jekll)—this directly translates into me being able to test changes to the site much more quickly
  2. Hugo is a single binary that’s easily installed on Linux or macOS (and Windows too, though I don’t have any Windows systems)

Hugo also gives me more flexibility that I had with Jekyll, such as generating lists of articles by tag or lists of articles by category. Along with those additions—the ability to browse by tag or category—I’ve also removed the pagination (I mean, who’s really going to page through 188 pages of Continue reading