In this presentation I will describe my methods for creating change within and across organizations and provide specific examples of how to begin a meaningful shift towards making DevOps a standard practice within your organization.
Last week I was lucky enough to have ActiveState pay for me to travel to and attend DevOps Days Atlanta. I was also selected as speaker.
For modern web application development, having dozens of unit tests is not enough anymore. The actual code coverage of those tests would reveal if the application is thoroughly stressed or not. For tests written using the famous Jasmine test library, an easy way to have the coverage report is via Istanbul and Karma.
Like the iceberg that sunk the Titanic, a lot of your technical risk may be hidden or ignored until it is too late. You need to understand how big the risks are and take responsible steps to manage them.
Using @Autowired to inject Java Beans is trivial, but we can also use this annotation for java.util.List, or java.util.Map as well. How have I been taking advantage of this feature? There were cases where I needed to add a common logic in the framework module which would detect all Beans of a given type, even the ones defined in the specific module.
In the DataSift Operations team we try to automate as much as possible to leave us with more time for concentrating on more important tasks. I’d like to share some of the interesting snippets from our Opscode Chef recipes that might help you save some time too.
One blogger, going by just "James," hacked together a finite state machine with Puppet to model thermodynamic phase transitions.
The last two days were extremely interesting at the DevOps Days Conference in Tel Aviv. It was impressive to see the amount of professionals that attend and the amazing energies that supported a great open space sessions and networking.
We have been using Puppet 3 for a quite some time now, and one of the main reasons to upgrade from Puppet 2.x was the ability of using Hiera as a data backend for all the variables that customize the different VMs
Suppose that you have a Maven project and you want to download Node.js modules previously uploaded to NPM. One way of doing that without running node is by using the npm-maven-plugin
The concept of shifting left is not just about security from the start, it’s about shifting all activity to the left. It’s about shifting activity that falls under the purview of the DevOps “team”
It often happens that the Development team adopts Agile whereas the Ops team continues to work in a phased manner where handovers from Dev to Ops need a long notice period. Many large organizations have actually achieved frequent deployments using strong DevOps roles, practices and tools.
Automated dependency management and build systems are often something you spend a lot of time on up front, and never touch again.
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.
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.
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.
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.