We make software that makes things work. Freelance sysadmin and infrastructure consultants, we love Puppet, Rails, Linux, EC2, Nagios, Drupal, MySQL and most types of crisps.
When doing software testing, your testing tool is normally separate from the language and libraries you're building the software with (but almost always written in the same language). When testing your infrastructure, I think it makes perfect sense to apply this practice.
Can you remember the last time when you had to apply patches or config file changes to a system. And did you have that fingers crossed feeling? Wouldn't it be great that you could install a patch and run a series of tests to see if everything behaved the way it should?
Cloud computing says that building servers is undifferentiated heavy lifting; unless your service is building servers, you should really let someone else do it and focus on the product or service you’re actually trying to sell. Configuration Management is the first step in bringing this same ideology to configuring systems.
Hosts in a well-architected enterprise infrastructure are self-administered; they perform their own maintenance and upgrades. By definition, self-administered hosts execute self-modifying code. They do not behave according to simple state machine rules, but can incorporate complex feedback loops and evolutionary recursion.
Resources to help you learn about Puppet or master more advanced technical issues.
think it makes sense to use a tool like Puppet for the initial configuration of the OS and of the packages required by your application. When it comes time to deploy your application, I think a tool like Fabric is more appropriate.
So far, my biggest problem with Nagios has been finding the time to add new systems to it, figuring out what services to check, etc. It’s not a particularly difficult thing to do, but in the grand scheme of things, it was just something that always fell by the wayside in the drive to get more systems set up, deal with user problems, and put out the inevitable fires. That is, until recently.
People complain that Puppet is non-deterministic. On a certain level that is like complaining that threads are non-deterministic. That’s the way the model works by design. If there is logic that depends on the order of execution, that code needs mutex/syncronization. Threads create issues, but they also solve some.
Setting up a staging environment for your modules, manifests and files on the puppetmaster. Test your modules, manifests, templates files and facts before deploying on production servers.
Other tools and frameworks for configuration management.
Moonshine is an opensource configuration management and deployment system that follows the Rails way, simplifying server configuration, dependency management, and Rails application deployment, using Ruby and Puppet.
slaughter is a simple tool which will allow policies to be downloaded, via HTTP, from a central server and executed upon a local machine. The intention is that these local policies may be written in a portable fashion and used to automate the administration of a large number of Linux machines.
SynergyKM is a GUI wrapper around the synergy command line tool that lets you easily share a single mouse and keyboard between multiple computers with different operating systems without special hardware.
If you own a small business, you have probably entered into a contract with a consultant. Most people don’t realize that every consulting agreement should contain a minimum of nine elements. If those elements aren’t included, you will probably not have a successful result.
Unconsciously, everyone expects a startup to be like a job, and that explains most of the surprises. It explains why people are surprised how carefully you have to choose cofounders and how hard you have to work to maintain your relationship. You don't have to do that with coworkers. It explains why the ups and downs are surprisingly extreme. In a job there is much more damping. But it also explains why the good times are surprisingly good: most people can't imagine such freedom. As you go down the list, almost all the surprises are surprising in how much a startup differs from a job.
If you are running more than one Drupal site, you can simplify management and upgrading of your sites by using the multi-site feature. Multi-site allows you to share a single Drupal installation (including core code, contributed modules, and themes) among several sites.
This is a detailed howto article, but you can skip the parts that you don't need easily, and it will get you up and running with an enviable Nagios Drupal Monitoring station.
We've all heard Drupal can run every site from your personal blog to massive social networks. The framework is flexible and powerful enough to do anything. The showcase list of Drupal sites is impressive and growing.
Drucumber is a new module that converts native-language like text into a Drupal Simpletests. The goal of this module is to allow end-users and project teams to implement behavior driven development: specify behaviors or features of a Drupal site in a test and never again worry about checking it.
Basically it adds a hidden form element which your users won't see, but automated spambots will. If anything is placed in the textfield, validation fails. So instead of making the user prove that they are human, we allow the spambot to betray itself as a bot.
Performance tuning, caching and scalability topics for Drupal.
Lifetime Digital case study highlights the proven scalability and performance of Drupal websites in a high traffic environment. By utilizing Akamai technology for caching of rich media and for anonymous users, Lifetime Digital's 6 Drupal sites have proven successful in supporting 50 million page views per month.
As anyone who has developed a Drupal site with devel module’s query logging on can tell you, a Drupal implementation can quickly get out of control when it comes to hammering the database.
Search engine optimisation and web marketing techniques.
Sales-based sites are where SEO really comes into its own in terms of return on investment, and it literally is the case that even the smallest tweaks can result in real increases in revenue. So here are seven ways to help transactional e-commerce sites boost their search rankings.