Visual automated CI/CD is essential for great devops

Devops is where continuous quality improvement (CQI) and other best practice methodologies either fulfill or fail

devops training
Raysonho @ Open Grid Scheduler/Grid Engine (CC0)

Units of space are everywhere. We can see them all around us. When we package a unit of space distinctly, we call it a container. Whether on ships in the sea, or in a storage closet, we use containers to organize things into isolated and distinct units of space. In the computing world, containers have become the distinguishing structure used to isolate and organize elements of software code. Just like containers on ships or in the closet, they can be visualized.

In today’s web-centric IT world, application programming interfaces (APIs), command-line interfaces (CLIs), microservices, and other deployable software code releases all tend to reside in containers. In point of fact, container utilization has become a powerful way in which to build and maintain consistently efficient quality-controlled systems, and it has become a cornerstone of modern devops.

What is devops? In a multifaceted business enterprise, people work together to achieve goals in an agile fashion. In the tech world, that foundation is based on a triangulated core in which software development, product management, and business operations staff communicate and collaborate throughout the product life cycle. These resources need each other, and we generally refer to their symbiotic relationship as being the culture behind development operations—devops. 

Devops is where continuous quality improvement (CQI) and other best-practice methodologies either fulfill or fail. It’s where ISO and Six Sigma standards are either met or missed. Most importantly, devops is where product ownership originates.

Devops players

There are some well-established brands and enterprises in the devops space. For example, GitHub provides a platform for hosting shared application code; New Relic provides a platform for monitoring and managing applications; and Docker is widely regarded as the leader in application container runtime. Veracode provides an industry-leading solution for application security that works to protect the entire continuous integration/continuous deployment (CI/CD) pipeline, and Amazon offers AWS devops services, which could be called a devops enterprise resource planning (ERP) solution because every aspect of application life cycle management (ALM) is accounted for under the AWS banner.

Security is an extremely important consideration. Any high-quality product should support single sign-on with existing user enterprise directories or external authenticators like Google, Microsoft, or GitHub. A truly high-quality solution shouldn’t need separate user management, but it should provide detailed deploy audits available through existing chatops channels, log aggregation, and monitoring systems.

In addition, there’s an issue regarding whether a product should be hosted in the cloud or on premises. There’s no simple answer to which is better, but it’s something a customer should be clear about upon evaluation. Conventional thinking tends to support the view that on-premises solutions are more secure.

One-stop handling isn’t best for every enterprise. The bigger providers “tend to shoehorn new solutions into existing products or frameworks so they don’t disrupt all their other development and marketing efforts,” says Ross Schibler, CEO of Opsani, a company committed to curing deployment anxiety through a new approach. Schibler added, “By working with a smaller company you can actually request new features and influence the priorities on the product roadmap.”

Devops best practices

Investigation of devops best practices inside a typical organization reveals a variety of tools and services in use. However, manually controlling the operation of each application in a chain remains a point of inefficiency and a source of delay that devops itself seeks to eliminate. Autonomous operation for devops is a critical next step. Designed for use with containers and microservices, and designed for the purpose of bridging the CI/CD gap, a new class of software, generally referred to as architectural ware, has emerged.

Companies in this space include Electric Cloud, whose ElectricFlow product is a commonly used release automation platform. Netflix OSS (yes, the Netflix we all know and love) has a product called Spinnaker, an open source, multicloud continuous software release delivery platform.  A new player in the devops game is Opsani, whose Skopos Surveyore is a free tool for Docker containers that allows teams to visualize the architecture of their applications.

To understand the significance of this, you must understand the basis for devops itself. In an efficient and effective agile enterprise, IT operations will help IT development teams take ownership of the product they have under life cycle management by facilitating advances in velocity through the removal of obstacles and barriers to ALM efficiency. Once upon a time, the facilitation of IT system improvement through software upgrading involved the actual shutdown of a physical machine, followed by physical dismantling, gut-swapping, and rebuilding. We evolved from there to the introduction of storage media. First there were large disks and drives, but then they became smaller in size, more easily swappable, and eventually hot-swappable while machines continued to run other applications.

From there, we advanced to physical servers. Upgrading or updating software often required delivery of new soft storage media from which installation could occur. The rise of the internet followed; that led to web-deployable software, and eventually virtual servers. Every evolutionary step represented a breakthrough in devops, but the development of the virtual machine (VM) was particularly significant. The VM allowed for the deployment and operation of multiple server application environments on one physical machine. This reduction in physical presence significantly reduced operating costs, increased system security, and allowed for virtually uninterrupted application and system maintenance without any total system downtime. This became particularly true once seamless switchable VM mirrors were introduced.

In the server-based environment, and particularly the web-based application environment, another significant evolutionary step occurred. Where the traditional VM was focused on applications, the emergence of the virtual container focused on the isolation of processes. Although Unix gets the credit for having the first containers, it was Linux that brought partitioning of resources to the forefront. Google adopted containers a little over a decade ago, but containers really didn’t become popular until roughly five years ago.

