CI/CD and the New Generation of Software Delivery: an Interview with Harness
Continuous integration and continuous delivery (CI/CD) is all the rage in the modern world of software development. But actually what is this pipeline process? It's a method or set of principles for which development teams implement and deliver code more frequently and reliably.
Continuous integration embodies a coding philosophy and set of practices propelling teams to implement small and frequent code changes into version control repositories, while the continuous delivery picks up where the CI ends and automates the application's delivery
Many platforms, such as Jenkins and CircleCI, exist to help companies and teams streamline the development and integration of their software stacks, but not much exists in the way of easing and automating the process of delivery. And with what does exist, the solutions tend to fall short with features and functionality, or they are overly complicated to configure in the first place.
This is where Harness comes into the picture. Harness produces the industry's very first Continuous Delivery-as-a-Service platform. Using machine learning, it simplifies and automates the entire CD process. Steve Burton, VP of marketing at Harness, recently took the time to share more details with me.
Petros Koutoupis: Please introduce yourself to our readers.
Steve Burton: While officially the VP of marketing, I am a DevOps Evangelist over at Harness. What this means is that I do a little bit of everything. While most of my career has been in product management and marketing, I stepped out of the university with a bachelor's degree in computer science and an initial career in Java development (ca. 2004 at Sapient), working on large-scale enterprise J2EE implementations. Prior to Harness, I did geek stuff at AppDynamics, Moogsoft and Glassdoor. And when not knee-deep in take, I enjoy spending my time watching F1 and researching cars on the web.
PK: What is Harness?
SB: We provide Continuous Delivery as-a-Service. It's the CD bit of the CI/CD equation that helps customers automate how their software is deployed and delivered to end users in production.
We basically allow customers to move fast without breaking things, so they can increase developer velocity without the risk of downtime or failure.
PK: What problem or problems does Harness solve?
SB: Developers are under tremendous pressure to deliver applications to production, fast and with zero error. It's a constant pain, one that I personally dealt with as a former Java developer. Our founders had also seen this challenge firsthand, and that's why they started Harness.
If you talk with our CEO Jyoti Bansal, he'll tell you about his time running AppDynamics and meeting with big enterprise customers, who would all tell him, "We have 700 DevOps engineers, but they spend all their time scripting and overseeing deployments. There's no solution to help us do continuous delivery like Facebook or Google." Jyoti tapped Rishi Singh as his co-founder to help. Rishi had also seen this as a tremendous problem at Apple, where he led CD and DevOps efforts. They realized that if even Apple had problems with this, almost every other company would as well.
What takes customers 12–18 months to build with several engineers can be achieved in just a few hours using the Harness platform. It's about empowering DevOps and developers so they can self-serve their CD needs.
PK: CI/CD seems to be the trend nowadays, and it's often coupled with the motto: fail fast, fail often. How does Harness enable such an environment? And in turn, how does it learn from the experience in the hopes of encouraging better practices?
SB: We actually have a tagline, "Move fast and don't break things." It's a poke at Facebook's old motto about moving fast and breaking things, which they've since moved away from because there's no room for mistakes for developers today. That's why we've seen hundreds of vendors scramble to tackle CI/CD. CI—or taking code to artifact—is for the most part solved with tools like Jenkins, Bamboo, CircleCI and Travis CI. But before Harness, CD—taking artifacts to production—was largely unsolved.
Once you build and test code, you have to deliver it to end users in production multiple times per day, and if there's an error, you need to have a failure and rollback strategy. That's where Harness comes in. We reduce the risk of failure and manage the complexity of CD, which involves more moving parts than most think. CD isn't just about provisioning infrastructure and configuration management. Requirements also include security and secrets management, deployment verification and health checks, rollbacks, and analytics and reporting. Not everything about CD is obvious, and we help simplify and orchestrate it all.
PK: How does DevOps come into the picture?
SB: CD is the what (deploy fast and frequently), and DevOps is the how (culture, mindset, collaboration). DevOps and CD are all about getting from idea to money as quickly as possible. Since software development has a massive business impact, companies want to give, empower and operationalize their developers. But at the same time, they need to control, audit and make sure that everything is done correctly. This includes compliance, security and reporting, which are just as much part of the puzzle as the "cool" parts of development. At Harness, we're bringing together and automating these pieces.
PK: How simple is it to integrate your product into existing infrastructures?
SB: Very easy. Harness will integrate with your cloud stack and tools in minutes. We are primarily SaaS, but we also offer on-premises software, so customers can deploy on either model. And what makes us different is that we've built 40+ reusable connectors and templates for all the technologies in the DevOps ecosystem so teams can plug existing tools together and build CD pipelines in minutes.
This involves three big aspects of software delivery. The first is actual deployment, which we automate by wiring together your continuous integration (CI) and repository tools like Jenkins, Bamboo, JFrog and CircleCI. Then, we make those tools work in sync with cloud and orchestration platforms, such as Kubernetes, Docker, AWS, GCP and Azure. Finally, you have to verify your deployments leveraging tools like AppDynamics, New Relic, Splunk and Elastic.
PK: What about management and analytics? What information is available to the user?
SB: Harness provides deep analytics and insight into the deployment, verification and rollback of software. Every step and action is audited across every service, application and environment. Customers get complete context of what happens during a deployment with real-time visibility of what changed and where. So, if something fails, developers know about it instantly without having to request production logs.
Harness also uses machine learning to baseline, compare and verify deployments so customers know the exact business impact of every software release. We can even tell customers exactly how their end-user experience and revenue changed across deployments.
For example, "Did the deployment increase or decrease revenue? Did response times get better or worse?" These are questions businesses need to ask, but most don't know how to answer it or that they should at all. Unfortunately, the majority of companies today understand success as simply, "If the app stays up, we're fine." But for us and our customers, that's not good enough—flawless, uninterrupted customer experiences are at stake.
PK: What other value is there in using Harness?
SB: Simplicity and scale of CD across their entire organization versus one or two dev teams.
Many of our customers, before meeting us, had been spending months or years trying to handcraft their own CD platforms or set up open-source solutions like Spinnaker without success. The majority of our customers onboard dev teams and applications in 2–3 hours using Harness. That's a dramatic reduction in time-to-value and time-to-market for our customers. Providing CD as-a-service with 95% of the functionality (templates, integrations, features) a customer needs is very powerful. Simple security capabilities like LDAP/SAML integration and role-based access control (RBAC) also make rolling out Harness a simple task. Security and governance is often overlooked by many vendors.
For more information, visit http://www.harness.io.