For a while now, we had been operating in the wild west when it comes to building our applications and deploying to production. Builds were typically done straight from the developer’s IDE and manually deployed to one of our app servers. But all that has changed, and here's how...
Kief Morris presents a brief step by step guide to running more than one instance of Tomcat on a single machine. It involves four steps: installation, directory creation, port configuration, and startup.
The last two posts in this series have covered what the overall system will look like and how to ensure your Puppet server is ready to receive the files from the SCM repo via Capistrano. This post will cover setting up the test server using JenkinsCI and creating some tests.
I’ve been playing around with Capistrano over the past few weeks and I’ve recently created a way to use the power of Capistrano’s “deploy” and “rollback” features with Puppet and MCollective to enable me to have complete control over the deployment of my system configurations. Now you'll learn how to do it.
This series of tutorials will help you move towards full testing, integration and deployment of your systems - enabling continuous delivery of server configurations. The tools used in these tutorials include Git, Jenkins, Puppet, MCollective, and Capistrano.
There are statsd clients in many languages and there are also many implementations of the statsd server. There were no resources that listed all of the different implementations, so Joe Miller decided to start one here.
Using a build pipeline to model release orchestration and planning activities is simply a bad fit. It feels like wearing shoes a size too small. You can squeeze into them and they protect the soles of your feet, but expect pain. In this post you'll learn one of the limitations of traditional CD and an approach for accomadating those limitations.
Kris Buytaert was bitten by an empty search the first time he set up Logstash, but he did find out how to get past that little issue and later learned some other very interesting caveats about using ElasticSearch while logging with Logstash.
The TeamCity feature from JetBrains allows for integration of EC2 and their Continuous Integration platform.
Aaron and Brian talk with Nick Weaver (@lynxbat) about recent conferences (CiscoLive, PartnerExchange, Cloud Connect), the Open Cloud controversy, the evolution of DevOps, and how IT will eventually break off space for new apps. Nick also explains how he name-dropped Christian Reilly (@reillyusa) to meet Adrian Cockcroft from NetFlix.
Configuration Drift is the phenomenon where running servers in an infrastructure become more and more different as time goes on, due to manual ad-hoc changes and updates, and general entropy. Here's what you can do about it...
Learn how to create a build system that sends code quality metrics to your whole team every day. TeamCity and NDepend will be great for generating reports via a build server on a nightly basis so they’re sitting there first thing each morning.
Cucumber-nagios is a tool for using the Cucumber Behavior-Driven Development framework with Nagios server config. It's installation is simple if you make sure these dependencies are installed first…
Microsoft has announced some awesome new DevOps tools that they're integrating into their newest release of Visual Studio, that's slated for beta release on February 29th. Will this lessen the awkward encounters between developers and operations? Try out the beta next week and let us know!
Apple includes a new prefPane in Xcode 4.1 and Lion called “Network Link Conditioner” that simplifies network simulation, and even includes a few profiles to get you started. Pretty cool feature. Especially useful for iOS developers.
Ayende Rahien describes a very interesting problem (and a fairly common one) around monitoring events that you want to happen, but don't. You might have a big problem if no error notifications are sent in these situations.
If you're having issues with Puppet scalability for a large number of workstations, Tom O'Connor has a fix to share that uses Passenger/mod_rack. O'Connor also tries a solution for fixing his problems with apt-cacher-ng server.
I’m a big fan of Ant, I’d usually choose it (or probably Gradle now) over Maven any day of the week, but there was already an existing Ant build system in place, which had grown a bit monolithic (that’s my polite way of saying it was a huge mess), so I didn’t want to go there! And besides, the first project that would be going into the new continuous delivery system was a simple Java project – way too straightforward to justify rewriting the whole ant system from scratch and improving it, so I went for Maven.
OASIS has released information about a proposed new cloud portability standards initiative: TOSCA. Take a look to see if this a standard that you would use.
This article on "Murder," a web application deployment tool, is not a “Beginners Guide” but rather a collection of d hints/tips that that can help you deploy any web application from SVN.
The traditional model is to have Ops ask Dev what metrics they need monitored & to set those up. But this is a bad practice because this often means that monitoring can’t start until the metrics are available in the code, which can take days or weeks.
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.