Puppet Discovery

author: Reza Hashimi – Senior DevOps Architect – Cloudten

Getting ready for Puppet Discovery

 

There is often a challenge for organizations transitioning to the cloud to adopt a hybrid infrastructure model. While a mix of on-premises and multi-cloud services provides agility, efficiency and cost optimization, it increases the complexity of selecting the right toolsets able to provide capabilities for configuration, management and automation.

Puppet has been a widely adopted solution across many industries and has set the standard for all in one automated infrastructure and software management and deployment. Puppet is redefining automation by introducing Puppet Discovery to help us discover hybrid resources, and increase agility whilst reducing silos around multi-cloud and on-premise environments.

Puppet Discovery is a standalone tool that is not dependent on an already existing Puppet Enterprise ecosystem and can run on a laptop, workstation or server. It empowers users with deep insights into hybrid infrastructure in a unique way.

Why Puppet Discovery?

 

Discovery is the cornerstone of any hybrid and multi-cloud tool.  With Puppet Discovery we have an independent tool that can be run easily with minimal dependencies on your laptop, from the company that best knows service discovery and configuration management. Some highlights are:

  • Identification of resources: Rather than a CMDB or spreadsheet populated with the list of your resources, you gain better asset management through dynamically identifying the resources you have deployed, with the ability to detect redundancies and non-optimal configurations.
  • Service and infrastructure management: You can adhere to good service management practices and maintain compliance by relating services to incidents and changes, integrate the right tools, analyse the impact of changes and audit service capabilities and integrity.
  • Infrastructure Security: With correct data about what you have, versions and flavors of software and operating systems deployed on the cloud, VMs and containers, you not only have the right control on your infrastructure but can also provide proper data to your security tools.
  • Monitoring and cost transparency: You have the tool to investigate all the aspects of your hybrid cloud infrastructure and precisely know dependencies, as well as the ability to predict and manage the budget whilst gaining better visibility of state configuration.
  • Automation and Migration strategy: With the proper identification of resources, you can establish the right governance model, assess your unique requirements, build a better migration plan and measure your progress.

In summary, Puppet Discovery provides a crystal ball from which you can discover your hybrid infrastructure and decide what to do next.

How does Puppet Discovery work?

 

Just like every other multi-cloud and hybrid tool, Puppet Discovery needs to look into your environment and gather information about the resources. Puppet Discovery supports major public and private cloud platforms along with native support for popular containers:

  1. Amazon AWS: AWS is the leading public cloud provider and is the platform on which Puppet Discovery was actually developed. As such there is full native support for AWS services.
  2. Microsoft Azure: Puppet Discovery has been available on the Azure cloud platform since the preview stage and has been actively developed to integrate with it.
  3. VMWare: As the leading provider of private cloud and virtual datacenter services, VMware quickly became a supported platform by Puppet Discovery. VMWare vSphere virtual machines with all related resource meta data are accessible by Discovery.
  4. Docker: One exciting feature of Puppet Discovery is that it looks inside hosts and gathers the resource details from containers running on them.
  5. Google Cloud: Puppet has officially announced that the Google Cloud platform will be fully supported in the near future.

Note: This blog is based on an initial Puppet Discovery technical preview version. Google Cloud was announced as a coming-soon feature, and Puppet Discovery is under improvement with regular updates for new features and resources. We can expect that when these updates are complete, the computing, storage, network and OS level resources will be available on different platforms.

A quick review

 

Puppet Lumigon is now wrapped up into Puppet Discovery! It has a simple and straightforward installation and setup process. It is easily installed and runs in a Kubernetes cluster on your laptop or workstation (find the installation guide at the related links section), and is setup through a simple settings page via browser.

You provide data sources and credentials and leave everything else to Puppet Discovery.

  • Data resources: Either cloud service accounts or server addresses, and it can be provided as a CSV file too. Puppet Discovery utilizes service accounts of your cloud provider (e.g. AWS access key and secret keys) to find all the cloud resource and server addresses to add specific servers to the discovery process.
  • Credentials: You also need to provide credentials (either SSH keys or WinRM credentials) if you want Puppet Discovery to look into servers and gather the containers information along with installed packages, versions and dependencies.

The discovery process is quite fast and you get a quick update of the following resources in your dashboard:

  • Servers
  • Packages
  • Dockers hosts
  • Containers

Puppet Discovery categorizes resources based on several features in your dashboard:

  • Type: On-premise or On public cloud
  • Operating system: Name, Platform (Linux/Windows), Uptime, Physical/Virtual, scan time and resource specific details (e.g. EC2 name, type, size, tags and availability zone)
  • Container image: With ID, name, host and image details
  • Package: Name, version, provider and instances installed
  • Puppet specific: Being managed by Puppet or not, or if there is puppet agent installed
  • Server type: Web servers, database server

Integrations

 

We traditionally don’t associate Puppet as a security, cost optimization, or data analytics company. This is why Puppet Discovery has a clearly defined scope; it does the data gathering and provides the visibility to the hybrid infrastructure and allows other vendors to utilize the data.

An interesting feature of Puppet Discovery is that the data is available through API and vendor integrations. So you get the best tools from your favorite provider which is enriched by the strong data gathering and insights of Puppet Discovery. For example, Tenable and Splunk, known as leading cyber security and security data analytics companies, are using Puppet Discovery data to represent security related information in a more intelligent way.

Summary

 

Puppet Discovery is the only product that treats public cloud, private cloud and traditional datacentre resources along with containers in a pervasive way — under one dashboard, opening the door to a new era known as pervasive automation. It is enriched by an extensive puppet partner ecosystem. It is up to you to use it as a tool to gain insights into your hybrid infrastructure or make it a ladder to the future of DevOps and automation. In any case, you know where to look first.

 

Related Links:

Puppet Discovery product page:
https://puppet.com/products/puppet-discovery

Puppet Discovery introduction:

https://puppet.com/docs/discovery/preview/introducing_discovery.html