Java, CoreOS, Docker, & More
Firstly, the new semester has started up and my previous goal of one post per month might become a little more difficult to keep up with. For that reason I will be making this post mostly personal opinions and ideas rather than technical writing.
It has certainly been a busy start to this school year getting multiple labs ready, updating computers, installing new software, and plenty of other daily tasks that are quite difficult to stay on top of. Hopefully, I can better prepare next summer…this year was quite different.
I have been in college for a grand total of four (4) years now. Going part time has given me an amazing opportunity to work and obtain real-world experience but has also delayed me from getting into my upper level courses and even now I am just now starting to take courses related to the IT field.
Experience with the command line and scripting at work has prepared farther than I could have imagined. The first class I am taking regarding my degree plan is “Object Oriented Programming” using Java (INSY 3300). All the code that I have seen while looking through open source projects has been quite beneficial since the ideas of variables, comments, tabbing/spacing, and even to an extent the idea of OS X packages has some relationship to Java code. I am still in the introduction of Java but it is quite fun to finally get the time to learn a programming language.
CoreOS is pretty new to me but the whole idea behind it is quite fascinating.
CoreOS is a new Linux distribution that has been rearchitected to provide features needed to run modern infrastructure stacks. The strategies and architectures that influence CoreOS allow companies like Google, Facebook and Twitter to run their services at scale with high resilience. –CoreOS
Think really really tiny virtual machine that uses linux, has the ability to automatically update, is heavily scalable, and automatable. This is still in the learning mode for me, much like Java, and I have not had a chance to dig very deep into the usability of CoreOS. If you wish to play around with CoreOS I highly recommend using Digital Ocean since the setup is quite painless and allows you to test things on a cloud platform. Below is a link if you want to sign up and receive $10 free credit.
Note: The referral above also earns me credit.
Docker is related to CoreOS but only since Core heavily relies on the foundation of Docker. However, Docker does not rely on CoreOS and can be ran on any operating system. Without using the terminology created by Docker it is kind of hard to understand what Docker actually does. In the simplest terms, Docker is ran at the lowest level of the computer interacting with the operating system.
For example, to setup a simple website, instead of directly modifying the apache service to serve the website. Docker will interact with apache for you, almost like sandboxing. Docker will then manage apache which will serve the web files for the website like normal.
So you have a slight idea about Docker, but what does it do? It will allow you quickly setup services automatically with minimal to no manual labor. Below are a few cool Docker projects hosted on Github to get ideas flowing.
Docker is not another application to virtualize operating systems. It allows you to have “containers” that maintain a certain service and can easily be modified on one server or 1,000’s of servers.
Currently, I have a running list of topics I would like to share using this blog. It is simply taking much longer for me to get around to them than I anticipated. There are so many awesome technologies being developed everyday. I am just lucky I get to experience it first hand.
Let me know what you think in the comments below!