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

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.

Advertisement

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.

1 2 Page 1
Page 1 of 2