Archive

Category Archives for "Systems"

Multi-Container Docker with YAML and Vagrant

In this post, I’ll provide an example of using YAML to create a multi-container Docker environment in Vagrant. I made a brief mention of this technique in my earlier post talking about how to use Docker with Vagrant, but wanted to provide an example. For me, I know that examples are often quite helpful when I’m learning something new. Since one of my primary goals here is to help enable others to learn these technologies, I figured an example would be helpful. So, to that end, here’s an example that I hope will help others.

As is becoming my custom, you can find resources to help you replicate this environment on your own laptop/desktop/whatever via my “learning-tools” GitHub repository.

Before I get into the details, I want to just very quickly recap some information from my earlier post on using Docker with Vagrant:

  • Vagrant has a built-in Docker provider (present since versioni 1.6).
  • Unless running on Linux, Vagrant will (by default) spin up an instance of a boot2docker VM on which to host the Docker containers. If you decide to modify this behavior (see the earlier post for full details), you’ll end up with a second Vagrantfile that Continue reading

Using Docker with Vagrant

As part of my ongoing effort to create tools to assist others in learning some of the new technologies out there, I spent a bit of time today working through the use of Docker with Vagrant. Neither of these technologies should be new to my readers; I’ve already provided quick introductory posts to both (see here and here). However, using these two together may provide a real benefit for users who are new to either technology, so I’d like to take a bit and show you how to use Docker with Vagrant.

Background

Vagrant first started shipping with a Docker provider as part of the core product in version 1.6 (recall that Vagrant uses the concept of providers to support multiple backend virtualization solutions). Therefore, if you’ve installed any recent version of Vagrant, you already have the Docker provider as part of your Vagrant installation.

However, while you may have the Docker provider as part of Vagrant, you still need Docker itself (just like if you have the VMware provider for Vagrant, you still need the appropriate VMware product—VMware Fusion on the Mac or VMware Workstation on Windows/Linux) in order to provide the functionality Vagrant will consume. Continue reading

Using Docker with Vagrant

As part of my ongoing effort to create tools to assist others in learning some of the new technologies out there, I spent a bit of time today working through the use of Docker with Vagrant. Neither of these technologies should be new to my readers; I’ve already provided quick introductory posts to both (see here and here). However, using these two together may provide a real benefit for users who are new to either technology, so I’d like to take a bit and show you how to use Docker with Vagrant.

Background

Vagrant first started shipping with a Docker provider as part of the core product in version 1.6 (recall that Vagrant uses the concept of providers to support multiple backend virtualization solutions). Therefore, if you’ve installed any recent version of Vagrant, you already have the Docker provider as part of your Vagrant installation.

However, while you may have the Docker provider as part of Vagrant, you still need Docker itself (just like if you have the VMware provider for Vagrant, you still need the appropriate VMware product—VMware Fusion on the Mac or VMware Workstation on Windows/Linux) in order to provide the functionality Vagrant will consume. Continue reading

Technology Short Take #48

Welcome to Technology Short Take #48, another installation in my irregularly-published series that collects links, articles, and thoughts from around the web. This time around, the content is a bit heavier on cloud management and applications/operating systems, but still lots of good content all the way around (I hope, anyway).

Networking

  • Matt Oswalt recently wrapped up his 3-part “DevOps for Networking” series. I referenced part 1 of the series back in TST #46, and parts 2 and 3 are just as good as the first one. Part 2 talks about source-driven configuration for NetOps (which discusses the use of Git and Gerrit to manage network device configurations), while Part 3 walks through a continuous integration pipeline for networking (which adds Jenkins to the mix described in part 2). Helpful and informative content, no question about it.
  • The NFV discussion seems to be heating up a bit, particularly the “networking” part of NFV. Craig Matsumoto of SDxCentral recently published a piece on NFV performance; that article was based largely on a blog post by Martin Taylor of Metaswitch found here. The key takeaway is that NFV networking performance requirements are something that projects like OpenStack and Open vSwitch (OVS) Continue reading

AnsibleFest London Presentations

AnsibleFest_(1)-1

