Get Puppet Enterprise First 10 nodes are free!
Try it now
Request a demo
Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Puppet Comply Find and prevent compliance failures
Compliance Enforcement Modules Remediate to stay in compliance
Continuous Delivery for Puppet Enterprise Build, test, and deploy infrastructure as code faster and easier
Content & Modules Pre-built scripts to automate common tasks
CentOS EOL Here’s how to secure your CentOS infrastructure – even after EOL.
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source PuppetPerfect for individuals and small infrastructure
BoltAutomate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
Let’s take a deeper dive into Day 0 configuration for server provisioning — it’s the foundational step for making sure your goals are met and you are set up for future success on Day 1 and 2.
Day 0 configuration refers to the initial phase of software development where requirements and overall architecture of the project is planned and prepared for deployment.
Server provisioning is the process of setting up a server that supports the software, hardware, and configurations necessary to achieve the intended use.
Plan Are you ready for Day 0? The work involved in preparing for Day 0 might require planning that starts at Day –200, when your organization decides to move from an older data center to a new one, or when you start mapping out your Day 0/1/2 plans.
Day 0’s success depends on your knowledge of what you actually want to accomplish. You’ll want to know:
Your roadmap needs to include where you want to be on Day 0 and beyond — it’s about understanding your DevOps workflow, and how you will ultimately implement change across your system with the resources that you have.
Now you’re ready for Day 0 to start — you know what you want to accomplish with your server provisioning and you’re ready to roll. With the Puppet team’s years of experience helping customers on Day 0, here are the top things you’ll want to keep in mind:
Not setting up a version control system on Day 0 is one of the biggest mistakes that a team can make — and some organizations have gone years without version control. Tracking and managing changes to code is critical. Teams are going to change, people are going to leave the organization, and problems are going to happen that require a strong record of everything that has happened. Using a version control system and preparing a place to store code like a Git repository will help improve your Day 0/1/2 and beyond.
There are so many ways to approach version control — your options are limitless. But you can start out with a few basic resources that can help you with broad decisions about how to create your system:
There are going to be people working within your server that have not touched version control before — those users need training or an introduction to Git. They need to know how you set things up, how to handle conflict resolution, and more. Prepare your team for success and put in the work to get them ready for daily functions.
If there are things you hate about managing a server, like SSH configurations — automate them and free up your time to work elsewhere. Face those tasks from the start and decide on modules like the ones that Puppet provides in the Forge and implement them.
Another thing you can manage with Puppet and automate? Network Time Protocol (NTP). We have a great module within the Forge to help with that.
When the Puppet team consults with a customer about how to approach node classification, they’ll ask questions like “what kinds of servers do you have?” and “what makes your servers different?” This helps guide a better understanding of how the customer currently tells servers apart.
Once you understand how your servers are differentiated, you can start to build out custom facts. These facts can detect what kind of server you have based on hostname, or it can label them accordingly when nodes are provisioned using external facts or trusted extensions (such as those embedded in the Puppet Agent SSL Certificate).
Here are some additional resources you might consider as you work through your classification effort:
Prepare to accomplish the things you want with code — not just the version control repository, but with overall source control procedures and code hygiene that will help support your end goals and ultimately support DevOps.
This is what Day 0 is all about — getting the box ready, getting the agent installed, and preparing it for a configuration management platform like Puppet. If you’ve prepared your team, if you have a repository prepared for good source control procedures, you should have everything you need to get going.
Day 0 isn’t about accomplishing a progressive buildout of the box itself – it encompasses the planning decisions around the server and agent installation. Once you feel comfortable with that installation and your overall roadmap, you’re ready for Day 1.
If you’re going to use Puppet Enterprise to start provisioning, you’ve made a smart choice. Not only can Puppet handle those painful tasks that you want to automate, but it can help you get set up for long term success with configuration management and even compliance automation.
Executing a solid Day 0 plan that looks ahead toward your future goals is made easier when Puppet is directly installed on your agents. You’ll be ready to start provisioning on Day 1, ideally prepped with the tips we’ve mentioned in the blog.
Learn more about how Puppet Enterprise can support your Day 0/1/2 server provisioning plans — no matter how many servers or nodes you’ll be managing:
START DAY 0 WITH PUPPET