Travis CI is a hosted distributed continuous integration for the open source community. It has some features that aren't found anywhere else. It is integrated with GitHub and offers first class support for multiple technologies. Today the project has added support for Java, Scala, and Groovy!
Dave Farley is co-author of the book "Continuous Delivery" which describes the use of high levels of automation and collaboration in the delivery process to ensure high quality software and a reduction in errors and late nights. His talk at Devoxx introduces the ideas of Continuous Delivery as a practical everyday process, using some of the techniques and technologies that LMAX employ in their development environment as an example.
I’ve been using Puppet to mange systems for the last four years (at least!) however a new contract has meant I’ve needed to learn Chef. A few months ago I was looking for a blog post on the differences between puppet and Chef written from an objective point of view and the fantastic @nathenharvey produced a blog post about exactly that topic. This post is more of a comment on my feelings about the two different systems and comparing the way in which they work.
I have a weird idea. What if, with every change we made to our codebase, we tried to increase our understanding of it a little bit? This is challenging because codebases always go in the opposite direction. How do you increase understanding on a large scale, then? Let's go through a few approaches, none of which are earth shattering.
Your avoidance of Technical Debt shouldn't block all other tasks because of one issue. It's better to have a partially automated solution, than none at all.
It’s literally a 15 minute job to setup automated data syncing with SQL Data Compare and see it in your TeamCity CI build list including the output describing what was affected. And of course you get all the usual TeamCity notifications if something goes wrong.
There are many advantages Jenkins can offer Apache Subversion users, one of which is the option of automatically polling Subversion repositories for changes, and creating a new build whenever changes are detected. Implementing this functionality is made easy in this tutorial.
Learn the answer to three questions regarding filename expansion in bash that you should have been considering long ago: What does the example script do if there is a file abc in the current directory? What if you run the same script in a directory without any files? And what if you run the example script and in a directory with no filename?
Collectd is a powerful tool for gathering metrics using its wide range of plugins, such as cpu, disk, load, memory, etc. But there is a lack of good frontend tools for visualizing the data collectd produces. Graphite is an amazingly powerful tool from Orbitz for visualizing metrics, but there is a lack of tools for gathering host-level stats and sending into graphite. Wouldn't it be great if we could leverage the strengths of both tools?
Using tools like Maven in the Java world or Bundle in Rubyland you can explicitly list all the dependencies and versions you need. But there are some critical dependencies that are never set. It is just too simple. However, from the point of view of the operations team the number of requirements is complex.
Moncli is a generic MONitoring and metrics collector CLIent which executes and processes requests on an external system in order to interact with the host's local information sources which are normally not available over the network. Get the full introduction to this decentralized, horizontally scalable monitoring framework from the creator and his documentation.
We have taken advantage of an under-appreciated feature of Puppet that allows us to manage our servers in a completely decentralized manner. It's called Master-less Puppet and supply_drop. In this tutorial you'll learn how and why you would use these features for Puppet.
According to one report, “applications carry on average $3.61 of technical debt per line of code”. The figure seems a bit arbitrary and absolute in a context where there can be so many variables. This review will give you a better idea of technical debt by looking at different kinds of technical debt, and how much they might cost you.
I’m currently working on a project that involves running Drupal on Amazon EC2. To save time in setting up future new VM instances, I decided to take the opportunity to learn puppet. I’m using a single VM to run the full LAMP stack and running puppet without a server by copying my puppet manifest to the VM and using puppet’s apply command to apply it locally.
In my latest post I described an approach we’d been taking when analysing how to rewrite part of an existing system so that we could build the new version in an incremental way.
One blogger has made his opinion known about DevOps recently, calling it a power grab for devs and cloud vendors who envision a "NoOps" world. I have a few opinions about what he says, but let's hear what you think.
By now most developers and IT folks recognize the groundswell behind OpenStack and why it's so awesome to be able to build your own cross-platform cloud infrastructure. If you want some simple tools, scripts and guides to get you started with OpenStack without having to learn about every aspect of the technology.
This article suggests a common solution to the common problem of users trying to access information within a company using applications that have not been developed as part of a cohesive strategy. Morgenthal looks to DevOps to foster communication between engineering and operations.
Selling software is hard. Ayende Rahien knows because he has his own product that he sells. One of the big difficulties is how to keep improving the product so that there are continual 'major' new releases with new features that are enticing enough for people to buy the next version. Join in Ayende's discussion on the best ways to monetize our software with concepts like continuous deployment.
In giving his feedback from the LISA 2011 conference, Kris Buytaert provided his personal vision for the perfect DevOps conference.
I first used automated installation by PXE-booting physical rack servers in 2002, following the advice I found on the then-current infrastructures.org site, and in later years applied the same concepts with virtualized servers and then IaaS cloud instances.
William Hertling, a Science Fiction writer in his spare time, shared an wild experience on his blog about how in his day job (at HP) he was approached Monday afternoon and told he had to scale a web app up to handle about 10k simultaneous users by Thursday morning. Some great lessons for those of you who need to be prepared for this situation.
The problem with turning over rocks is that there’s usually ugly stuff hiding underneath. You retro every 2 weeks and you list out all the stuff that isn’t working. You diligently collect all the deltas and turn those into actions. You collect all the actions from your retro’s and your post-mortems and you track them in a tool where they sit… forever.
Earlier this week Inuits hosted a 2 day hackfest titled #MonitoringSucks. Kris Buytaert attended and shares his experiences looking at various monitoring tools. He was introduced to some really promising projects.
A key strength of the Sensu monitoring framework is the ability to re-use existing Nagios plugins. Nagios has been around for at least 1000 years according to most recent archaeological discoveries. In this article I’ll demonstrate creating a Sensu check with the check_http Nagios plugin.