Software

DevOps: What You Need To Know

DevOps is a blend of two terms: development and operations. Traditionally, both of these departments were isolated and this often created problems. For example, it could take longer to release software or provide for effective testing.

“For many large enterprises that have applications and services spanning the mainframe, cloud, and everything in between, complexity and myriad dependencies can get in the way of speed,” said Margaret Lee, who is the Senior Vice President and General Manager of Digital Service Operations Management at BMC. “This creates uncertain, unpredictable, and in some cases unintended results.”

Then how can DevOps help? Well, it’s about having a more collaborative approach as well as a focus on agility.

“Developers are contributing to deployment and production management, as opposed to just coding it and throwing it over the wall to an Ops team,” said Matt Groves, who is the Technical Marketing Manager at Couchbase.  “It’s removing the barriers between developers and operations.”

A Case Study In DevOps

To get a sense of the transformative power of DevOps, take a look at Liberty Mutual Insurance. It is ranked No. 71 on the Fortune 500 and is the sixth largest property and casualty insurer in the world. But it also has a complex IT infrastructure that includes many legacy systems. So five years ago, the company began a transition towards DevOps for its more than 5,000 technology employees. 

“With the implementation of DevOps, our team is now deploying code 200 times faster, creating more stability, enabling us to experiment more, and allowing us to launch new products and features on a much faster timeline,” said Justin Stone, who is the Senior Director of DevOps Platforms at Liberty Mutual Insurance.  “Fundamentally, DevOps empowers developers to own, run, and manage the end-to-end delivery of an application or piece of software. It eliminates the confusion around ownership and drives developers toward a single automated, developer-managed infrastructure.”

Keep in mind that DevOps is not just about spinning up some software. Rather, the main goal is to change the culture of an organization—and of course, this is no easy feat. 

“DevOps is all about system-level thinking, looking at the end-to-end value delivery process and not at the individual silos of effort that make it up,” said Bruno Kurtic, who is the founding Vice President of Strategy and Solutions at Sumo Logic. “Because of this, good communication and alignment against shared and measurable goals is critical.”

Now there are various process methodologies to help with DevOps. Perhaps the most popular is agile, which involves small teams that develop applications in chunks (say every two weeks or so) and each of these will be user stories. The idea is to get ongoing feedback from customers and not get bogged down in creating a “big bang” program.

Another popular approach is Kanban. With this, there is a board that divides a project into certain categories like user stories, to do’s, testing and so on.  This provides a visual way to understand the progress.

Automation for DevOps

Automation is another key factor for DevOps. There are many robust tools that can lead to major strides in productivity, such as with orchestration, staging, testing, deployment and tracking. 

“Don’t re-write code that you can repeat through automation,” said Stephen DeWitt, who is the CEO of CloudBees. “If there’s one thing developers hate, it’s busy work. With automation, you can remove the roadblocks, the manual work and the toil that frustrate developers and take their time away from writing code. When developers spend their time on low-value tasks, they are not challenged and they leave. Developers are expensive to keep but they are more expensive to hire and onboard.”

But given that cultural change is paramount, the DevOps journey should be taken with care and planning. “We took a ‘crawl, walk, run’ approach by introducing some common quality gates and pre-requisites for automated deployments,” said Christine Hales, who is the Vice President of Technology at Capital One. “When we started, we had to rely on manual on-boarding and after-the-fact data validation. From there, we’ve been continuously layering in automation to reduce human error and simplify audit and compliance. As a result, we have been able to accelerate the volume of new innovations for customers like Eno, CreditWise and AutoNavigator.”

Usage Pricing: Better Than Subscriptions?

During the past decade, the subscription pricing approach has been widely adopted. After all, many tech companies have built thriving businesses with this business model, such as Salesforce.com.

Then again, subscriptions provide simplicity and predictability for customers. As for the vendors, there is the benefit of recurring revenues.

But as for the past few years, there has been a change—that is, a growing number of fast-growing tech companies, like Twilio, Snowflake, Jfrog, Stripe and DigitalOcean, have been eschewing subscriptions. Instead, they have focused on usage-based models.

Why so? Well, first of all, there are some problems with subscriptions. Perhaps the biggest is that customers often purchase licenses that they never use. This has actually been made worse during the COVID-19 pandemic. 

“In general, we’re all users of a variety of subscription models and we’re super frustrated with them,” said Khozema Shipchandler, who is the Chief Financial Officer at Twilio. “You’re locked in from the start. There’s no room for movement and no way to account for the peaks and valleys that inevitably fill any business season such as the holidays, increase or decrease in demand, etc. In fact, the subscription model is increasingly becoming a relic of a bygone era. In my opinion, it will ultimately disappear.”

But with the usage-based pricing model, there is much more flexibility. It’s easy for a customer to try a new service and evaluate it for a negligible cost. This approach has proven quite effective with developers. 

“A lot of times, especially for us, developers are the ones who get started with it first,” said Shipchandler. “They see how easy it is to use our products, they get a use case up and running, and the customers start benefiting without a major decision maker having to weigh in.”

