This webinar shows how to deploy a simple Python application into an OpenShift cluster on the cloud. It covers the three main deployment scenarios to build and deploy applications to an OpenShift cluster on IBM Cloud:
- An existing Docker image needs to be pushed to the OpenShift cluster on IBM Cloud, and then deployed: In this scenario, an existing Docker image is in a private registry. The image must be deployed on the OpenShift cluster on IBM Cloud. For example, you might use this deployment scenario in a “lift and shift” approach during application modernization. There is no continuous integration or delivery mechanism that is implemented, because you don’t have access to the sources.
- There is a GitHub repo with sources as well as a Dockerfile that has instructions to assemble the image: This scenario is applicable when you want complete control and flexibility to assemble the image with the only the required dependencies and versions. The code is always compatible with the dependencies, because you specify them. You need to maintain the Dockerfile in this scenario, which can be a complex task at times. This scenario allows continuous integration and delivery to the OpenShift cluster, which helps keep the deployed version of the code current.
- There is a GitHub repo with sources: In this scenario, you rely on the OpenShift Source to Image (S2I) toolkit to create a Docker image. OpenShift S2I uses the sources and a builder image to create a new Docker image. When the oc new-app … command is used and no Dockerfile exists in the repository, the source code language is auto-detected. The language detection rules are specified here. According to the OpenShift blog, the advantages of using S2I are speed, patchability, user efficiency, and ecosystem. This scenario also allows a continuous integration and delivery to the OpenShift cluster, which helps keep the deployed version of the code current.