We had our biggest and best AnsibleFest last week in London! This was our 1st Ansible event outside of the United States and due to the amazing turnout and great crowd we will definitely include at least one stop overseas in 2016.

If you were not able to attend, or just wanted to see the presentations, we’ve compiled all of them here:

How to automate Big Data with Ansible - Marius Boeru, BigStep

Ansible and Vagrant - Sebastian Göttschkes, wogibtswas.at

The Devs Are Opsing (And It Isn’t Painful) - Ali Asad Lotia, Blue Newt

Ansible, Windows, and Powershell - Jon Hawkesworth, M Modal

How Rackspace Is Deploying OpenStack With Ansible - Walter Bentley, Rackspace

What's New in V2 - James Cammarata, Ansible

Ansible Internals - Brian Coca, Ansible


We’ll be announcing the next stop in the AnsibleFest tour soon (hint: It is New York City) so follow us on Twitter to find out all of the details first!

View our Ansible Tower Video here to learn all about the great features available in Ansible Tower.

A Quick Introduction to Consul

For reasons that (hopefully) will become clear in the relatively near future, I decided I needed to take a look at Consul, a distributed service discovery tool and key value store. I know Consul’s description sounds like a mouthful of buzzwords, but it’s pretty accurate. This post provides a quick introduction to Consul, in which I’ll break down what Consul does and how it works (at a high level). I’ll then build on this introduction in later posts.

There’s a lot to Consul, so let’s start by breaking down the description of Consul, which I provided as “a distributed service discovery tool and key value store”. What does this mean, exactly?

  • Consul is distributed. This means it runs as a cluster of systems so that there is no single point of failure. Consul uses a gossip protocol (known as Serf) to manage cluster membership, failure detection, and general orchestration. Managing cluster state via Serf is only part of the picture, though; the cluster must also manage consistency via a consensus protocol known as Raft. (Raft is the same consensus protocol used by etcd, for example.)
  • Consul is also a service discovery tool. Applications can register with Continue reading

Using Vagrant with CoreOS, etcd, fleet, and Docker

As a follow-up to my recent #vBrownBag session on “Docker and Friends,” I wanted to provide a quick and relatively easy way for VMware administrators to experiment with some of the technologies I demonstrated. Since not everyone has their own OpenStack cloud running in their basement, Vagrant seemed like a reasonable solution. So, in this post, I’ll show you how to use Vagrant to experiment with some of the technologies I demonstrated in the #vBrownBag session.

If you’d like to follow along on your own, I’ve uploaded the necessary files to the GitHub repo I created for the #vBrownBag session. Just have a look in the coreos-vagrant folder in that repository.

What You’ll Need

  • Vagrant (I tested with Vagrant 1.7.2)
  • VMware Fusion (I used Fusion 6.0.5 on OS X 10.9.5)
  • the VMware plugin for Vagrant
  • the CoreOS Vagrant box for the vmware_fusion provider (more on that in a moment)
  • the necessary supporting files (more on that in a moment as well)

I’m not going to cover installing Fusion, Vagrant, or the VMware provider for Vagrant, as those steps are reasonably well-documented by the respective vendors. I will, though, talk about getting the CoreOS box Continue reading

Using ansible and dynamic Amazon EC2 inventory management on #AWS

Screenshot_2015-02-03_13.00.10Brandon Chavis, an AWS Partner Solutions Architect, has a great post over on the AWS blog titled "Getting Started with Ansible and Dynamic Amazon EC2 Inventory Management" today.

From the post:

Today, the options for configuration and orchestration management seem nearly endless, making it daunting to find a tool that works well for you and your organization. Here at AWS, we think Ansible, an APN Technology Partner, provides a good option for configuration management due to its simplicity, agentless architecture, and ability to interact easily with your ever-changing, scaling, and dynamic AWS architecture.

Instead of having to push an agent to every new instance you launch via userdata, roll an agent into an AMI, or engage in similarly management-intensive deployments of your config management software, the Ansible framework allows administrators to run commands against Amazon Elastic Compute Cloud (Amazon EC2) instances as soon as they are available, all over SSH. This document intends to examine ways that your Amazon EC2 inventory can be managed with minimal effort, despite your constantly changing fleet of instances.