With the evolution of the cloud, Docker, generally considered the most popular container service in existence, brought the concept of scalable evolutionary enhancement to the forefront. Now, the enterprise itself didn’t need to host the physical machines, or even the VMs, whether isolating whole applications or services within. Instead, a user could rely directly on an application provider to host in the cloud and deliver code smoothly and efficiently via the internet.

Enter CI/CD

This is where CI/CD comes in. Smooth and efficient management of applications, patches, updates, and microservice data, requires the host to be agile and efficient, as well as fast. It also requires consistency and reliability; after all, downtime and system failure are unacceptable. A great CD system really needs automated deployment for containers and microservices to complete the development-to-production cycle aspect of ALM, and it must do so in a way that allows dev teams to know what’s happening to maintain their ownership of the product and the process. In fact, a great architectural ware product must also seamlessly integrate with existing CI/CD systems like those offered by Docker and Amazon.

For Opsani, Electric Cloud, Netflix, and Amazon, some basic questions may help devops teams with vendor and product selection: how evolved is the visual CI/CD? Do they automate deployment of containers and microservices? And what else, if anything, further distinguishes them?

The best thing about Opsani’s Skopos is the visual factor. It’s so simple and intuitive that anyone can understand the system and service architecture. This is great for those on the non-coding operations side of the devops team. Electric Cloud’s ElectricFlow places significant emphasis on visuals and visibility of the process. The product features lots of colorful graphics, but still has a classic library-modeled look. Netflix’s Spinnaker demo doesn’t make it clear. Visual CI/CD does not appear to be a focus of its marketing. Spinnaker seems like it has more of a basic or classic look featuring bullet-style visuals. The Amazon AWS devops site is very nicely designed with great graphics, but lacking a more transparent view of the application itself, it’s difficult to say just how visually focused their CI/CD may be.

It’s important to note, however, that Opsani’s Skopos product does not appear to be specifically visual or visual-centric. The GUI operates on top of an engine that can be used entirely through an API or CLI. That means that developers who prefer not to use a GUI don’t have to. Still, visuals provide significant data and intelligence, especially for those who don’t know how to code. “GUIs make the system accessible to non-developers and provide an intuitive way to determine system status at a glance,” says Bert Armijo, VP of product at Opsani. Visual tools offer flexibility that can empower the entire devops team. High-quality products need to have this capability.

Not only does Skopos automate deployment of containers and microservices, but it does so in continuous fashion. ElectricFlow automates deployments and allows for flexible release coordination. Spinnaker automates delivery and emphasizes continuous delivery. Amazon automates deployment, but it’s not as visibly significant for the AWS system because Amazon has so many other products. However, Skopos was built from the ground up specifically for container CD. That’s all it does, and while it may do it better and easier than anything else, companies seeking a solution that deals with legacy VMs and bare metal servers may not find this product useful.

It’s worth noting that, with Skopos, you can also observe the current state of your application. The visualized real time status feature is extremely valuable. Skopos also visualizes your architecture including the number of instances of each component, connections and dependencies. This is really important because it allows the user to have knowledge of the complete impact of what they’ve got as well as of the modification they may be implementing. “Skopos provides automatic deep deployment verification to ensure that new code is deployed successfully,” says Peter Nickolov, CTO of Opsani. If the deployments are not verified, Skopos performs an automatic roll-back without downtime to the production system.

Does it scale?

In the IT world, an enterprise’s real world size tends to be de-emphasized based on the scalability of software solutions. Automation itself removes people from the process and can help streamline an organization. Amazon and Netflix are amazing companies and brands, but they’re also quite large, and devops really isn’t identified as their primary business function. For some organizations this may be just fine, but for others, the lack of focus and lean operation points to a higher likelihood of less agility and flexibility. Opsani and Electric Cloud are similar in size and agility, but the architecture visualization features within Opsani’s products is more advanced.

Another issue related to the size of the company providing these kinds of products is responsiveness. Amazon did not respond to requests for information. Netflix responded, but did not answer questions before press time. Electric Cloud responded, but did not follow up with answers to specific questions before press time. Opsani, on the other hand, responded quickly and immediately. Whether this always happens is difficult to say, but first impressions are important, and in the world of devops, timing is critically important. 

Without question, visual CI/CD is essential for high quality, efficient and effective devops. Leading solution providers have been moving in this direction for some time, especially where container management is concerned. All of the leading platforms and products are great. One can’t go wrong with Electric Cloud, Netflix, or Amazon. However, Opsani’s more evolved visual intelligence is next level, and it seems to set their platform and products apart from the rest. Given what’s at stake, and given the commitment to CQI, an enterprise would be hard-pressed to justify why they wouldn’t use a solution that would optimize and automate CI/CD as much as possible, as well as an enterprise whose query and support response time is near immediate. 

This article is published as part of the IDG Contributor Network. Want to Join?