Part 1. Progress to date and next steps.
Backstory:
Earlier this year I had an opportunity to design a complex
software system. I researched multiple options but decided to go with
Microservices.
Microservices pattern seemed to be meeting the requirements
of the project I was working on. It did require learning how to implement it professionally
and my learning track was like this: Microservices -> Automation ->
DevOps -> CI/CD -> VSTS/TFS (I am a .Net guy).
Docker was not in scope just yet, after all it does take
time and effort to learn something, and learning professional Microservices &
CI/CD was already enough. Spending time to learn Docker just did not seem to
bring enough value.
Why look at Docker now? I have a strong opinion that it will
be a valuable asset in my R&D toolset.
So, Docker. A container technology for deploying and scaling
web applications with ease. Docker promises to eliminate "it works on my
machine" situation and be sure that the app will
work wherever it is deployed. I was fortunate enough to experience "it works
on my machine" and that was not the most pleasant experience. The closer
you get to production environment the more critical it becomes. Piece of mind
that your application will "just work" is invaluable. Without further
ado, let us see if the promise is true and how easy it is to get there.
My progress:
I began my journey by doing a Docker tutorial at
"https://docs.docker.com/get-started/". It explained the concepts
pretty well, I created a couple of my own diagrams (I am a visual learner) and
do not recall any confusion with the concepts. Along with the tutorial, I
created a Docker "image" with a simple "Python" web app. I
was amazed how easy it was to follow the tutorial, considering I had never
touched Python in my life.
I did hit a couple of roadblocks, the most annoying one was
my Windows 10 being a "cheap" version and virtualization-incompatible. Not willing to
buy a Pro version, I installed Ubuntu on my second HDD and things worked just
fine after that. (note: enabling virtualization in BIOS might f*ck up Windows
10 start-up, so make sure to disable it before going back to Windows)
Next steps:
So, I did want to try Docker out, I did, I liked
it, now it is time to see if it can bring value for my particular skillset. I
am a .Net developer and my current learning focus is on .Net Core (to be more
specific, it is on building Microservices based on ASP.Net Core MVC framework).
So I am going to explore creating .Net core Web Api projects inside Docker images and
deploying them to Docker Swarm on my local machine. This way I can try out
replication, and become more comfortable with Docker before scaling to multiple
machines or trying other orchestration tools.
Till next time.
very informative content. Thanks for sharing.
ReplyDeleterpa training in adyar
rpa training in vadapalani
rpa training in porur
rpa training in nungambakkam
The information you've provided is useful because it provides a wealth of knowledge that will be highly beneficial to me about Kids Playground Equipment. Thank you for sharing that. Keep up the good work.
ReplyDelete