Moving at Lightning Speed

Moving at Lightning Speed

Kubernetes Meets Blitzscaling

The wisdom of Microsoft CEO Satya Nadella’s 2019 statement said, “every company is now a software company” becomes clearer every day as more businesses seek to remake themselves around data and the digital tools to manage it. International Data Corporation (IDC) says 53% of large organizations now have a digital transformation strategy in place and predicts half of all companies will derive more than 40% of revenue from digital products and services by 2023, up by one-third today. That’s going to require an awful lot of software. And, most companies will tell you that building software isn’t their greatest strength. However, it’s a competency they will have to develop if they want to realize the potential to remake their businesses. Consider that eight of the world’s 10 most highly valued companies are technology firms that distinguish themselves primarily by the innovation in their software. Even old-line heavy industries see their future there. General Motors’ Ultifi, an operating system for its built-in vehicle intelligence platform, that is expected to ultimately make thousands of software apps available to drivers, is part of what the automaker said is a wholesale transformation of its business model from carmaker to software provider. “Today, cars are enabled by software; with Ultifi, cars will be defined by it,” said Scott Miller, GM's vice president of software-defined vehicles. Successful companies today are moving software to market at high speed and large scale in a process known as “blitzscaling” a term coined by Reid Hoffman and Chris Yeh in their book of the same name. Blitzscaling prioritizes speed over efficiency and describes the way successful entrepreneurial firms put growth above all other considerations with the expectation that most problems can be fixed later. There’s sound business logic behind a strategy: McKinsey reports that companies in the top quartile of its Developer Velocity Index – a metric that assesses both speed and software quality – outperform others in the market by a factor of at least four. Kubernetes enables continuous delivery Kubernetes, which is effectively a distributed operating system for the cloud, is rapidly becoming the platform of choice for deploying software in containers. Nearly 90% of DevOps teams use Kubernetes and more than two-thirds of enterprise IT organizations will migrate their big data applications to containers managed by Kubernetes by the end of this year, according to a new Pepperdata report. Kubernetes is an ideal platform for blitzscaling. Containers stored in libraries can be spun up in seconds, making developers instantly productive. Kubernetes scales infinitely and can orchestrate large and sophisticated applications built on a mesh of containerized services, monitoring container health and restarting services as needed. This makes it possible to extend and improve applications while they’re running. For all its rich functionality, though, Kubernetes is not simple to install or manage. As organizations grow their cluster deployments from a few instances to hundreds or thousands, they often find they lack the skills they need to monitor and troubleshoot complex environments. Scaling the environment can also be frustrated by internal issues, such as siloed teams, homegrown tools and manual processes, not to mention the complexity of accommodating each developer’s preferred tools. Performance and account management challenges can also arise from the need to continuously retrieve the data needed to manage Kubernetes clusters. Spinnaker can be a developer’s best friend That’s why Spinnaker was invented. It’s an open-source, continuous delivery platform for managing software development pipelines at speed at scale. Spinnaker combines pipeline management and integrations with the major cloud providers with a host of nice features for access control, testing, and fine-tuning of deployments. One of the most powerful features of Spinnaker is Clouddriver, a service that can create server groups, change load balancers and keep track of the health of clusters in cloud Kubernetes instances. Clouddriver’s caching agents continually monitor cloud infrastructure and log the results in a cache to enable rapid response and automated resource management. Organizations can use the combination of Spinnaker and Kubernetes to scale to millions of clusters, but that can introduce new problems in the sheer volume of data that must flow into the Clouddriver cache. Continuous retrieval of data — even when nothing has changed — can bog down performance. If the infrastructure isn’t designed to parse the volume of data generated by large environments, the development organization can effectively be blind to the health of the deployment environment. Spinnaker also has some shortcomings in the area of security. Its centralized architecture can make it difficult for teams to manage credentials and permissions on a per-cluster basis, a problem that becomes complex with scale. Spinnaker also doesn’t offer built-in secrets management, relying on third-party integrations for that capability. The Armory Agent difference Armory was built to enhance Spinnaker with the features enterprise development organizations need. The Armory Agent is an in-cluster proxy that listens for changes at the cluster level and streams them back to Spinnaker. It uses a very efficient protocol running over a single TCP connection for each cluster to reduce performance hits due to data volumes significantly. The agent leverages the Kubernetes API to enable Clouddriver to communicate to all the clusters it manages. Any changes to the infrastructure appear in the Spinnaker cache in real time. This cluster-level approach further reduces the amount of redundant data that needs to be retrieved. Armory provides a collaborative delivery environment making software delivery continuous, collaborative, scalable and safe. Continuous delivery to kubernetes clusters at blitzscale benefit from Armory's Armory Agent, so your company can achieve blitzscale and scale to thousands of clusters on-demand without compromising security, usability or speed. On the security front, account management is certified using in-cluster agents. This allows teams to manage credentials and permissions anytime, anywhere without restraining Spinnaker. Account management is decentralized, and Kubernetes API servers can be kept private from Spinnaker. The result is that individual developers can get a single and holistic view of deployments and application infrastructure that extends from their local laptops into production environments. Armory abstracts away much of the complexity to let them take ownership of their services without having to become infrastructure experts. Development organizations can use Armory to scale to thousands of clusters or more on-demand without compromising security, usability, or speed. That sounds a lot like blitzscaling, doesn’t it?