No DevOps and Cloud Infrastructure class this week due to Spring Break, so I’m going to use the time to post something on the blog. For me, the easiest topic right now to write about is a few notes on my experience/thoughts on the first half of DevOps and Cloud Infrastructure class that I’m taking this semester at University of St. Thomas (UST).
SEIS 665 DevOps and Cloud Infrastructure is a relatively new course in UST Graduate Programs in Software (GPS). The first course offering was less than two years ago. The course was designed by a former UST GPS student Jason Baker. Mr. Baker has extensive experience in IT industry and is currently managing a team that is using industry DevOps practices to deliver IT platforms and services.
The hands-on experience with IT platforms such as Git, AWS and Docker is what interested me in the course. I prefer a University course format of a three hour class per week over a 14 week period as opposed to a three to five full-days in a single week. The extended time for a University course allows for more time to absorb the information taught in the course.
Something new for this course – class lectures are recorded and made available to students prior to the class meeting. Each class starts with a lecture review – where Mr. Baker will provide a quick summary and students can ask questions from the lecture videos. Most of the class time is spent on an in-class project – which provides an opportunity to work on the AWS platform and ask questions to other students or instructor as they come up.
IT Industry Platforms – Git, Bash and AWS
The course format is a little different for me. Assignments and exams are scripts or log files that are checked into Github. For grading, automated tests are run against the scripts and log files that is checked into Github. Gone are the days of printing out 10 pages of an assignment, only to realize five minutes before class you need to make a “minor” change. So this format is different – but I like it. A git commit and push of a local repository to a Git origin repository is the end of an assignment (sans deleting AWS resources used to complete the assignment).
I had some experience with Bash scripting before the course. Bash scripting is an important enough platform in IT industry, so brushing up the skills is a good thing. Finally, it is nice to see Bash scripting coverage in a GPS program for all students.
I have dabbled with some really simple, basic AWS projects in the past. But I never went very far – mainly due to lack of knowledge how to set up a web application using a Cloud Infrastructure. The course lectures, assignments and class projects have presented information and examples to build skills to set up a web application on a Cloud Infrastructure platform. The homework assignments have set up a WordPress site and imported a WordPress project using AWS CloudFormation.
Virtualization to Save My Home Windows Computers
Although not core to the course, some time was covered on Oracle VirtualBox. I was motivated to learn how to install and configure Ubuntu running on VirtualBox. Part of the motivation was just to learn more about Linux and setting up a virtual computer on a Windows laptop. The bigger motivation to learn – connecting to an AWS EC2 instance. The student sitting next to me and Mr. Baker have MacBook Pro laptop. For them, connecting to an AWS EC2 instance was as easy as a cut and paste from the connect pop up window in AWS. I wanted the same experience, but didn’t want to a buy a MacBook Pro laptop. The Ubuntu image in VirtualBox provided that for me. I can copy the EC2 connect string and paste it into a terminal window to have an ssh connection to an EC2 instance.
I used to install trial software on my computers, only to watch the computer’s performance degrade over time. Going forward – I’m going to start using virtual machines on my home computers for hobby projects. Once I’m done with a training course, or project, I can just delete the virtual machine and hopefully keep the Windows laptop performing well for a longer period of time.
Upcoming – Second Half of Course
The skills developed in the first half of the course will be the building blocks for the remainder of the course. The second half of DevOps and Cloud Infrastructure course will cover a little more theory of DevOps to include Continuous Integration and Delivery. Homework assignments and final exam will include additional IT Platforms such as Jenkins and Docker.
After Course Completion – AWS Certification?
The course covers a good portion of the objectives in the AWS Certified Solutions Architecture – Associate certification exam. There will be some additional studying/preparation to pass the exam. I’m not sure if I will pursue the certification – will make that decision in May after the Kentucky Derby. *Ah-um*… I mean… I will make that decision after DevOps and Cloud Infrastructure course completion in May.