To stay competitive in 2017 and beyond, enterprise organizations are embracing DevOps methodologies and new technologies to accelerate innovation. In this article, Thomas shares some trends and technologies that are contributing to the rise of DevOps in the enterprise.
Agile development shortens development times by increasing communication between the development team and business stakeholders. But software projects aren’t done when the last line of code is written and the last test case is passed. Applications still need to be packaged for release, deployed into production, monitored for problems, and enhanced with bug fixes and new features.
Those post-development tasks take too long and delay getting new business functionality to users. DevOps brings the agile focus on communication and collaboration between developers and the operations team, giving the post-code software process the same responsiveness that the coding process has.
Here are the trends and technologies that are contributing to the rise of DevOps:
1. Rise of Continuous Everything
The early software development process mirrored the hardware development process: design it, build it, test it, ship it. Unfortunately, this process does not lend itself to quickly releasing bug fixes, patches, and general improvements of a piece of software. As time went on, a more efficient process began to evolve. The rise of continuous integration, deployment, and delivery has allowed for the rapid deployment, testing, and promotion of new features into production.
2. Containers Are Taking Over
Downloads of Docker, a popular container platform, number in the billions – and it’s no surprise when you consider the benefits. First, containers offer a number of performance benefits, including:
- Much faster startup times over VMs and physical machines
- Smaller footprints (megabytes instead of gigabytes)
- Direct hardware access (the added layer of abstraction in VMs can slow down processing)
Second, containers are self-documenting. During the old process of manually provisioning infrastructure and environments, it was easy to forget to document things. With containers, all the requirements for your environment must be documented in the configuration.
3. Move to Microservices
In one survey, all but about 25 percent of respondents have considered using microservices. For most respondents, the biggest reason for using microservices is that they shrink the scale of deployments and make the process more manageable. The microservice approach also encourages loosely coupled modules, which reduces the risk of breaking unrelated features while making code changes. When it comes to scalability and clustering, microservices allow you to grow more naturally along the demand curve. As usage rates grow, you can add new service instances at a much more granular level than what is possible with a bundled deployment.
4. Automation is Becoming Standard
Microservices, containers, and continuous integration mean more frequent deployment to production. The only way to manage that without overworking your staff is by automating the processes. That’s why the worldwide infrastructure automation market is expected to reach more than $65 billion by 2020.
It should go without saying that a good IT department automates repetitive tasks. Ironically, many teams get so caught up automating the business tasks that they forget to automate the technical ones. This is why automation must be considered pro-actively. It should be moved from the “nice to have” list to the requirements list. Automation lowers the risk of human error, and as a result teams are less likely to miss a step when deploying changes across a data center.
5. Open Source Technology is Seeing Explosive Growth
Many companies used to require all IT tools and products to be backed by a vendor with a support contract. Today, most companies leverage some form of open source technology, with more than 75 percent of businesses running on open source software, and two thirds using open source software to create products for customers.
Open source products offer solutions for every aspect of a software development project, including tools such as the Linux operating system, Git version control system, Postgres database, Eclipse IDE, and Docker container platform.
Companies use these tools, because they offer freedom from proprietary vendor products. Though some may worry about support, many open source software tools have active communities contributing to bug fixes, code examples, best practices, and documentation. In many cases, not using an open source solution would require teams to spend extra time creating a comparable solution from the ground up; open source software allows better speed to market and faster innovation.
These new technologies and the new DevOps approach work well together; in fact, they need each other. By using tools to support DevOps, and by using DevOps to let the development and operations teams work together more, businesses can achieve the same agility in their IT infrastructure teams as they have in their development teams.
Ready to learn more?