Check out these slides about applying DevOps to the enterprise level, by Sanjeev Sharma at IBM: "Mobile to Mainframe: The Challenges and Best Practices of Enterprise DevOps"
In this case, after several hours (8 to 12, I'm guessing), we discovered that we would start getting errors such as EsentOutOfSessionsException on some of our sites. Reviewing the code, I found some places where we weren’t properly disposing the sessions, which could explain that. So I fixed that and pushed a new version out. It took a bit longer this time, but the same error happened.
Today’s installment features Puppet Labs‘ Andrew Parker, team lead for the core platform team. Check out what Andrew has to say:
We're planning to create a new set of whiteboard videos later this week, but in the interim, we wanted to shared four new videos that were created last week at LinuxCon and CloudOpen.
The only reason I’m still doing ops work is because I get to write code. If you were to offer me an ops job where all I did all day was figure out tough problems for other people to code solutions to, I’d tell you to suck it.
Yesterday I was invited to share my thoughts on infrastructure monitoring and stability in an Atlassian Open DevOps Dojo hangout. It was great to be able to join infrastructure gurus Roy Rappaport (Netflix), Jeff Behl (Logic Monitor), and Mark Breitung (Atlassian) for some data-nerd-on-data-nerd conversation.
Merging a branch is a pretty common operation when using Git. In some circumstances, Git by default will try to merge a branch in fast-forward mode. How is this different from a merge without fast-forwarding?
I really like Maven, and I really like the declarative build style, but recently I finally came to understand why Gradle is better. For small projects that produce a common library JAR, you can still use Maven, but real-life, complex software projects always contain a lot of support scripts for deployment, copying artifacts, and so on.
With the explosion in popularity and usage of Git and its distributed version control brethren, developers finally have cheap, easy, local branching. But branching is pointless without merging, and many organizations are finding that the free-for-all merge process with Git can leave your organization with (mostly by being totally silent on the subject) is error-prone, doesn’t scale, and may even destroy content!
I got a chance to chat with Andres Bang, head of global sales and operations systems at LinkedIn. Andres told me, ”Dell Boomi is doing to the integration industry what SalesForce did to the CRM industry 10 years ago,” hear what else he had to say:
Even though the concepts of “dependency injection” and “loose coupling” have been advocated and written about for at least the past decade, I’m still routinely finding examples that make me think, on the whole, that we developers may be underestimating the power of these simple ideas and their related practices.
Static API throttling and elastic API scaling are complementary design techniques. Static throttle limits ensure that you can limit aggregate maximum demand and rightsize back-end capacity for worst-case load. Elastic infrastructure reduces the lead time required to scale infrastructure up and down, and meet demand.
Last week I was out in San Francisco for VentureBeat’s CloudBeat conference. One of the panels I sat in on was “API’s the Key that Unlocks the Cloud.” After it ended I grabbed some time with panelist John Musser, founder of the web’s API directory ProgrammableWeb. John shared his views on APIs past, present and future.
Aaron and Brian talk with Thomas Hatch, creator of SaltStack, about DevOps, continuous integration, Jenkins and SaltStack architecture.
I met with Ben Golub, Jerome Petazzoni and Nick Stinemates of dotCloud, the company behind the wildly popular open source project, Docker, “the Linux container engine.”
Deployment of large systems is easier today, and will be even easier in the near future. You just need to choose the right tools.
A threshold test is a test inserted into a deployment pipeline that monitors some measurable phenomenon by comparing the value in the current build against a threshold value. Should the current build's value pass the threshold, the test fails, failing the build.
We will run two instances of our service, on two different ports, with HAProxy in front of them. We will use HAPRoxy’s health checks to trick it into believing that one of the instances is partially unwell. HAProxy will thus send it only the existing sessions, while sending all new ones to the other, “fully healthy,” instance.
Setup and start a dev environment with the application server and a database using just Maven, Jetty and HSQLDB.
This example shows that using cost of delay and CD3 within continuous delivery validates Mary Poppendieck’s argument that “basing development decisions on economic models helps the development team make good tradeoff decisions".
DevOpsDays is coming to Vancouver, BC, on October 25th and 26th, woohoo! The conference format is simple: talks in the morning, and open spaces in the afternoon.
For the experienced software developers out there, I have a question: what are the main things you believe, based on your experience, most influence the success of a software project?
A couple of years ago I talked to Jeremy Stretch. I was not really that knowledgeable of tools like Puppet and Opscode at the time. He told me I needed to look at Puppet and integrate it with Junos. And so began my march towards these types of tools and DevOps more generally.
Are you using Puppet in the client-server setup and want to test the configuration for a particular node without actually changing it? You can do that by fooling Puppet Master into believing that a Vagrant virtual machine (VM) is that node and applying it there.
As I said previously, it’s very easy to turn a Linux machine into Heroku-like server. But, before setting up a paying account on Amazon or Digital Ocean, it’s nice to just play with it locally. We will do just that by running Dokku on a virtual machine.