DevOps for Apps' Sake, Not Ops' Sake
DevOps for Apps' Sake, Not Ops' Sake
Next-generation app delivery needs containers. See how transformations in application architectures are changing requirements for software delivery.
Join the DZone community and get the full member experience.Join For Free
DevOps involves integrating development, testing, deployment and release cycles into a collaborative process. Learn more about the 4 steps to an effective DevSecOps infrastructure.
For every enterprise, IT has become a strategic partner in enabling the business. IT operations span across many diverse aspects, ranging from infrastructure management to applications deployment, cloud and services management, and much more.
In today’s software-driven enterprise world, app delivery is a key component of IT operations, as the bulk of the business relies on a swift, flexible, and error-free app delivery mechanism for the success and growth of the business. A supercharged application development and delivery setup directly translates to faster time-to-market for products and services, in turn resulting in greater revenue-generating opportunity.
Over the last few years, we have been seeing massive transformations in modern application architectures and its related ecosystem which in-turn has put newer demands on Application Delivery.
Modern App Delivery Needs
Today’s modern enterprise is looking at a whole new dimension t the way applications are built, provisioned, tested, and ultimately deployed to end users. This new dimension calls for a completely fresh look at streamlining IT operations for application delivery in order to achieve the following:
Additionally, all of this needs to happen with unprecedented speed and agility in order to support newer business models and revenue channels. Just to give some context here, in the 2017 state of DevOps report by Puppet surveying 27,000 technical professionals, it was found that high-performing teams deploy code multiple times to production in a day, have lead times of less than 1 hour to deploy changes into production, have mean time-to-recover of less than 1 hour, and finally, have change failure rates of 10-15% on average. We are talking about some serious organization performance when it comes to application delivery!
The Intersection of DevOps, Containers, and Next-Generation App Delivery
Traditionally, most platforms and processes within enterprise IT operations have relied on command line scripts, specialized tools, and a closed set of skilled personnel to perform application delivery. This approach does not suit modern enterprises that have the complexity described in Table 1. It would simply be not scalable.
New-generation application architectures like microservices and the need for on-demand delivery of these services to production call for another look at platforms that can abstract the complexity of dealing with continuous delivery and provide scale and velocity while providing full visibility and faster recovery. The ability to provide self-service, democratization of DevOps, and standardized best practices go a long way to meet the needs of the modern software enterprise.
Next-generation app delivery needs containers. Successfully building container-based app delivery at scale needs a next-generation approach.
Containers are lightweight runtimes and include only what’s necessary to run your applications. Each container runs on a Docker engine, which installs on a host and shares the same Linux kernel, with no guest operating system within each container. This makes containers a great choice for infrastructure optimization and cost reduction. However, when it comes to self-service, config management, and automation of application delivery using containers, there is no one easy answer. The key thing for businesses using containers is that they can truly benefit from an application's time to market.
Next-generation app delivery platforms will need to focus on the enterprise’s ability to reduce applications' time-to-market while still enabling the above capabilities.
The best way for enterprises looking to modernize DevOps is to focus IT operations with keeping the application context in mind as opposed to the nitty-gritty details of the underlying IT infrastructure. This can be achieved by automating the containerization of the application from Docker images, then automating the delivery of the application into container runtime platforms. By providing full visibility and enforcing best practices in this process, a self-service model for both DevOps as well as developer teams can be provided. A high-level model of this approach would look like this:
App delivery operations within IT can now truly become automated, self-service, standardized, and minimally disruptive for enterprises looking to embrace containers. IT operations should thrive for the sake of apps, and not for the sake of ops.
Published at DZone with permission of Mayur Shah . See the original article here.
Opinions expressed by DZone contributors are their own.