No matter what type of development you do — mobile apps, backend services or front-end web development — managing and automating deployments should be at the top of your plans for the new year. With complexity and development velocity continuing to grow throughout 2020, building and deploying apps manually will become even more cumbersome and error-prone. Seriously, who wants to work a deployment in the middle of a weekend night anyway?
The good news is that toolchains have become more complete, encompassing many of the typical deployment tasks. We are now at a point where our tools can pull code and other assets from a software change management system, such as Git, and do all the tasks through to actual deployment in a virtual machine or container cluster. The bad news is there is still more work to do.
3 Ways Development Toolchains Will Improve in 2020
2020 will be the year that we expand and fill in the gaps in our toolchains. Here are three ways that development toolchains will improve in the coming year.
Integration with Project Management
While end-to-end solutions exist — Gitlab and Pivotal’s offerings come to mind — most begin the toolchain with the code merge phase. Atlassian’s Bitbucket Pipelines and Oracle’s cloud CI/CD product are exceptions. The advantage of including agile project management is better deployment visibility for project managers and scrum masters as well as links between code, deployed services, and requirements. In 2020, integration with agile project management tools will become more prevalent and the CI/CD toolchains will extend in both directions to include deployment analytics as a common feature.
Related Article: CI/CD Is DIY So Metrics Can Be OMG
While most toolchains will perform vulnerability scans when artifacts are placed in a repository, threats are still an issue in plenty of other places. This is especially true for code that is just about to be deployed. In theory, nothing should be changed when artifacts are pulled from a repository for deployment. Experience tells us that whenever we say that something can’t happen, it can and does happen. More security checks at each stage in the CI/CD pipeline is something that customers will be asking for in 2020, especially when code is being packaged for deployment. While standalone companies, such as Snyk, are working to secure each stage of the pipeline, it is expected that both vulnerability and license scanning will become standard features of CI/CD tools.
Related Article: Container Security Woes Push Evolution in 2 Directions
AI for Managing Wonky Deployments
There is nothing worse than a failed deployment. Actually, there is something that's worse: A failed deployment whose reason for failure is unknown.
At present, if something keeps a package of artifacts from being deployed it can be very difficult to ascertain the reason for the failure. There may be logs that include important information about the failed deployment, but they can be devilishly difficult to go through to find the root cause of the failure. It’s a classic needle in the haystack problem. This is where AI would be very useful to developers. AI could analyze the data collected during the failure and determine what went wrong. It could potentially fix the problem and restart the deployment. This would save money, time and aggravation.
Just as the movement to microservices has driven changes in infrastructure and technology, it has also pushed CI/CD toolchains to evolve rapidly. In 2020, this evolution will accelerate to fix flaws in the pipeline processes and software. This rapid evolution will make 2020 an exciting year for CI/CD and the products we use to automate pipelines.