Home > Blogs > VMware vFabric Blog

Why Application Director + Puppet Work Better Together

Lately, I have been getting questions around how vFabric Application Director and Puppet work together. Questions include:

Today, at the PuppetCon event in San Francisco, where VMware has a keynote and a session, I expect these questions will be asked more than ever as we meet Puppet’s loyal users.

Before we delve into the differences, it is important to understand the big picture. When my team started developing Application Director, open source configuration management tools like Puppet, Chef, CF Engine already existed. They were doing a great job of keeping complex applications up to date with the latest code and configurations while also helping IT to automate inventory management – a big and valuable task in any datacenter.

Going to PuppetConf?

Don’t miss 2 days of presentations. Can’t make it to San Francisco? Watch live streams on-line!
Click Here

Don’t miss Komal Mangtani’s Presentation Today at 1:15 PDT Click Here

Follow us on @vmwareapmgmt:
Click Here

The idea with Application Director was to take this process of application configuration management, which does include provisioning, and up-level it to provide the over-arching application semantics to make planning application deployments and moving them across clouds more viable for server side applications. In a simplified view, Application Director creates the notion of an application blueprint to describe the application topology and relationships between application components. Within that blueprint, application developers are writing Puppet scripts that ensure the components are installed within the latest IT policies, using Puppet to do late-binding configuration changes as Application Director provisions the application blueprints across clouds. So, Application Director draws the big picture of how the application is constructed and makes provisioning these apps portable across clouds, while Puppet makes sure all the components that make the app are configured and patched properly.

With that, lets delve into some key differences between Application Director and Puppet to understand how the top-down approach of Application Director and bottom-up approach of Puppet comes together to provide a total Application Lifecycle management solution.

Application Aware vs Machine Aware:

One of the core strengths for Application Director is it’s ability to define complete applications as compared to single machines or VMs. Applications generally are composed of multiple components including web servers, application servers, messaging services, and databases among others. These components are dependent on each other, and that makes applications management complex and challenging. Any change in a single component can lead to a huge impact to the overall application. Application Director provides the ability to model application topologies, update application code or configurations, define dependencies, and show change impact analysis. This entire process centers on the application itself, but the application is deployed on machines in the cloud.

Puppet focuses on machine configuration. It’s ability to manage the state of machine is the primary focus. So, if every CentOS VM running Tomcat 7 needs to be patched to a certain level and have specific security configurations, Puppet will keep that up to date automatically for you during deployment. By plugging in Puppet scripts to the application configuration steps within Application Director, one can ensure both the application and the machines are automatically configured to IT’s standards.

Application Release Management vs Actual State/Desired State Management:

The ability to manage application deployments across different clouds and environments is one of the biggest challenges in a release management process. Application Director helps you manage and control that process, enabling users to reuse application blueprints across different development, test and production environments that may also be applied on different cloud infrastructures.  In short, Application Director does a good job of separating the dependencies of architecting an application and provisioning it to different virtual environments.

Puppet easily discovers and configures new resources and visualizes change against a desired-state baseline. So, by using Puppet for the configuration management steps within the application provisioning, regardless of what size and type of cloud environment your application lands on, Puppet will automate the repetitive tasks of configuration management and proactively continue to manage infrastructure changes.

Application Lifecycle Management vs Configuration Management:

Application Director is an application lifecycle management platform. One should broadly view it as a platform to model (define), deploy, and manage your application lifecycle. Both extensible and application agnostic, Application Director can help architect and deploy any application to any cloud. As part of the overall VMware infrastructure, it can be embedded within a self-service portal to allow users to request deployment environments, manage helpdesk tickets, and orchestrate the approvals process. Check out our video on how you can automate Application Director to use it for self-service application deployment and how it looks to an end-user.

Puppet is a configuration management system. As such, it takes more of a bottoms up approach automating configuration management of servers from operating system and above, ensuring every machine meets IT’s standards. This compliments with Application Director by ensuring that while Application Director can deploy any single application on any environment, Puppet makes it so the resulting set of machines that power the application and all the application components running on it are consistent across every application deployed across every environment.


We’ve outlined a couple different ways to think of Application Director and Puppet working together.  We recognize the policy management of server configurations across every application is a massive task that Puppet helps automate. While Application Director does have the ability to do configuration during application provisioning, this configuration is done by scripting. Therefore, for complex environments with lots of applications, we encourage you to consider having Application Director streamline the planning, deployment and application lifecycle, and use Puppet scripts to ensure configuration of your Application Director deployed apps are consistent across every application.

About the Author:  Komal Mangtani is Engineering Director at VMware leading its Application Lifecycle Management strategy. She has been with VMware for 5 years. While at VMware, she conceptualized and led development for vFabric Application Director and VMware Studio products. Prior to VMware, she has held technical and management positions at Oracle and BEA Weblogic Systems working on industry leading products. With strong applications background and spending early days at VMware working with ESX/vSphere, she brings together application and virtualization technologies to create unique value proposition for the products. Follow Komal on twitter @komalmangtani to read more on Application Management in hybrid clouds.

21 thoughts on “Why Application Director + Puppet Work Better Together

  1. Pingback: How it Works: VMware’s Own Internal Self-Service Cloud | VMware vFabric Blog - VMware Blogs

  2. Pingback: Deploying a Cassandra Cluster with Application Director | VMware vFabric Blog - VMware Blogs

  3. Pingback: Technology Short Take #27 - blog.scottlowe.org - The weblog of an IT pro specializing in virtualization, storage, and servers

  4. Pingback: Technology Short Take #27 | Strategic HR

  5. Pingback: 2013-nov-14 ProfessionalVMware #vBrownBag LATAM #Puppetize c/ @DevOps_ES @edransIT y @puppetlabs

  6. Pingback: 2013-nov-14 ProfessionalVMware #vBrownBag LATAM #Puppetize c/ @DevOps_ES @edransIT y @puppetlabs | kylemurley's Blog

  7. potty training stickers

    This ultimate guide to becoming an Potty training expert.
    I really can’t say that we followed the method completely, though, because I
    really don’t know much about it. And you can pick up many useful pointers from parents on online forums who have successfully
    taught their little daughters about potty use.

    Also visit my web blog … potty training stickers

  8. family law oakville

    I have been browsing online more than 4 hours today, yet I never found any
    interesting article like yours. It’s pretty worth enough
    for me. In my view, if all webmasters and
    bloggers made good content as you did, the net will be a lot more useful than ever

    My blog post … family law oakville

  9. 15 retina macbook pro

    As discussed above the HP Elite – Book 8560w embraces a
    sturdy design and is cased within a strong aluminum steel covering.
    For more on Toshiba products, please visit us at
    My – Reviews – Now. Now, place the laptop on a firm, even surface, that is scratch free.

    Also visit my blog post :: 15 retina macbook pro

  10. how can i buy a bitcoin

    6) With Bitcoins, the odds for being ripped off for purchases vastly increases, because almost no seller info
    gets shared with the buyer, such as their name and address.

    Consequently, they spend big money to appear at the top of the SERP.
    Regardless, many merchants have warmed up to it, and its
    growing popularity implies that its success as a mainstream means of payment is forthcoming.

    Feel free to visit my web-site – how can i buy a bitcoin


Leave a Reply

Your email address will not be published. Required fields are marked *