There is also an alignment of interests between the vendor and the customer. If the service does provide value and is used frequently, then the customer will definitely be willing to pay more, right? Definitely.

“Adopting a usage-based model is the ultimate realization of being a customer-obsessed company,” said Kyle Poyar, who is a Partner at OpenView. “There’s no room for shelfware or bad user experiences. The upside is that you directly share in the success of your customers, which pays dividends years into the future.”

He points out the following metrics for those companies using the usage model:

  • 38% faster revenue growth rate than their peers.
  • Stronger net dollar retention rates (seven of the nine most recent IPOs of cloud companies have shown this).
  • 50% higher revenue multiples versus the broader SaaS companies. 

Of course, the usage-pricing model will not suddenly transform a company. There still needs to be a strong product and a top-notch team. 

Yet it still a good idea to evaluate the usage model. If anything, as it becomes more common, customers may demand this approach.

“I strongly believe a consumption model is the future for software because it changes the fundamental nature of the relationship between the vendor and the customer,” said Bill Staples, who is the President and Chief Product Officer at New Relic.  “The vendor understands that if they don’t build great products that customers enjoy using, they won’t get paid. And consumption isn’t just a revenue model. It is the explicit understanding that if we aren’t focusing every function in the company around making our customers successful, we aren’t living up to our commitments or our ability.”

Kubernetes: What You Need To Know

Kubernetes is a system that helps with the deployment, scaling and management of containerized applications. Engineers at Google built it to handle the explosive workloads of the company’s massive digital platforms. Then in 2014, the company made Kubernetes available as open source, which significantly expanded the usage. 

Yes, the technology is complicated but it is also strategic. This is why it’s important for business people to have a high-level understanding of Kubernetes.

“Kubernetes is extended by an ecosystem of components and tools that relieve the burden of developing and running applications in public and private clouds,” said Thomas Di Giacomo, who is the Chief Technology and Product Officer at SUSE. “With this technology, IT teams can deploy and manage applications quickly and predictably, scale them on the fly, roll out new features seamlessly, and optimize hardware usage to required resources only. Because of what it enables, Kubernetes is going to be a major topic in boardroom discussions in 2021, as enterprises continue to adapt and modernize IT strategy to support remote workflows and their business.”

In fact, Kubernetes changes the traditional paradigm of application development. “The phrase ‘cattle vs. pets’ is often used to describe the way that using a container orchestration platform like Kubernetes changes the way that software teams think about and deal with the servers powering their applications,” said Phil Dougherty, who is the Senior Product Manager for the DigitalOcean App Platform for Kubernetes and Containers. “Teams no longer need to think about individual servers as having specific jobs, and instead can let Kubernetes decide which server in the fleet is the best location to place the workload. If a server fails, Kubernetes will automatically move the applications to a different, healthy server.”

There are certainly many use cases for Kubernetes. According to Brian Gracely, who is the Sr. Director of Product Strategy at Red Hat OpenShift, the technology has proven effective for:

  •  New, cloud-native microservice applications that change frequently and benefit from dynamic, cloud-like scaling.
  • The modernization of existing applications, such as putting them into containers to improve agility, combined with modern cloud application services.
  • The lift-and-shift of an existing application so as to reduce the cost or CPU overhead of virtualization.
  • Run most AI/ML frameworks.
  • Have a broad set of data-centric and security-centric applications that run in highly automated environments
  • Use the technology for edge computing (both for telcos and enterprises) when applications run on low-cost devices in containers.

Now all this is not to imply that Kubernetes is an elixir for IT. The technology does have its drawbacks.

“As the largest open-source platform ever, it is extremely powerful but also quite complicated,” said Mike Beckley, who is the Chief Technology Officer at Appian. “If companies think their private cloud efforts will suddenly go from failure to success because of Kubernetes, they are kidding themselves. It will be a heavy lift to simply get up-to-speed because most companies don’t have the skills, expertise and money for the transition.”

Even the setup of Kubernetes can be convoluted. “It can be difficult to configure for larger enterprises because of all the manual steps necessary for unique environments,” said Darien Ford, who is the Senior Director of Software Engineering at Capital One.

But over time, the complexities will get simplified. It’s the inevitable path of technology. And there will certainly be more investments from venture capitalists to build new tools and systems. 

“We are already seeing the initial growth curve of Kubernetes with managed platforms across all of the hyper scalers—like Google, AWS, Microsoft—as well as the major investments that VMware and IBM are making to address the hybrid multi-cloud needs of enterprise customers,” said Eric Drobisewski, who is the Senior Architect at Liberty Mutual Insurance. “With the large-scale adoption of Kubernetes and the thriving cloud-native ecosystem around it, the project has been guided and governed well by the Cloud Native Computing Foundation. This has ensured conformance across the multitude of Kubernetes providers. What comes next for Kubernetes will be the evolution to more distributed environments, such as through software defined networks, extended with 5G connectivity that will enable edge and IoT based deployments.”