Below are the most important news that were presented and discussed in the DevOps World – Jenkins World 2019 conference.
CloudBees SDM vision
As we know CI/CD processes bring together development and operations teams, as code should be integrated, tested and delivered continuously. The processes related to these teams have specific results but they also produce data for monitoring both the end product and the internal processes. But still there are teams disconnected, since delivery management of a product also includes other, very significant stages. On one hand we have the requirements gathering and management from the business perspective, that will be converted into more concrete requirements and user stories for the development teams. On the other hand we have the application release orchestration and its monitoring in terms of business benefits. With this array of tools, data and processes how can we ensure that value creation efforts create the maximum business impact?
CloudBees created one system called “Software Delivery Management” (SDM) with the vision of bi-directionally connecting all artifacts and data across an organization’s DevOps toolchain. Doing so, enables meaningful collaboration between all teams through universal insights, common connected processes, workflows and governance to truly develop and deliver software at an elite level. The main characteristics of SDM are:
- common data, where information is captured as consistent models
- visibility and insights enable continuous learning from all data in the organization
- common connected processes to orchestrate delivery
- all functions and teams within and around the software delivery organization work together to amplify value
You can signup for the CloudBees solution in SDM preview program.
Jenkins X: the Cloud native CI/CD solution
As expected, Jenkins X was in the spotlight, so there were introductory and more advanced talks about it. But what is Jenkins X? Jenkins X is a Kubernetes-native continuous integration and continuous delivery platform for developing cloud native applications. This means that you can:
- create/import an existing project and it will be automatically recognized (language, build engine and tools)
- the “buildpack” in Jenkins X generates the required yaml files for configuring the pipelines, docker containers and pods in Kubernetes
- Jenkins X adds the files to the GitHub repository and sets up the appropriate WebHooks
- it executes the pipelines for building the project and essentially creates different repositories for different environments
- it can run the tests described in a pipeline, in isolated docker containers, and deploy a version to a “staging” environment
You can also promote a version to production and rollback in any version if something goes wrong. Additionally, there are preview environments that are created and destroyed automatically for each pull request and this allows you to see the effect of your changes before merging them.
What is the difference between Jenkins and Jenkins X?
Jenkins X is inspired by Jenkins. It simplifies everything you can do with Jenkins and its plugins by using open source tools and incorporating docker containers in the CI/CD processes for an application in Kubernetes. In your cluster there will be no Jenkins instance installed, but you will still be able to use pre-configured or custom pipelines for continuous integration and continuous deployment. Under the hood, Jenkins X uses Helm to package and perform installations and upgrades for your applications, and utilizes the Tekton engine to execute the pipelines in the Kubernetes cluster.
The prerequisite to use Jenkins X is for your application to be “Kubernetes-ready” and have a cluster so that Jenkins X can be installed. A good use case is an application where you are deploying microservices. If you are already doing this, you probably use Kubernetes for orchestration. You can now benefit with faster deployments that abstract you from knowing all the little details of the famous container orchestration platform.
Is Jenkins X production ready?
First released in 2018, Jenkins X is now production ready. This year CloudBees released its official Jenkins X Distribution. It can be easily installed on an existing cloud provider for Kubernetes and you can get up and running in minutes. Jenkins X is reliable and uses already tested and established open source tools for the cloud. The exciting news is that now users can execute certain functionalities by using the new User Interface, without having to resort to the command line every time. This also allows us to visualize the environments and promote a version of the application easy and fast.
Jenkins Configuration-as-Code and new UX
Of course the traditional Jenkins server platform could not be missing from the talks. On the contrary, we learned some very important tips and tricks on Declarative pipelines and explored the best practices to avoid common mistakes and reduce complexity. While using Jenkins the right way is important, administration is also crucial in terms of security, performance and monitoring. But in order to have a healthy system as a core in our CI/CD architecture we need to be able to automatically reinstall and configure the Jenkins instance. Here comes the importance of the “Configuration-as-Code” paradigm where all Jenkins configuration and plugins are defined in simple, human-friendly, plain text yaml syntax. This lets us easily restore a Jenkins instance in minutes with no manual intervention. The configuration can be validated and applied to a Jenkins master in a fully reproducible way and it can also be saved in a version control system.
Apart from Jenkins administration and pipelines, what’s new in Jenkins?
Well, there is ongoing work to optimize commands for making Declarative pipelines easier to create and maintain, and there is also the big news about Blue Ocean. As we know Blue Ocean is the graphical interface that lets us create pipelines, but there is the known problem of not every Jenkins plugin being able to share its functionality with the Blue Ocean GUI. Furthermore, most developers of plugins have already abandoned this area of functionality and CloudBees is working for an entirely new User Experience (UX), so a new UI is in the works that will replace Blue Ocean following the mentality “lessons learned”. And this is great news.
“DevOps World – Jenkins World 2019” was THE event for DevOps and CI/CD enthusiasts. Talks were excellent, insightful and aspiring. Social interactions between the attendees gave opportunities for new business collaborations. Knowledge was shared through training sessions and many of us earned our certification as Certified Jenkins Engineers in the exams. We learned where we are going, how the teams are growing and how to become more mature. Google and CloudBees are now one big team creating the tools for DevOps. Google Cloud and Kubernetes is becoming the new standard for cloud native application development. CI/CD processes need to be scalable, have executors/workers on demand, up-to-date and secure. Jenkins X is the proposed CI/CD solution for microservices in the cloud.
CloudBees showed a demo with a new UI that is coming for Jenkins X, which is already available for preview. Traditional Jenkins administration and “Configuration-as-Code” proper practices along with pipelines creation, security and a new UX that will replace the Blue Ocean UI, were also announced. Last but not least, CloudBees shared its vision about one software platform, the Software Delivery Management for enabling the creation of common data and artifacts across an organization’s DevOps toolchain and teams. This is how we can connect teams and make sure that value creation efforts create the maximum business impact.
DevOps World 2019 is over.
Goodbye Lisbon, goodbye fellow developers and testers.
I am looking forward to DevOps World 2020 !!!