My DevOps Story:

by
Drumil Bakhai

Week 12:

In the final concluding week, I compiled the list of interview question. Also finally I made a sample Jenkinsfile that can run if Jenkins is configured properly. In order to keep the things simple I have kept 3 stages build, test, deploy In order to generalize the users can then customize their steps.

Week 11:

In the previous week, I am reading about Docker compose and Dockerfile. The Docker becomes handy to package our application in a single Image and we can port to any client. Additionally, in the previous week I had a chance to interview with a startup regarding DevOps Engineer I will be shortly updating my blog over the devops engineering questions and links to study for the same. As we move to the final one week of the semester, I try to work on automating the build process and provide a generalized template for Prof to use later on, for his new projects and other courses.

Week 10:

I am currently working on Jenkinsfile to improve the the automation of our builds. I have figured out a way in Jenkins which will able to build, test and deploy any commits made on our Github repository. The advantage of using this pipeline is that the commits will be first be build in different Docker Containers then the different tests can be performed and once the tests passes the code can be deployed on our AWS servers

Week 9:

I have worked on finding different tools that developers use for build files. One of the tool is sonarqube that helps the build process relatively quicker. It can be used with multiple technologies like Maven, Makefile, Apache ANT, etc I will write a review about the same in the upcoming week. Also I was working with Dockerizing a sample Flask Project with help of DockerBuild and DockerCompose files

Week 8:

The last week for more of an exploration and solving the problem of students having issues with make file Included a link for running and executing the make file on Windows Platform. The further iteration of make file where implemented.

Week 7:

Since the class faced the problem of updating submodule utils, I and Janeil worked together to change the make file The submodule were updated simply by changing directories to util (submodule). Then once inside the submodule a simple git submodule update.

Additionally I am working on setting up a Jenkins server on Docker Images and then uploading on Kubernetes cluster This gave a nice exposure to different container orchestration tools like Kubernetes.

Week 6:

The spring break provided the perfect opportunity to explore learn and experinment new things. I enrolled in lynda.com's couse for Docker which explained the concepts of docker easily. The course gave me a quick idea of how efficient the use of Docker is. I am currently working to dockerize entire application which involves web-servers, database, load balances etc with the help of docker. As mentioned the last week's material, I was able to configure AWS EC2 instance using Terraform.

Week 5:

After attending Tom's Lecture, various aspects of DevOps were clearly stated. The best part of the entire talk according to me is how he explained DevOps using real life examples using different analogies(Punk Rock). The importance of increamental releases was realized in just not only the field of DevOps or Computer Science but also in normal day-to-day life.
After attending the lecture I read quite lot of blogspot regarding system reliability and maintanence. The vital part in any robust system is replication and load balancing. Therefore I am trying to design a simple system with multiple replicated servers on AWS using configuration management tool such as Ansible or Teraform. Will update my assignment findings ASAP.
Additionally, at my workplace I am trying to setup university wide Jenkins Tool over AWS.

Week 4:

Since last Thursday, I developed a sample application to read data from Github, Slack, and other various sources and display it over the website. Soon a blog regarding how I did the same will be published. I realized the importance of Unit Testing and loggin while developing any application. Unit tests are critical which determines the robustness of the code. I learned few more thing about building efficient deployment cycles by first executing unit test, anazlying results and then automatic deployment process.

Week 3:

At the devops side, I read about more and more built tool which are currently available for the disposal of developers. I have researched about PyBuilt which involves around Python Projects and Added review of PyBuilt in Built Section.

Week 2:

We completed the proper installation of Docker and ran our DevOps website inside the new container that we created. It is just amazing to see how light Docker is from Virtualization. Insted of providing us with multiple operating systems, Docker provides us with container that can hold many applications. This is suitable for micro-services architecture.

Being a graduate student, I always seek to gain maximum industry level exposure. Therefore, during summer 2017 I interned as Academic Student Worker at NYU Information Technology. I developed plugin that aided faculty members to have an organized view of the students enrolled in their classes. I achieved this project by using newest technologies such as NodeJS, MongoDB and AWS to improve my learning curve. During the part of this internship, my mentors introduced me to the concept of DevOps. Lately, as agile team 4 developers and 3 student workers we tranformed the two of the most widely used services NYU Web Publishing and NYU Classes to perform in a DevOps based SCRUM environment. I came across variety of technologies such as Jenkins, Ansible, Maven that helped us with continuous integration. I am very much looking forward to start my career in this dynamic and exciting field.