Skip to content

Containerization | Automated Deployment

Mohamed Hassan (JOSEPH) edited this page May 10, 2024 · 37 revisions

Tools to start over lovely bare metal strong πŸ’ͺ hardware:

  • Master Brain: Kubernetes

  • Containerization Runtime (Wrapper around deployable package): Docker

    • Mini-VM for saving costs no more. Don't over-think it. To construct an up and running a container
  • Runtime:

    • Which will contain the deployable package that will be executable later and will be able to serve requests upon being healthy available
  • Build Server with Jenkins installed:

    • CI/CD periodical deployment delivery pipeline should be planned and built via a Senior DevOps Engineer [Linux Based] for effective stable delivery according to a certain plan to the testing environment upon merging with master-branch a verified stable feature-branch
    • Using a Jenkinsfile

Runtime of developed applications:

  • Backend (Java, Spring-Boot): JRE

  • Web Frontend (JavaScript, React): Nodejs


Hints upon Docker usage in different environments:

  • Use base image wisely when writing Dockerfile, because it affects on the image building time AKA transmitting fucken bloody hell a lot of packets over the network

    • Base image selection is based on less size and effectiveness like reviews and its robustness in different environments using a registry called Docker Hub.
  • Read a bit in image layers to optimize the image as much as you can (less layers is better)

Clone this wiki locally