What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...
DEVOPSdigest asked experts from across the industry for their recommendation on a key technology required for DevOps. Part 3 of the list covers continuous delivery.
14. CONTINUOUS DELIVERY (CD)
It is extremely important for DevOps teams to build a Continuous Delivery Pipeline in which they have complete confidence to help them deliver quality software efficiently and faster.
Senior Director, Strategy & Marketing, DevOps, Hewlett Packard Enterprise
It is often initially overlooked, but DevOps won’t scale and will always be just a collection of disconnected processes without a robust (Continuous Delivery) pipeline orchestration tool. Whatever languages your technology is written in, whatever architectures you prefer, what platform or runtime type you have: you need to define, execute and track how your application gets from your source code repo and into production, and in a way that allows you to figure out where the bottlenecks are and what you need to do to eliminate them.
VP of DevOps Strategy, XebiaLabs
Continuous delivery (CD) is a DevOps enabler which provides the repeatability and reliability to rapidly deliver software and infrastructure from development to operations with the confidence it meets requirements and is stable, safe, and secure. In CD this is achieved through aggressive automation of the activities required to build, validate, test and deploy the software and infrastructure. A DevOps automation engine should have the following attributes: integration with a large range of development and delivery tools, extensibility to adopt emerging tools and technology, the ability to scale across multiple teams and work groups and handle the resulting load and finally the ability to report and have traceability across development and delivery activities. Without an automation tool organizations end up with point-to-point integrations, manual hand-offs, maintenance overhead, and delivery pipelines absent the repeatability and reliability and required for DevOps.
DevOps Practitioner, CloudBees
15. ARTIFACT REPOSITORY
DevOps requires a universal artifact repository. Automatically deploying and resolving the artifacts in the CI/CD process is a basic requirement for DevOps. DevOps, being one of the main drivers of "hardware as a software" revolution, dramatically increases the quantity of binary artifacts we deal with every day. Managing this "haystack of binaries" with an artifact repository is the only way to find the "needle" – the artifact that complies with requirements and passed QA, for example, or to trace an artifact back to its source. The ability of your artifact repository to attach metadata to artifacts and to query this metadata is essential. DevOps requires automation, and there is no automation without a comprehensive REST API and a full fledged query language.
Developer Advocate, JFrog
16. REST API
Successful DevOps drives automation and economics to a new level by capturing, understanding and independently achieving application or user intent. The must-have instrument for this interactive automation is an intent-based RESTful API, that makes DevOps is declarative, scale-invariant and composable, and decouples application provisioning from physical infrastructure management.
Head of Product Management, Datera
17. SOURCE CODE MANAGEMENT
As the mission-critical heartbeat supporting web/mobile transactional applications, mainframes cannot be overlooked in modern development. In spite of its strengths, mainframe users need tools that advance the platform to keep pace with DevOps. One example is source code management (SCM) systems, which now help DevOps teams achieve unprecedented speed on the mainframe, through new capabilities like concurrent development on single systems; integration with continuous delivery and integrating work across both mainframe and non-mainframe code bases.
President and CEO, Compuware
18. RELEASE AUTOMATION
DevOps professionals on IT Central Station have recently written over 30 product reviews of release automation tools. Reviewers talk about how the best-in-class release automation tools help them achieve zero-touch deployment and support continuous deployment.
Founder and CEO, IT Central Station
The absolute must have tool for Devops success is release automation. Agile and DevOps are joined at the hip, agile knocks down the barriers that traditionally slow down development. DevOps automates agile approaches and lets code move quickly from development to production including testing, integration and deployment but in the jungle of the tool chain and different application technology stacks without the need to orchestrate across the tool chain and automate within the tool chain Devops will fail.
ARA Evangelist, Automic Software
Container tools are essential enablers for DevOps, enabling application portability between development and production environments. Containers also allow developers to implement DevOps automation using container features. Everything that you can get from PaaS tools, you can get for free with containers and at a much lower cost in terms of complexity and vendor limitations.
20. MICRO SERVICES
While not a requirement in order to implement DevOps, using Micro services can really improve the feasibility of DevOps automation. Micro services are designed to be self-contained and separately modifiable. This makes them easy to push from development to deployment without a large amount of integration testing.