Despite the broad adoption of Cloud Native architectures, many companies wonder why they haven’t increased their developer productivity and software delivery velocity. One of the reasons is their adherence to traditional ways of building and deploying applications.
It has always been a challenge to build Java applications for the cloud (i.e. building container images from Java source code). There are many tools, but most weren’t designed to work with modern Continuous Integration(CI) tools and declarative Continuous Deployment(CD) patterns like GitOps.
Kubernetes has become the Cloud Native de-facto standard for container orchestration, and CI/CD needs to evolve with it. CI needs to build, test and push application sources (i.e. container images to the registry) and CD needs to apply Kubernetes manifests from the Version Control Systems(VCS) e.g. Git and use container images(from the CI builds). And so, a new toolchain is needed.
DroneCI and ArgoCD are open-source declarative, cloud native CI/CD tools for Kubernetes -- as part of your toolchain, they will make your setup much simpler and faster. For a Java developer, deploying to production could be as simple as java -jar myapp.jar.
An Author, Consultant and Developer Advocate; Kamesh is Product Manager for Managed and Developer Services at Red Hat.