Read the full post here.

 

First Git, now Vagrant

When I shared the story behind migrating the blog to Jekyll and GitHub, I mentioned that one of the reasons for the migration was to embrace Git as a part of my regular workflow. I’d been recommending to folks that they learn and use Git, and now I needed to “walk the walk” as well as “talk the talk.” This post describes another step in my effort to “walk the walk.”

As the title of the post implies, this step involves the well-known tool Vagrant. (If you are unclear what Vagrant is or what it does, please read my quick introduction to Vagrant.) In the same presentation where I was recommending to folks to learn tools like Git, I was also recommending that they learn (and use, where applicable) tools like Vagrant. Once again, though, I was talking a good game but not backing it up with my actions. So, I’ve resolved to expand my use of Vagrant, sharing with all of my readers and followers along the way. And, because I believe that VMware Fusion is the most robust virtualization solution for Mac OS X, I’ll be using Vagrant with VMware Fusion.

So what will Continue reading

Thanks Michael!

3 years ago, Michael DeHaan started the Ansible open source project. Michael has worked tirelessly and done a great job leading the Ansible vision of simple IT automation, and his efforts led to some amazing achievements.  Ansible is now a mature open source project and vibrant community, with over 900 contributors (a new contributor almost every day!), thousands of users and millions of downloads.  Ansible was recently named a Top 10 Open Source project for 2014, alongside projects like Hadoop, Docker, and OpenStack.

As of today, Michael will be transitioning from his daily operational involvement with Ansible, Inc. to an advisory capacity supporting the community and the Ansible team as needed.  You can read more about Michael’s thoughts on the transition here.

As for Ansible, we are grateful for Michael’s vision and efforts and look forward to his continued contributions. He and the Ansible community have set a new standard for simple, agentless automation, and we will continue to build great things on that strong foundation.

Thinking Out Loud: Does Docker on Windows Matter?

Nigel Poulton recently posted an article titled “ESXi vs. Hyper-V - Could Docker Support Be Significant,” in which he contemplates whether Microsoft’s announcement of Docker support on Windows will be a factor in the hypervisor battle between ESXi and Hyper-V. His post got me thinking—which is a good thing, I’d say—and I wanted to share my thoughts on the topic here.

Naturally, it’s worth pointing out that I work for VMware, although I do work in a business unit that makes a multi-hypervisor product (NSX).

Nigel makes a few key points in his article:

  • Open source is “where it’s at today”
  • Everyone “is crazy with container fever”
  • VMware “ditched” Linux in the transition to ESXi
  • Microsoft’s support for Docker means Microsoft might “ship a hypervisor platform (Windows Server/Hyper-V) that does VMs and Docker containers”
  • Azure could be made more relevant in the public cloud race through “native support for Docker containers” resulting in “native Type-1 hypervisor, native Docker containers.”

To be completely fair, the article fully admits that all this is assumption and is just thinking out loud (his statement, not a play on the title of this post). As I said, I think it’s a good thing to Continue reading

5 Reasons to Use Ansible in Government

ANSIBLE-govt

As many US Government programs look to adopt DevOps and agile development methodologies, there’s a need for tools to manage the application lifecycle, and make it easier and more predictable to deploy and manage entire application environments.

So why do Government customers chose Ansible?

Agentless

Ansible does not require a software agent to be running on the remote hosts it manages. Instead, it relies on the trusted management ports you’re already using on a daily basis to log into your servers: secure shell (SSH) on Linux, and Windows Remote Management (WinRM) on Microsoft-based systems. This means that you don’t need to change existing firewall port filtering rules, which removes a large barrier to entry that other tools that run an agent require.

Additionally, agentless management means that there is little likelihood of a library conflict. What happens when a management tool agent requires one version of a library, but your application requires another?

Finally, Ansible’s agentless model does not increase your system’s security footprint or attack profile. Ansible relies on the operating system’s encryption tooling, and ensures that there are no separate agents that require vulnerability patching.

More Than Just CM

Configuration Management in the Government space is nothing new. Continue reading

