Creating an example CDN role
We will start by constructing a module for a web server (the cliché example). What though, is a web server? Is a web server an Apache server or a Tomcat server or both, or maybe even nginx? What filesystems are required? What firewall rules should always be applied? The design problem is figuring out what the commonalities are going to be and where to divide. In most enterprises, creating a blanket "web server" module won't solve any problems and will potentially generate huge case statements. If your modules follow the roles-and-profiles design pattern, you shouldn't need huge case statements keyed off $::hostname; nodes shouldn't be mentioned in your role module. To illustrate this point, we'll look at an example ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access