My DevOps Story
What is DevOps?
"DevOps brings together developers and operations, merging them into a single team, and driving them with the idea of mutual support. DevOps methodology allows delivering software frequently with minor iterable changes."
DevOps enables the users to receive new features and updates frequently. The customers receive new features and bug fixes more often and the company becomes more competitive.
DevOps minimizes the chances of outrages. Even if the outrages do take place, everything can be fixed in a matter of a couple of minutes (sometimes in a matter of a single refresh) and the users won’t even notice that something is wrong.
What I wish to gain and learn?
Exposure to lots of open source technologies. Since DevOps is all about integration and automation, I'm looking forward to putting the pieces together and make the real use of them.
With good knowledge on DevOps, we can propose solutions to make things easier, repeatable and qualitative.
In our class, we installed Docker and browesed throught our DevOps website through a container created by us. What fascinates me is how Docker is so much lighter than Virtualization. We create separate containers and run various applications in them independently on different operating systems and configurations.
During week 3, I was assigned the task of going through different cloud platforms and selecting one most suitable for our classwork. I am studying and comparing the 4 leading cloud service providers: Amazon Web Services, Microsoft Azure, Google Cloud Services, and OpenStack. I will be comparing them on various parameters to take an informed decision.
During week 4, I collected data about the 4 major cloud platforms. I am evaluating them based on their availability, scalability, cost, and ease of use. By the next class, I will be ready with my results. I am also documenting my thoughts and reasons for selecting a particular service provider, so that anyone interested can have a look and give their feedback.
Last week, I was trying to collect as much information as possible to make an informed decision regarding which cloud services to use. I have come to the conclusion that we should go ahead with Amazon Web Services. This is because it has suitable coverage, the plans are pocket friendly, the AWS console and all the features are easy to use, and most of the teams are comfortable using it, hence the overall throughput will be better.
During the Sprint session last week, it was brought to my notice that some teams needed help in hosting the websites on S3. Hence, I started with creating a bucket on AWS S3. I selected our domain and set the url to be hosted. I created a permission to enable public access to the webpage. Finally, I uploaded the entire source code and deployed the website on the S3 container successfully. A detailed tutorial comprising of documentation along with screenshots is my goal for the next week.
We had no class on account of Spring Break. I utilized this time to create a tutorial with step by step instructions and screenshots for deploying a website on Amazon S3. I am coordinating with the deployment team to make sure their requirements are met and that they are able to work with AWS as per their requirement.
This week, we had a guest lecturer, Joe West, CTO at BounceX. He discussed about the four major principles of DevOps. The principles are: Business is the Thing, Rightsize Toolchain, Productivity is the best practice, and Document and rehearse. He gave some amazing examples and shared some interesting stories from his own experience which really helped us grasp the concepts better. He made it very easy to understand and remember.
During week 9, during the sprint sessions, it was brought to my notice that the quiz team needed some help in using the relational database on cloud. We are planning on how to go about that keeping in mind the size and nature of data. We target to complete the implementation by next week so that they can proceed further with their work.
During week 10, we used AWS RDS to upload the data for the quiz team. We also created a documentation with step by step instructions on how to implement along with screenshots for ease for undertanding.
During week 11, the coding team needed to run the plagiarism checker script using a lambda function and needed an API to call the plagiarism checker lambda function. So this week, I plan to write a lambda function and then integrate it with the API.
During week 12, I created the lambda function in python to run plagiarism check. Once the handler function was created, I used event and context to pass data to the lambda from the user. Once this was set up, I created an API function to accept user input through the url tab. Thus, we successfully deployed plagiarism checker function on AWS lambda and ran it using an API.