That same month Addison Wesley published “Continuous Delivery,” in which coauthors Jez Humble and David Farley described a new model (adapted from Martin Fowler’s work) for the delivery and deployment of software. As Jez and David described it, Continuous Delivery (CD) borrowed from concepts in continuous integration of building and automating testing into the development process to ferret out bugs in code sooner. And as Martin Fowler himself writes, “Dave and Jez’s book picks up the story from CI to deal with that ‘last mile,’ describing how to build the deployment pipeline that turns integrated code into production software.”
Though the DevOps movement had been around for a couple of years, it was at this same conference that Patrick Dubois presented “Continuous Integration for the World”, where he discussed the difficulties in configuring environments, managing code thrown over “the wall,” and demoed some of the tools he used to help manage all of it. But for Patrick, DevOps was as much about culture and skills as it was tools. Since that time, these concepts have merged, and both open source and proprietary tools have come to fill the gaps. When you consider the pipeline, these tools span the distance from source code/repo management, configuration management and continuous integration (CI) to release automation, testing, and log aggregation and analytics. Given that context, it’s easy to see why the “DevOps” term has morphed.
So, how do you define “DevOps” today?
In most ways, DevOps still defies description, in part because marketers have hijacked the term and distorted its meaning. If you consider its origins, one might conclude that it’s a confluence of all that’s come before it: software lifecycle, ALM, continuous delivery, and various flavors of agile methodology with a little lean thrown in. In that light, DevOps spans the CD pipeline and is therefore part design patterns, part engineering practices, part tools and part culture. But does that, in turn, mean that developers consider themselves to be part of DevOps? Not so much.
Wikipedia defines DevOps as “a software development method that emphasizes communication, collaboration (information sharing and web service usage), integration, automation, and measurement of cooperation between software developers and other IT professionals.” Accepting that definition leaves us back at the wall, only the boundary has moved. Agile methodologies already stress communication, collaboration and even measurement of team velocity. The only real distinction seems to separate coders from everyone else.
J.P. Morgenthal says to “Forget what DevOps is, focus on DevOps goals.” Development, QA and operations each plays a role and if any is approached in isolation, it will force a wait state or create a backlog. The goal of DevOps (and Continuous Delivery) is to reduce the cost, risk, and time of delivering incremental changes to customers.
DevOps at Sumo Logic
How might logs play a role in DevOps? While logging has traditionally been seen as an operations concern, developers are finding that logging can be especially helpful for troubleshooting problems in production, where a debugger is not an option. Consider first that logs come from hundreds of sources. For developers, the primary categories of interest include application logs, system logs and API logs. Through the use of Event type IDs and explicit transaction tracing, developers can dump the debugger and use logging instead. One side benefit to this is that developers and ops teams can use the same tool for diagnosing problems in any environment.
Sumo Logic goes beyond log aggregation by delivering out-of-the box dashboards, reports, saved searches, and field extraction capability for many popular data sources. When an app is installed in Sumo Logic, these preset searches and dashboards are customized with source configurations and populated in a folder.
Sumo Logic address five common use cases, three of which are directly applicable to DevOps:
- Decrease app time to market. With Sumo Logic, DevOps teams can implement a consistent release process resulting in on-time releases. They can easily identify application issues and configuration changes across development, test and deployment environments.
- High availability and increased performance. Sumo Logic enables issues to be identified before they impact the application and customer. Precise, proactive analytics quickly uncover hidden root causes across all layers of the application and infrastructure stack.
- Accelerated Cloud deployment. Sumo Logic enables DevOps teams to automate and speed the development and deployment process for cloud-based applications. These teams can rapidly detect, identify and resolve application issues.
- Real-time insights. With Sumo Logic you can easily extract machine data insights to provide greater intelligence around customers, products, and application usage. These insights provide a more accurate and complete analysis for business users.
- Enforce compliance. Sumo Logic delivers a simple, proactive and automated process to audit and investigate operational, security and regulatory compliance incidents. All data is centralized, secured, and easily analyzed in real-time through a single, highly scalable solution.
If you haven’t tried Sumo Logic yet, sign up for your free account. It’s quick and easy. Within just a few clicks you can configure streaming data, and start gaining insights into your data in seconds.
This post logs my first here at Sumo Logic where I will be growing our Developer Programs. So it is my plan to blog frequently, present solutions and best practices, and share upcoming plans we have in store for Sumo developers. Over the coming weeks we’re planning to launch a new microsite to serve our DevOps community. I’m also looking forward to bringing new programs that support our developer community by building out and curating technical blogs, feature articles, video presentations, and other technical content that developers will find useful in their daily practice.
We’ll also be featuring guest blog posts from fellow devs. If you have an idea for a developer-related blog post or feature article, ping me (@codejournalist) on twitter and I’ll get in touch.
1. Fostering DevOps Through a Center of Excellence, JP Morgenthal, DZone Research, 2015.