BoxBoat Blog

Service updates, customer stories, and tips and tricks for effective DevOps

x ?

Get Hands-On Experience with BoxBoat's Cloud Native Academy

From SysAdmin to DevOps Engineer

by Leon Castellanos | Tuesday, Mar 14, 2017 | Education

featured.jpg

The intro part

Professionally speaking, I’ve been going by the title “Sr. UNIX/Linux SysAdmin” for longer than a decade. But this is a title for the corporate world. What I really am is a tinkerer/white hat hacker, born at the right time, and lucky to have both seen and experienced the accelerating pace of IT technology. Along the way, I had many great teachers, but no formal degree.

I was there before the explosion of the World Wide Web, so I’m a dinosaur by IT standards. I come from the days of IRC EFnet, dial-up Bulletin Boards, CompuServe, AOL, Newsgroups, uuencoding, and phone phreaking. I was already running Windows apps on Linux when this small company released a product called “VMWare Workstation” back in 1999. It would be two more years before “VMWare ESX Server” was to be released and begin its eventual takeover of the market.

I bring up VMWare because I’ve noticed a lot of similarities between its now historical adoption by the corporate world and the current trend to embrace the DevOps / Containerization / Micro-services paradigm. I too notice a lot of the same fears: the “virtual hardware?? I don’t know about that” has become “Containers and Micro-services?? I don’t know about that.”  And as it was back then, so it is today (more than ever), that the drive to push for these new technologies and their adoption must come from us, the engineers.

Recently I switched my title from “Sr. UNIX/Linux SysAdmin” to “DevOps Engineer,” and as I continue to embrace this transition, I would like to begin this blog series to share my perspective: the “gotchas”, the “eurekas”, and anything else. Fellow SysAdmins, or anyone for that matter, can benefit from them as they embark on their own DevOps adventure.

Good learning resources

On my path to become a “DevOps Engineer,” with a heavy focus on Docker, I’ve gone through a lot of search results. I want to share some of the ones I’ve bookmarked for what I consider quite valuable content. They are listed in no particular order:

To start of, a great example of continuous delivery using Docker, Traefik, Nginx and Jenkins:

http://niels.nu/blog/2017/continuous-blog-delivery-p1.html

This next link is Katacoda. It houses a very nice collection of hands on labs with built in sandboxes to play around in. A really great resources for newbies and veterans alike:

https://www.katacoda.com/

If you’re looking to get your hands dirty with Docker, but don’t know all the basics, there’s nothing faster than Play-With-Docker to get started. Not much to say about it, just check it out, if you haven’t:

http://play-with-docker.com/

We use GitLab here at BoxBoat, and this following article is a very nice tutorial on setting up GitLab for Docker based development:

https://botleg.com/stories/setup-gitlab-for-docker-based-development/

I am an avid gamer, and always have been, and so this next one caught my attention. It’s an in-depth article series from Riot Games, the makers of League of Legends, one of the biggest e-sports games, on how they take advantage of Docker and a lot of other DevOps tools:

https://engineering.riotgames.com/news/running-online-services-riot-part-i

And along the same line, this is (as of this writing) the latest Docker benchmark from the Center for Internet Security. An invaluable resource for anyone considering Docker in production environments:

https://benchmarks.cisecurity.org/en-us/?route=permalink.a4da7cac09d128ce86bc95a3s4002917

And well, more security, because you know you need it (I know I do). This one talks about important considerations regarding local users with access to your Docker Engine and how to setup “sudo” for better security:

http://www.projectatomic.io/blog/2015/08/why-we-dont-let-non-root-users-run-docker-in-centos-fedora-or-rhel/

It seems everyday there’s a new tool out there, and part of the job is finding out what does what, and how do things compare. I ran across this very nice project on GitHub that provides a great comparison of available Container Orchestration options:

https://github.com/KaivoAnastetiks/container-orchestration-comparison

This is one my latest finds. A really very nice and clean GitHub project to help you setup a reverse-proxy for your servers using Traefik and Let’s Encrypt:

https://github.com/containerize-my-server/reverse-proxy

The following two come as a package. The first covers building a Docker cluster with Celery and RabbitMQ in 10 minutes, followed by how to build a crawler to crawl millions of pages with a single machine in under 2 hours. Very cool stuff:

https://medium.com/@tonywangcn/how-to-build-docker-cluster-with-celery-and-rabbitmq-in-10-minutes-13fc74d21730#.5pz6f83b9

https://medium.com/@tonywangcn/how-to-build-a-scaleable-crawler-to-crawl-million-pages-with-a-single-machine-in-just-2-hours-ab3e238d1c22#.khexw5jc0

These should keep you busy for a good while…

Stay tuned for future posts on my “Adventures in The DevOps World”.