Quality Management, Testmanagement, Testautomation, Continuous Integration and Delivery, Jenkins, Consulting, Training, Auditing
devops Archive | Comquent GmbH, Continuous Quality in Software
Tag

devops Archive | Comquent GmbH, Continuous Quality in Software

Gitops

What is meant by GitOps?

By | Allgemein, Blog | No Comments

GitOps is a revolutionary method for managing IT infrastructure and applications. With GitOps, companies can manage their infrastructure as code and deploy changes using pull requests and continuous deployment. This enables faster and error-free deployment of applications and better control over the infrastructure. GitOps also provides the ability to track and revert changes to the infrastructure, which contributes to increased security and reliability.

Another advantage of GitOps is the ability to scale and automate teams. By using Git as a central repository, teams can work on infrastructure and application projects together, while continuous deployment ensures that changes are quickly and error-free deployed.

Overall, GitOps provides a more efficient and secure way to manage and deploy IT infrastructure and applications. It is a valuable solution for companies that rely on fast and reliable deployments.

Through our GitOps consulting, you’ll have access to the latest best practices and tools to help you manage your infrastructure as code and introduce continuous deployment in your organization. We also offer training and workshops to prepare your team for the adoption of GitOps.

With GitOps consulting from our team, you can rely on faster and error-free deployments while also increasing the security and reliability of your IT infrastructure. Let’s work together to see how GitOps can take your organization to the next level.

DevOps World – Jenkins World 2019 (part 2)

By | Blog | No Comments

Make sure you have not missed part 1!

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.

Summary

“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 !!!

DevOps World – Jenkins World 2019 (part 1)

By | Blog | No Comments

Introduction

At Comquent, we offer services in Quality Assurance, and a very important part of ensuring a product of high quality is to establish the right CI/CD processes. This means that we should also concentrate in the technical aspects of such an infrastructure. The “DevOps World – Jenkins World 2019” conference was a great opportunity not only for us, but also for all enthusiasts in the DevOps community to learn what’s new in the CI/CD world and to educate oneself in all things about Jenkins. The event takes place once a year in a different city in Europe. This time it was held in Lisbon! We all had a great time sharing knowledge and listening to talks about Cloud evolution, Kubernetes, Jenkins and, of course, Jenkins X.

Day 1

The “pre-conference day,” as it is called, was the day all training sessions took place. The participants of the conference were able to apply for CloudBees Core, Jenkins and Jenkins X trainings, in order to gain the fundamentals and advanced knowledge about CI/CD with Jenkins. Through these sessions, newbies in the field had the option to apply to take the actual exams that took place on Day 2, without any extra cost to those holding a ticket for the entire conference. Additionally, CloudBees organized the Partners Day, where Comquent, as a new CloudBees partner, had the opportunity to watch some insightful presentations about new CloudBees products and solutions like Flow, Rollout and Accelerator.

Day 2

On day 2, the keynote speaker set the pace and introduced what’s new in the DevOps and Jenkins world. CloudBees presented its vision about solving the challenging problems in software delivery – problems which, so far, have prevented the integration of technologies, teams and tools with relevant and significant business processes. One solution provided: A “Software Delivery Management” platform, now open to everyone to join on a preview-basis. SDM aims to provide a common data layer to connect teams, tools and business metrics. Kohsuke Kawaguchi, the creator of Jenkins, talked about the journey that started it all. Google Cloud partners were also on stage, and the new road ahead for the CI/CD world was revealed to us.

Kubernetes is the new standard for developing and orchestrating containerized applications in the Cloud. Tekton is a powerful pipeline execution engine, which leads us to Jenkins X, the CI/CD solution for Kubernetes applications. CloudBees also revealed a new way of interacting with one’s own Cloud infrastructure in Jenkins X, introducing a new User Interface to easily monitor a pipeline, or to promote a Build to production. And to make things even easier, companies can now join the “CloudBees CI/CD powered by Jenkins X” preview experience, where the installation and configuration of Kubernetes is not a prerequisite, but offered as a service.

Other interesting talks were also held throughout the day. One example was how to incorporate budget and security in the pipeline implementation and stop the pipeline if budget or security is out of certain limits (continuous verification of infrastructure). Another example was how to incorporate security scanning in a CI/CD pipeline.

Day 3

This was the last day of the conference, where I decided to test my skills and take part in the exams qualifying for the designation of Certified Jenkins Engineer (CJE). About 80% of the questions were practically-based, focussing on the use of Jenkins, so Jenkins hands-on experience was required. With a score of 82.22%, I was officially certified, which boosted watching the final set of talks with all the more enthusiasm.

The last day included more advanced themes, like canary deployments and using specific tools with Kubernetes and Jenkins X in order to establish rules related to network metrics when upgrading a version. For example, one can roll out updates selectively, provided the network metrics (gathered from Prometheus, which is used for monitoring the cluster) of API communications are above a certain threshold. And only if there are no errors reported, will the deployment to other nodes (progressive delivery) be continued. The last talks focused on security in DevOps and Autonomous Real-time Testing (ART). With ART, one can model the user stories of a complex system and generate a “just-enough-number” of test cases with the help of AI and Sigma functions, i.e. the ones that provide the best coverage.

To be continued in part 2!