My functional dev setup

Problem statement:

The expectation from my dev setup is:
a) It must support multiple projects in plug and play basis and switch over time from one project to another should be less.
b) It should be able to run two inter linked projects simultaneously with conflicting env requirements like python and java side
c) It should be able to support Web Application, Mobile Application and Desktop Application development

Solution:

This time I am looking for Docker based setup instead of VM i.e. Oracle Virtual Box based setup. I have used VirtualBox since 2007 for my dev setup to mimic the hosting environment which were generally an ubuntu sever or a rhel/ centos server, I generally share VM image with team members to reduce configuration issues within team. As start point, I have gone through multiple documentation, best practices specially Pluralsight courses like https://app.pluralsight.com/paths/skill/docker-fundamentals-for-developers and https://app.pluralsight.com/library/courses/docker-web-development to learn the Docker concept.

Below is my current machine configuration:

  • My HP Pavillion 15 Gaming laptop with lntel i5 8th gen, 256gb SSD and 16gb ram and latest Windows 11 Pro installed will act as host machine.
  • The basic technology stack support in host machine will Open JDK 11, Python 3 and NodeJS LTS.
  • The Nginx in host machine will be act as load balancer.
  • The browsers MS Edge, Google Chrome and Mozilla Firefox with latest version will be used for testing.
  • IntelliJ Idea community edition, MS VS code, and Notepad ++ will be used as development IDE. GIT for version control.

Preparing my dev laptop with docker from scratch

Problem Statement:

To learn docker, kubernetes and cloud platform and use it for further learning spring boot and python development.

Solution:

  1. Get a capable machine with minimum Intel I5 or equivalent processor virtualization support, 16GB RAM, 256GB SSD. I got my HP Pavilion Gaming Laptop 15 upgraded.
  2. Install OS which support virtualization and is supported by Docker. I got my laptop upgraded from windows 10 home edition to Windows 10 professional edition. which has now automatically upgraded to windows 11 pro. You can also install Linux OS like Ubuntu or Fedora as your host machine if you prefer.
  3. Created a personal GitHub Account and Docker Hub account…
  4. Installed latest version of Python 3, open JDK 11, Git-bash, Docker desktop for windows, Notepad++, Visual studio code and IntelliJ Idea Community edition for Java.
  5. I was able to create sample repo and sample docker container was up and running.

With base environment ready, I will now start exploring further.