Author: Tony Bradley

  • Gene Kim shares his thoughts on upcoming Jenkins User Conference

    Gene Kim shares his thoughts on upcoming Jenkins User Conference

    DevOps is coming to Virginia June 18 and 19. The Jenkins User Conference is being held in Alexandria and one of the keynote speakers is none other than Gene Kim—one of the original leaders of the DevOps movement. I had a chance to speak with Kim about what he plans to present and about his thoughts on the current state and future direction of DevOps in general.

    Kim told me he’s looking forward to speaking in front of the Jenkins User Conference audience. One of the core elements of his presentation will be a closer look at the principles and patterns of successful DevOps organizations and the lessons we’ve learned so far as a DevOps community. He told me he’s not interested in “unicorns”—the big name companies like Netflix or Facebook that were early adopters and DevOps innovators. He is more interested in the “horses”—ordinary companies effectively employing DevOps to do extraordinary things.

    Over the last year or two I have written a number of articles around the theme of DevOps being undefinable. I’ve asserted that there’s no default DevOps solution and that if you asked 10 different organizations to define what DevOps means you’d get 15 different answers. Gene Kim does not agree.

    Kim told me that he takes the completely opposite position—that there are unmistakable characteristics of DevOps. An organization can choose to call something DevOps, but according to Kim if it’s lacking in these core elements it will not succeed.

    He said that there are certain core principles that comprise DevOps and enable organizations to develop and operate faster. The principles Kim listed were peer review, less management approval required, rigorous automated testing, the ability to create entire environments on demand, and one-click deployment. Many of the core elements are a reflection of the culture shift required to successfully implement DevOps.

    Kim didn’t just pull this stuff out of thin air, either. He and some partners recently shared the results of a comprehensive study of 9,200 organizations scattered across 110 countries. The research revealed that the high-performers—those who have successfully embraced these core principles—do better than the non-high-performers by two orders of magnitude or better.

    Put another way, those organizations that are employing DevOps effectively are poised to blow their rivals completely out of the water. DevOps isn’t just a different approach to infrastructure or development—it has a direct impact on the bottom line. One part of the study found that high-performers have 8,000 times faster lead times than their peers. How can an organization that isn’t using DevOps compete with a rival that can produce 8,000 times faster than they can?

    That brings me to the other aspect of the Jenkins User Conference that Kim is excited about: the diversity of the organizations represented there. Both in terms of the companies represented by the presenters and the companies represented by the attendees, it’s apparent that DevOps has reached a critical mass of mainstream adoption. Organizations from Agilant and AirBus to IBM, Perfecto Mobile and Pivotal have respected professionals sharing knowledge about DevOps.

    If you happen to be in the Alexandria area or plan to be in a couple weeks you should try to go to the Jenkins User Conference. If you’re company isn’t using DevOps you’re already behind the learning curve. If you don’t catch up soon a competitor will out-perform you by two orders of magnitude and you won’t have a company anymore.

  • BlazeMeter harnesses open source to deliver continuous testing for DevOps

    BlazeMeter harnesses open source to deliver continuous testing for DevOps

    DevOps is all about efficiency and automation—streamlining development and deployment. In order to deliver quality code quickly a culture of continuity is required—including continuous testing. BlazeMeter provides organizations with a platform for continuous performance testing in a DevOps environment.

    BlazeMeter claims to be a more affordable—and in some ways more powerful—performance testing platform than HP LoadRunner. The platform isn’t completely unique. It is harnesses and repackages the features and capabilities of JMeter similar to the way that the very popular code repository GitHub is built on the open source Git project.

    Open source projects are a very effective engine for creating tools and applications organizations need. The collaborative, crowd-sourced nature of open source projects leads to a solution that is more likely to appeal to a broad consensus. Where open source tools often fall short is in polish and support. Contributors are primarily focused on features and capabilities that impact the tool or platform itself. Organizations, however, also want the metrics and reporting generally provided by an independent software vendor (ISV) as well as the peace of mind of knowing where to turn for support.

    That’s where a company like BlazeMeter shifts the value proposition and makes the open source tool better…for a fee. I’m not suggesting there is anything wrong with that. As I noted above, many organizations crave or demand a solution like BlazeMeter rather than the open source tool it’s built on because they need additional features and support.

    I spoke with BlazeMeter Chief Evangelist Ophir Prusak about new features and capabilities introduced recently by BlazeMeter. Last week the company launched a new suite of features aimed specifically at test automation for a DevOps environment. The key features include KPI (Key Performance Indicators) Trends, which automatically display graphics of KPIs for easy tracking and troubleshooting; password-free Organizations and Projects folders, allowing DevOps teams to effectively collaborate and execute tests; a Single Sign-On, facilitating quick third party access and authentication; and an improved On Premise Load Generator with newer Docker-based technology, providing increased reliability and a simpler installation process.

    Prusak and I spoke about the continuous continuousness of DevOps. We also talked about the blurred line between continuous testing and continuous monitoring. While there are products and services out there that claim to fall under one heading or the other the reality is that continuous monitoring is essentially a form of continuous testing. In that same vein continuous testing—by the very nature of being continuous—also provides organizations with persistent feedback that would alert admins and developers if an issue were present.

    In a DevOps world the traditional role of QA shifts down to the DevOps engineers and developers themselves. BlazeMeter integrates with most existing development lifecycle tools and processes so it can work seamlessly.

    BlazeMeter takes the power of JMeter and packages it up with comprehensive metrics and reporting as well as enterprise-grade support. Organizations that are striving to develop and deploy code more efficiently should check out JMeter—and then take a look at what BlazeMeter brings to the table to determine if the investment makes sense.

  • Moving from legacy to DevOps is a journey that takes time…and the right tools

    Moving from legacy to DevOps is a journey that takes time…and the right tools

    If you wanted to start a new company tomorrow it would be easy to look at the tech landscape and the prevalent trends and decide to just build everything around a DevOps culture from the beginning. Most of the companies in the world already exist, though, and they already have processes, tools in place. Making the move from legacy to DevOps isn’t just a moment-in-time decision—it’s an arduous journey over time.

    That’s where CloudBolt comes in. I had a chance last week to speak with CloudBolt CEO Jon Mittelhauser and CloudBolt CTO Bernard Sanders about the company, its vision, and the latest version of the CloudBolt platform. Mittelhauser explained that what customers appreciate about CloudBolt is the ability to transition from the past to the future on their own schedule.

    One of the problems with change is that it takes time. While the new process or tool you’re moving to might be better in every way, getting there can be a challenge. In the meantime you’re forced to manage and maintain disparate systems or platforms—both the old and the new. CloudBolt wants to help organizations reduce the chaos by providing a single platform that enables customers to administer all of the above.

    Large enterprises in particular don’t just adopt a new technology en masse. One site or department might start to use DevOps tools and processes out of necessity. Another department might also embrace DevOps—but choose different platforms and tools. Mittenhauser explained that even if the entire organization is on the same page about which DevOps tools and processes to use the transition occurs slowly over time—often by attrition as licenses expire or platforms reach the end of their support lifespan. Those customers still need a way to view and manage their entire ecosystem throughout the slow evolution.

    CloudBolt also shared that one of its newest customers—the London Borough of Camden—has adopted CloudBolt to get better insight and control of its vast virtual environment. “At a time of austerity in government, running a low-cost, flexible hybrid cloud service for our customers is essential. CloudBolt provides a service that enables our customers to get the compute power they need, on demand, increasing their productivity and reducing our administrative overheads,” said John Jackson, Assistant Director (ICT), London Borough of Camden.

    Sanders claims that CloudBolt v5—released Wednesday, May 27—makes it easier for IT admins to manage activities, applications, and services across a multi-cloud, multi-platform environment. He described a variety of new features in v5. According to the press release the list of new features includes:

    • powerful new service catalog functionality to facilitate complex, multi-tier app deployments
    • provisioning of service catalog blueprints available through both the CloudBolt web interface and a powerful REST API
    • deeper out-of-the box integration with technologies such as VMware, OpenStack, AWS, Azure, Infoblox, Puppet and Chef
    • ability to define arbitrary server actions so DevOps experts can provide simple buttons for users to perform complex operations on servers
    • ability to snapshot VMs from the CloudBolt user interface
    • increased control for administrators, including the ability to set rate-based limits and set limits on environments in addition to groups and handlers
    • significant UI improvements, including adding social aspects to the interface
    • even deeper extensibility – additional trigger points for hooks/actions
    • revamped docs, now made public: http://docs.cloudbolt.io
    • new trigger points for power on/off, rebooting servers and post-order completion process have been introduced and currency units are no longer limited to USD

    In many ways it would be easier to just switch gears and embrace the DevOps culture throughout an organization, but with large enterprises—and even some medium or smaller organizations—that is simply unrealistic. For organizations that are maintaining multiple technologies and environments during that transition a tool like CloudBolt can help IT monitor and manage everything efficiently.

    Existing CloudBolt customer can download the latest version from the support portal.

  • Stackify APM+ brings real-time application performance management to .NET

    Stackify APM+ brings real-time application performance management to .NET

    It’s a fast-paced world. Recent research from Microsoft suggests that the attention span of the average human is about 8 seconds now. That means if your application doesn’t work as expected your users will quickly move on to find a suitable replacement. An application performance management tool can be crucial to identifying and resolving application issues as quickly as possible…while you still have the user’s attention.

    Stackify introduced APM+ to give .NET developers real-time application performance analysis. Stackify has already established itself as one of the leading vendors of application performance management. Its platform monitors important metrics like CPU, memory, and disk utilization on servers and alerts developers or admins when issues arise. Now it is extending that monitoring to Microsoft ASP.NET environments with APM+.

    “The level of real-time app performance and depth of APM+ analytics is unmatched in the market. Not only does Stackify give a complete 360-degree view of how a system is spending its time and where, but it also allows developers to quickly drill down to the heart of the code and see how it can be fixed or improved,” says Stackify CTO, Jason Taylor.

    Application performance management in general, and a tool like APM+ specifically, fit neatly with the principles of DevOps. As I noted in a previous article DevOps is “continuous” at virtually every level. There is no beginning or end—no point when an application is completed and deployed and you can kick back and relax. While finishing touches are being put on an app to prepare for a new release a laundry list of changes and updates is already being worked on to develop the next release. There’s no rest for the weary (developers).

    There will always be fixes and new features to work on for an app, but application performance management gives you insight into the changes that matter most. Knowing things like which app takes the longest time to load, or which app gets called the most often, or which app is failing the most gives developers a huge advantage that allows them to devote resources where they will have the most impact.

    According to a Stackify press release, “APM+ gives developers an increased understanding at every level of an application’s performance and offers code-level profile traces to provide unparalleled system visibility — including method calls, log statements, cache lookups, DB queries, and web service requests.”

    Why is that important? A couple reasons stand out. First, you want to be proactive about identifying and resolving issues with your apps. The old-fashioned method of waiting for users to report problems is too slow and reactionary. By that point you already have disgruntled users frustrated with your app.

    The second major reason is that a tool like APM+ gives you a streamlined ability to resolve the issue(s) plaguing the app. Rather than a user reporting a problem and developers poking and prodding to investigate what the underlying issue is, APM+ gives developers visibility into metrics and data that enable them to quickly find and fix the problem.

    APM+ is focused on the .NET framework initially but Stackify notes that it plans to offer support for a broader range of development languages later this year.

  • Swim in the DevOps pool or drown in security problems

    Swim in the DevOps pool or drown in security problems

    There has been a significant shift recently in security. Most security vendors and organizations recognize that the traditional model of keeping the bad guys out by detecting malicious exploits is flawed at best. The reality is that the bad guys are already inside the network using authorized credentials to bypass security controls and exfiltrate sensitive data. That sounds ominous but the silver lining is that DevOps changes the game and shifts the advantage back to the good guys.

    There was a time when the traditional model made sense. The attack techniques used and the motivations behind the attacks were different. In recent years, however, the line between inside and outside attacks has been blurred beyond recognition. There have been some high-profile insider attacks like Bradley Manning and Edward Snowden, but the reality is that most of the “outside” attacks were perpetrated using stolen or compromised credentials. In other words there is no difference between an inside and an outside threat at the actual point of attack.

    Organizations have to guard against both inside and outside attacks. In almost all cases, though, the root problem is credential abuse. Whether it’s an authorized employee accessing systems or data in an unusual way or an outside attacker moving laterally through the network and exfiltrating data using compromised credentials the crucial part for an organization is to have detection methodology in place capable of performing anomaly analysis to identify concerning behavior and activity.

    Improving security through DevOps

    That’s where DevOps comes in. Organizations need to have continuous monitoring in place. Anomalous activity isn’t something you can just conduct a daily or weekly scan for. If you don’t detect the activity in real-time and do something to stop it immediately the damage will already be done by the time you retroactively review log data and discover the breach.

    Things are heading in that direction—but slowly. The good news is that DevOps seems to be picking up steam as more security vendors and organizations face the reality that the traditional security model can’t effectively protect against attacks.

    “The DevOps movement is really gaining momentum but unfortunately still small,” agreed TK Keanini, CTO of Lancope. “It is a small but passionate community that can do nothing else but grow and help fill a void as we move from traditional enterprise IT to Internet IT. The tempo of DevOps is its major security feature and—with the principals of John Boyd’s OODA loop—has a winning formula to make it too expensive for adversaries to attack.”

    DevOps isn’t just a trendy way of providing or delivering security. The security vendors themselves are also starting to embrace DevOps internally as a means of keeping up with attackers and working to develop new tools and techniques more effectively and efficiently.

    Keanini explained that everyone will be moving to DevOps over the next 3 years—just not all at the same time. “Where IT was infrastructure and development was applications, suddenly infrastructure is the application or you could say that applications have become infrastructure but in either case, the business is forced to redraw the org charts and redo the processes.”

    Jump in! The water is great

    Attacks are relentless and attackers are nothing if not innovative. If you’re using yesterday’s security tools and techniques to defend against last week’s attacks and attackers you’ve already lost. Organizations need to move faster to stay ahead of attacks, and the most effective way to accomplish that goal is to incorporate DevOps tools and principles into the security model.

    Keanini summed up with, “It is exciting and I encourage folks to start jumping off the diving board as they are filling up the pool.”

  • The continuous continuousness of DevOps

    The continuous continuousness of DevOps

    Defining DevOps is getting easier, but it’s still an elusive goal. Part of the challenge is that DevOps is more of a culture than a specific “thing” and how that culture exists is subjective and varies from one organization to the next. DevOps is what you want or need DevOps to be to some extent, but one thing seems to be consistent no matter how you define DevOps—it’s continuous.

    If DevOps is the buzzword du jour for tech, then continuous is the buzzword du jour of DevOps. Everything is continuous. Continuous development and continuous testing lead to continuous deployment and continuous delivery, which requires continuous support. Continuous monitoring produces continuous integration and continuous change. Continuous security results in continuous incident response…or vice versa. To top it off, all of the continuous activities continuously feed each other to drive more continuousness in some sort of DevOps Mobius strip of continuity.

    What does it all mean? I mean, aside from being a catchy buzzword and making that new DevOps tool or service sound sexy and impressive?

    In a nutshell it means there’s no end. You don’t really reach a point where everyone can shut down their PCs and grab a beer to celebrate the completion of the project. The project—whatever it is—is more of a living, evolving thing than a deliverable.

    There’s also no beginning—or at least no new beginning. All of the continuous activities cycle back over each other like a Spirograph drawing. Have you ever tried to find the beginning or end of a Spirograph drawing? Good luck.

    DevOps is the Alpha and the Omega, the beginning and the end, the first and the last.

    When you strip out the buzzwords what it really means is working in a more effective and efficient way. I’ve worked on software development projects the old-fashioned way. No, not Agile—Waterfall. The cascading tasks feed each other in what appears to be a logical progression. It makes sense to define requirements, design the software, implement it, test or verify it, and then kick back and go into maintenance mode…on paper at least.

    In the real world new requirements are discovered when you’re ready to implement, and testing results in new design elements. Those new requirements need to be designed and the new design element needs to be implemented and it all needs to be tested and maintained which inevitably creates new requirements, design elements, and so on.

    Waterfall was already DevOps—it was just dysfunctional because each “continuous” loop was treated as a unique and separate project. Items that were identified after the design phase were just accumulated on a list to be incorporated into the next phase or iteration. The net result was producing a somewhat stable product that you already knew was flawed, but that you’d get to fixing eventually.

    Agile development accelerated some of the feedback loops of Waterfall and resulted in faster refinements to projects, but it still had issues. The primary issue is that developers can’t go faster by themselves. Developers are just one cog in the machine and producing software faster just creates a bottleneck if operations isn’t prepared and the infrastructure isn’t ready to handle it.

    Chris Riley explained the challenge of Agile. “However, the Ops department was inherently left behind with deployments piling up faster than they could be released and customers never actually received the value they demanded. This trend ultimately gave rise to DevOps, a new-age version of Agile methodology encompassing the Dev and Ops segment to enable service delivery agility and quality.”

    Another way of looking at it is that DevOps is an evolution of Agile. I wrote recently, “DevOps is just a natural extension of Agile. It takes the guiding principles and best practices that Agile brought to developers and applies them on a much broader scale across the organization.”

    So now everything is continuous. There is no top of the waterfall that cascades through multiple layers until you reach the bottom of the waterfall. Now there’s a continuous culture of continuity. It may sound confusing when viewed through all of the various buzzwords, but when you step back it makes sense. It makes sense because that’s really the way it worked—or should have worked—all along.

    DevOps gets processes and policies out of the way to enable people to get things done more efficiently. For some reason we’ve decided that every element should be labeled continuous—which actually makes it sound a little frenetic or overwhelming. Maybe we should use “efficient” instead. That can be our new buzzword.

  • Get started with Docker with video training course from O’Reilly

    Get started with Docker with video training course from O’Reilly

    Container platforms seem to be the fuel driving the next wave of app development. Docker didn’t invent the concept, but Docker’s meteoric rise made container technology mainstream. Don’t worry if you’re still not quite sure what Docker is or how to use it—O’Reilly Media has you covered with its Introduction to Docker video training course.

    Catch the Docker wave

    If you aren’t already on the Docker bandwagon you’re a little behind the curve at this point. Docker breaks down barriers and enables developers to deploy apps more effectively and efficiently with less effort than traditional application development and deployment technologies. Docker lets you build an app in any language, and run it on any platform that supports Docker containers.

    At this point there aren’t many platforms that don’t support Docker. It has quickly become the de facto standard for container technologies. Microsoft has its own Windows Server Containers and recently introduced more secure Hyper-V Containers, but it also partnered with Docker to bring Docker containers to Azure, and it is working with Docker to integrate native support for Docker in the next release of Windows Server.

    In a nutshell, Docker is here to stay. If you’re developing and deploying apps its imperative that you know what Docker is and how to use it or you may get left in the dust.

    Learning Docker

    The Docker video training is presented by Andrew Tork Baker. Baker is an independent consultant based in Washington, DC and is a respected resource when it comes to Docker containers. He also goes by the handle “atbaker” and wrote spin-docker—a lightweight open-source Platform-as-a-Service powered by Docker and Flask.

    The entire training session is one hour and 46 minutes and costs $60 to download or stream from O’Reilly. You can watch the first three segments—about 10 minutes worth of content—for free to get a feel for the scope and quality before deciding whether or not to purchase the training.

    The video quality is adequate. Baker speaks a tad fast in parts—probably an effort to prevent the training from running too long or becoming boring. Overall, though, he speaks clearly and presents the materials in a way most people should be able to comprehend. That said, it’s an introductory course so don’t go into this planning on being a Docker guru in a couple hours.

    Baker covers a range of topics in the course. He starts from an overview of what Docker is (and isn’t) and how to set up your Docker development environment (both of those segments are part of the free preview), and then moves on to basic Docker concepts, working with containers, and finally to more advanced areas like Dockerfiles and how to deploy a Docker app to the cloud. The training concludes with recommendations for additional resources to continue diving deeper and learning more about Docker.

    There are only a handful of reviews for the Introduction to Docker video training course so far, but they’re all positive. So far it has an average rating of 4.5 out of 5 stars, and all of the reviewers would recommend the training to a friend. The reviews do stress that it’s an introductory course, though—just enough to give you a basic understanding.

    If you’re new to Docker or container technologies and want to get a grasp on the basics this is probably a good investment of $60 and two hours of your life.

  • Hyper-V Containers combine virtualization with containerization

    Hyper-V Containers combine virtualization with containerization

    Containers are all the rage these days. You’re just not cool if you’re not using Docker or some other container technology to build and deploy your IT infrastructure. Traditional containers, however, lack sufficient security for some industries and companies, so Microsoft developed Hyper-V Containers.

    Container platforms like Docker and Rocket have significant momentum and have quickly become established as a de facto way of developing and deploying applications. Microsoft already entered into an arrangement to bring native Docker container support to Windows Server, but now it is going a step farther by creating Hyper-V Containers that combine the agility of containers with the security of virtualization.

    Hyper-V Containers ensure that code running in one container object remains completely isolated. The Hyper-V Container object cannot impact other container objects or the host operating system, or vice versa, because it is a separate virtualized container. Mike Neil, general manager of Windows Server for Microsoft, explained in a blog post, “Leveraging our deep virtualization experience, Microsoft will now offer containers with a new level of isolation previously reserved only for fully dedicated physical or virtual machines, while maintaining an agile and efficient experience with full Docker cross-platform integration.”

    IT admins will appreciate the fact that Hyper-V Containers can be created and deployed using the same development and management tools used for traditional Windows Server Containers and that they integrate with Docker for cross-platform deployment. Neil points out that applications developed as Windows Server Containers can easily be deployed as Hyper-V Containers without any modification—enabling organizations to take existing containerized apps and re-deploy them in a more secure manner.

    It seems like security is always an afterthought to any new technology concept, and containers is no exception. It started out as a good idea that caught fire, but it wasn’t until it hit critical mass and achieved mainstream adoption that security became a factor. As larger companies, or organizations in highly-regulated industries look at jumping on the container bandwagon, though, security becomes a mandatory component.

    Virtualization has been used in hosted environments for years as a means of isolating different systems running on the same physical hardware or network. Microsoft’s Hyper-V Containers take those same principles and apply them at the container app level so that security-conscious organizations can have some peace of mind and remain compliant with security mandates as they embrace containerization.

    Microsoft’s strategy of integrating Windows Server Containers and native Docker support in Windows Server and Azure was a big step in the right direction. Adding the security of Hyper-V Containers is brilliant. Microsoft is doing an excellent job of pivoting its business model and not just embracing cloud and DevOps technologies, but raising the bar and taking the lead.

    As a side note Microsoft also announced Nano Server—a new minimal footprint implementation of Windows Server optimized for cloud hosting and container technologies. The Nano Server installation includes the bare minimum components necessary. Microsoft claims the result is smaller server images, faster deployment times, decreased network bandwidth consumption, and reduced administrative overhead. In other words a Nano Server installation of Windows Server will just do what it’s supposed to do with minimal interaction or oversight so IT personnel can focus on more important things like the Hyper-V Container apps running on it.

  • IBM’s Watson sits at the crossroads between DevOps and Big Data

    IBM’s Watson sits at the crossroads between DevOps and Big Data

    While attending IBM InterConnect in late February I had an opportunity to sit in on a press conference. The focus of the press conference was primarily around IBM’s efforts related to hybrid cloud solutions, but the thing that caught my attention was a little tidbit mentioned almost in passing about an innovative way students at the University of Texas Austin had applied the power of the Watson supercomputer.

    Robert LeBlanc, senior VP of IBM Cloud, and a handful of other executives shared IBM’s vision for hybrid cloud and big data analytics with the media. The press conference ranged from data sprawl, to data visibility, to security and performance. The group talked about a focus on developers and the importance of open standards and more.

    Then there was the bit about Watson and the University of Texas. For those who may not know, Watson is a cognitive computing system. It is a supercomputer with an artificial intelligence component that enables is to analyze massive volumes of data, understand complex queries posed in natural language, and respond with evidence-based answers. It learns as it goes.

    Watson University Competition

    IBM has enlisted the support of companies and organizations around the world to help develop new applications for Watson and push the envelope of its capabilities. One of the programs that helps drive innovation with Watson is the Watson University Competition.

    Students participating in IBM’s Watson University Competition were directed to identify and solve an industry-specific challenge using Watson. Students had to work as a team to identify and input relevant data into Watson in order to train the supercomputer to answer questions related to the issue being solved. The students must then develop an app and supporting business plan targeting their chosen industry.

    The UT Austin team won the competition with an app called CallScout. The purpose of the app is to help Texas residents find information about social services and programs in their local area. Many Texas residents depend on state resources for housing, healthcare, transportation and other vital functions, but wading through government websites and other information is confusing and makes it difficult for residents to find the information they need. The CallScout app integratesl hours of service, route and map information and other relevant data, and it can automatically deliver push notifications when important details change.

    “This is more than a school project for us – it’s about creating a sustainable business that addresses one of the key challenges we all face as Texas residents,” said Bri Connelly, team leader and undergraduate Computer Science student at the University of Texas at Austin. “The opportunity to directly impact citizens of our home state was a huge driving force in our work.”

    Watson depends on DevOps

    Watson is a powerful platform for analyzing and understanding information. More than any technology or platform that has preceded it, though, Watson also depends on constant evolution. IBM has embraced DevOps principles for developing and maintaining Watson out of necessity. Watson simply wouldn’t be possible and wouldn’t be able to keep up with the pace of ingesting and adapting to information using legacy development models.

    The IBM Watson team manages the rapid pace of change using DevOps principles, which are an extension of Agile development methods. Carl Kraenzel, an IBM distinguished engineer and director of the IBM Watson managed services group, explained that effectively maintaining Watson means adopting continuous delivery and continuous availability. “If you don’t approach it the right way, change is a cost driver. It will add cost instead of adding value. DevOps helps us achieve continuous delivery, and DevOps helps us deliver continuous value.”

    IBM is a resilient company. It doesn’t have the same dominant role in the tech industry that it once had, but it didn’t just sulk off into the sunset. IBM has adapted and evolved. IBM InterConnect was an excellent demonstration of the innovation and vision driving IBM right now—positioning IBM to play a significant role in the new cloud, mobile, DevOps future. Watson, and the work done by the UT Austin team and other students are perfect examples of what’s possible when DevOps principles and cutting edge technology are applied to help resolve the issues that face mankind.

  • DevOps is Agile for the Rest of the Company

    DevOps is Agile for the Rest of the Company

    IBM held its InterConnect 2015 conference last week in Las Vegas. The event covered on a range of topics including hybrid cloud, mobile apps, and DevOps. One session I attended focused on Agile development and the parallels to DevOps were apparent.

    The session I attended at the Mandalay Bay Hotel was titled “How a Major Telco Improved Cycle Time and Business Results by Leveraging Agile”. Elliot Olschwang and Claudio Cozzi—both IBM employees—talked about helping a specific customer reach its goals by introducing Agile development principles. What struck me throughout the presentation were the many ways that the concepts the two talked about implementing at a developer level for this customer are very similar to the concepts companies must embrace on an organizational level to make the transition to DevOps.

    Rosalind Radcliffe actually deserves credit for pointing out the similarities to me. When I spoke to her a few weeks ago she told me that DevOps is just the Agile principle taken to the full enterprise. It provides a more comprehensive end-to-end perspective that enables enterprise-scale transformation.

    Agile development was an evolution from the Waterfall method. The Waterfall methods treats project analysis, design, coding and testing as separate and distinct phases that have to occur in order. There are many inherent problems with Waterfall, such as the fact that you don’t actually develop code until half way through the project. Testing would often be cut in the interest of time, and even if testing is done it’s actually too late. Any issues identified in testing mean you have to go back at least to the coding phase again—possibly back to design or even analysis.

    Agile removed the linear dependencies of Waterfall to enable development to occur more effectively and efficiently. Aside from imposing a more efficient workflow in general, Agile improves quality because testing occurs earlier in the process and more frequently throughout the process. Subsequently the risk to the project is reduced because there is continuous feedback that enables developers to adjust on the fly rather than having to go back to the proverbial drawing board at the end of the project lifecycle.

    DevOps is just a natural extension of Agile. It takes the guiding principles and best practices that Agile brought to developers and applies them on a much broader scale across the organization. As I pointed out in a previous article from IBM InterConnect, “Removing some of the friction between different groups and enabling the organization to function more effectively is one of the primary benefits of DevOps.”

    Part of DevOps is to streamline by automating those things that can be automated. Allowing tools to perform tasks so that other resources—namely the human beings—can provide greater value by performing less mundane work.

    The other part of DevOps, though, is a culture shift. It’s a change in the ruling philosophy of the organization that erases traditional barriers between departments and processes and enables everyone to function more efficiently without unnecessary overhead or “red tape”.

    That second part is where the principles of Agile development come into play. Implementing continuous monitoring for continuous feedback that leads to continuous improvement rather than staying mired in a linear flow that creates hurdles and roadblocks and results in resources sitting idle waiting for other teams to complete a task before the next task can begin.

    DevOps is hot now, but eventually it will mature and evolve into something else just like Agile has. It will be interesting to see in a few years how organizations that have embraced DevOps begin to take it to a whole new level.