Why Comments Aren’t Available Yet

A number of readers have asked—via e-mail, of course, given the subject of this post—why comments aren’t available yet on the new site. I’d like to take a quick moment to explain the current situation.

First and foremost, it’s not because I don’t want feedback from readers. I would love to continue to have the outstanding feedback from readers that I’ve had over the last 9 years of this site. It’s also not because it’s too much trouble (too much comment spam, too much time to moderate, etc.). It’s not because enabling comments is too difficult, either.

If not these reasons, then why? With a static site generator like Jekyll, I’m left with very few options for handling comments. The most common way is to use a service like Disqus, but there are a number of privacy and security concerns around Disqus (see here for just one example). As a result, I’m hesitant to put my readers in the situation where the privacy of their information is outside my hands. At least with WordPress, readers’ personal information was under my control alone. Not so with a service like Disqus (or any of the hosted alternative solutions).

I’ve tried Continue reading

Using the Fork-and-Branch Git Workflow

Now that I’ve provided you with an introduction to Git and a brief overview of using Git with GitHub, it’s time to build on that knowledge by taking a closer look at one workflow often used when collaborating with Git. The “fork and branch” workflow is a common way of collaborating on open source projects using Git and GitHub. In this post, I’m going to walk through this workflow (as I understand it—I’m constantly learning), with a focus toward helping those that are new to this sort of thing.

If you’re new to Git and/or GitHub and haven’t yet read the earlier posts on Git and using Git with GitHub, I strongly recommend you read those first.

Basically, the “fork and branch” workflow looks something like this:

  • Fork a GitHub repository.
  • Clone the forked repository to your local system.
  • Add a Git remote for the original repository.
  • Create a feature branch in which to place your changes.
  • Make your changes to the new branch.
  • Commit the changes to the branch.
  • Push the branch to GitHub.
  • Open a pull request from the new branch to the original repo.
  • Clean up after your pull request is merged.

Here’s a bit more Continue reading

Using Git with GitHub

Building on my earlier non-programmer’s introduction to Git, I wanted to talk a little bit about using Git with GitHub, a very popular service for hosting Git repositories. This post, in conjunction with the earlier introductory post on Git, will serve as the basis for a future post that talks about how to use Git and GitHub to collaborate with others on an open source project hosted on GitHub.

If you aren’t familiar with Git and haven’t yet read the earlier introductory post, I strongly recommend reading that post first.

Recall that Git is a distributed version control system (DVCS), and is designed to operate in such a way that full copies of repositories exist on multiple systems. This means you (as a single user) might have multiple copies of a repository across multiple systems. So how does one keep these repositories in sync? Generally, this would be handled via the use of a “server-side” repository to which the various repository clones are linked via a Git remote. This server-side repository might be hosted on an internal server or on a public server, and you may be connecting to it using the Git protocol, SSH, or HTTP(S). You Continue reading

Ansible Adds Over 300 Customers in 2014

2014 was a great year for Ansible.

Ansible Highlights from 2014

  • Named SD Times #1 Company to Watch in 2015 and a Top 10 open source project in 2014 by Red Hat’s opensource.com.

  • The Ansible open source project has had over one million downloads in 2014.

  • O’Reilly released the preview of its first Ansible book (available on Ansible.com) with the full book due out in early 2015.

  • There are over 40 regular worldwide Ansible meetups, with new meetups popping up weekly around the world from Sydney to South Africa.

  • Over 600 people attended AnsibleFests in San Francisco, Austin & New York in 2014, and 400 people are expected at the first AnsibleFest London in February 2015.

  • Ansible Tower - Ansible’s enterprise IT automation solution - has been downloaded over 5,000 times and by 27 of the Fortune 100.

  • Ansible Tower is in production managing tens of thousands of servers, VMs and cloud instances across enterprise verticals that include financial services, government, high-tech manufacturing, education, web & e-commerce and media.

  • Ansible released three major upgrades of Ansible Tower in 2014, most recently adding capabilities for delivering self-service IT and HA for enterprise IT organizations.

  • Ansible released agentless support for Continue reading