OCI DevOps-Free Automated Cloud Native Application Deployment to Oracle Cloud

Lucas Jellema
Oracle Developers
Published in
8 min readOct 22, 2021

--

Deployment is a term used frequently and often casually in software engineering. A term that for a long time was a bit cryptic to me. What exactly is deployment and what steps does it entail? Why is it apparently so hard? What help do deployment tools offer? And what is this continuous deployment — and how does that relate to continuous integration (CI/CD)?

In its essence (software) deployment is the activity that takes software to a specific runtime environment and makes it run in that environment. An important part of deployment therefore is handing the software to whatever runtime will run that software — Linux, Kubernetes, Application Server, Web Server, Java Virtual Machine, Serverless Functions framework — along with instructions for running it. Getting access to that runtime environment is therefore a required step in deployment. Software needs to be tailored to the environment in which it is running. Credentials, end points, thresholds, directory locations are examples of such environment specific run time values that need to be provided at deployment time. Along with the hand over of the software artifact to the runtime environment, the deployment process will provide the configuration required to run the artefact in the environment. One could argue that preparation of the runtime environment itself — for example the installation of required libraries or activation of specific features in the runtime platform — is to some extent part of the deployment process

--

--

Lucas Jellema
Oracle Developers

Lucas Jellema is CTO and IT architect at Conclusion, The Netherlands. He is Oracle ACE Director, one time JavaOne Rockstar and programmer