There is a fascinating article in a recent Ars Technica on why Facebook creates its own hardware and how it avoids virtualization on its servers. Facebook just unveiled its first data center that has only its own custom hardware, designed per the Facebook-founded Open Compute Project. Facebook answers the “What is virtualization” question by saying, “Something we here at Facebook don’t need.”
Second of two parts. Written by Max Martin. Originally published on Linux.com, republished with permission.
In the first part of this tutorial, we showed how to use Vagrant to automate and manage local virtual machines for a software development environment. We defined a simple Vagrantfile to specify certain attributes for a VM to run a simple web app, and got it running using Vagrant’s command line tools. In this part of the tutorial, we’ll be using Puppet to define and automate the configuration details for our VM. This way, whenever we start up the dev environment with vagrant up
, it will be set up to run our web application without any additional manual configuration.
I found Damon Edwards and Anthony Shortland’s video presentation on DevOps a refreshing change. They see DevOps as a larger, more comprehensive service delivery platform and view the DevOps toolchain as the practical way to make that service delivery platform work. Their excellent diagram divides a service delivery platform for DevOps into four quadrants, with Infrastructure and Applications on the Y axis and Build and Deploy on the X axis.
First of two parts. Written by Max Martin. Originally published on Linux.com, republished with permission.
Setting up a development environment for a web application can seem simple—just use SQLite and WEBrick or a similar development server—but taking shortcuts can quickly lead to problems. What happens when you need to onboard new team members? What if your team members are geographically distributed? How do you prevent bugs from creeping in when the production environment’s configuration drifts away from the development environment? Even if you’ve managed to set up a picture-perfect development environment, what happens when a developer inevitably breaks its configuration?
In CIO Magazine, Mike Sutton and Tym Moore explained how they systematically improved software release management practices at a large telecom company by focusing on key factors affecting the release process, infrastructure, and automation. The themes of the advice were transparency, automation, and communication. The case study looked at an emergency situation for a large business in severe trouble, but the themes are universal. This article, published in 2008, is a classic; it’s practical and pragmatic and still has plenty to say about release management practices today.
Puppet Labs released Facter 1.7 this week, introducing a number of under-the-hood enhancements and a new feature called “external facts” that’s been waiting in the wings for about a year now.
Facter is a cross-platform library for gathering information about nodes managed by Puppet, including domain names, IP addresses, operating systems, Linux distributions, and more. External facts provide a simple way for a puppet agent to provide custom facts without having to write Ruby. Eric Sorenson, Puppet’s open source product owner, told me, “they’re probably the easiest way for people to get an entry into Puppet for extending Puppet or customizing Puppet for their own site.”
Jeremy Schulman, Global Solutions Architect at Juniper Networks, is responsible for developing the Puppet for Junos OS netdev module. This post originally appeared on his blog on the Juniper Networks website on April 2, 2013. It has been reprinted with permission.
The role of Junos technology is to address the problems of today’s networks in a way that is aligned with broader challenges facing IT infrastructure automation as a whole. We all know that managing networks is complex, hard, costly, and requires highly trained engineers. This post is going to talk about managing networks in a whole new way. The concepts in it will change your life. They changed mine.
There is no doubt that something big is happening. Our industry is going through a paradigm shift. Everyone is excited about the idea of “programming” the network. People want to build network solutions independent of hardware vendors; to use open APIs, open software, to collaborate, and to innovate. But most importantly, they need to deliver a network focused on the needs of the consumer of the network. A similar paradigm shift happened a while ago for the IT system administrators (sysadmins) and DevOps – you know, the guys in the data center deploying all those servers or virtual machines driving the need for more networking. As we look forward to how the networking industry may evolve let’s take a quick look back at the history of the sysadmins.
At one point, sysadmins were manually deploying servers, configuring services, and managing the installation of applications – applications that ultimately drive their business. These sysadmins may have had some simple Bash- or Perl- based scripting tools they created themselves, but it was largely ad-hoc. Fast forward to today: sysadmins now use sophisticated configuration management products like Puppet or Chef to fully automate large-scale data center deployments. They write programs to “glue” together these tools with APIs from other vendors like VMware, Amazon, Google, or from other software they download from the open source community. These sysadmins, who were not formally trained software engineers, picked up new programming skills and began focusing on automation as a key business driver, and as a personal asset. They use open APIs and open software. They collaborate. They innovate. They are driving the success of their business. They can (and will) become key influencers in deciding which vendor is deployed in the network.
A few weeks ago, I had the honor of co-presenting at the Bay Area Juniper Users Group (BAJUG), which meets once a quarter in Sunnyvale, CA. Jeremy Schulman from Juniper Networks invited me to co-present with him on the Puppet for Junos OS solution, which became available in February. Haven’t heard about this networking automation solution before this blog? I’ll explain more, but first, I want to briefly summarize my experience at BAJUG.
I really loved the format of the user group. It kicked off with a one-hour keynote presentation from Jeremy on the Puppet for Junos OS solution, which was followed by a series of 10-minute lightning talks. Those talks were given by network guys from Facebook, IETF, Zygna, and more. The event ended with a free-form social. It was a sold out event, attended by about 250 people. Here’s a photograph I took right before my talk.
Nan Liu is Senior Systems Engineer at VMware.
Disclaimer: This is a repost from Nan’s personal blog. The opinions expressed herein are Nan’s personal opinions and do not necessarily represent those of VMware.
Last week, we released a set of open source Puppet modules for managing VMware cloud environments, specifically VMware vCenter Server Appliance 5.1 and VMware vCloud Network and Security 5.1 (vCNS, previously known as vShield). They provide a framework for managing resources within vCenter and vCNS via Puppet (read Nick Weaver’s blog for more information).
2012 was a huge year for us—we more than doubled in size, tripled our PuppetConf attendance, and saw overwhelming demand for and consumption of all things Puppet (Puppet Enterprise, Puppet Forge modules, Puppet Camps, and more). We’re only three months in to 2013, but we predict another stellar year. Bolstered by VMware’s recent $30 million investment, we opened offices in London, Australia, and San Francisco to build awesome new products for our growing customer-base. We also tripled the office space of our headquarters in Portland, OR, and we’re hiring like crazy!
Is release management a different process from change management? Jan van Bon takes a controversial position. He says they are the same—or should be—in his article, “The One and Only Change Management Process.” (If you’re interested, there’s a LinkedIn group that’s still arguing this question as well as a book by van Bon on the topic.) Can a repeatable, streamlined change management process really drive release management best practices?
Purpose | Build Java keystores form existing keys and certificates. |
Module | puppet/java_ks |
Puppet Version | 2.7+ |
Platforms | OpenJDK 6, OpenJDK 7 |
This module attempts to ease and shorten the workflow associated with Java applications.
The reason this module came to life was my frustration over the workflow needed to get a SSL protected ActiveMQ broker set up. When I wanted to integrate the Java keystore build workflow into the rest of ActiveMQ’s setup using a Puppet manifest… well, it got ugly. Converting a string of shell commands into Puppet exec resources eventually led me to a dark dark place. Personally I find that if you are running into a need for a lot of exec resources, especially when they are using the same command or operating on the same file, it is time to grab a copy of Puppet Types and Providers and get your hands dirty with some Ruby. You’ll usually notice a speed increase of your agent runs after a conversion to a type/provider to replace all the exec resources and always end up with easier to maintain manifests.