Codementor Events

My journey into DevOps

Published May 17, 2020
My journey into DevOps

My first encounter with DevOps was when I participated in a boot camp for Machine Learning. Most of the apps I developed needed to be deployed online to enable people test, use and give feedback.

1*cjrC5ONcAsx7P6xvs1QREg.png

That was when I first heard of Heroku which is a PAAS(Platform as a Service). A PAAS enables you to deploy your app by just providing your code and the platform will take care of provisioning the servers and upscaling your app. It was a dream come true being able to allow anybody view your app online.

But then I encountered two significant problems with Heroku while using their free tier.

  1. If your app doesn’t get any requests in 30 minutes, then your app is placed in hibernation mode. What this means is that when your app is in hibernation mode, it takes 15 seconds to wake up before handling requests from users. This increases the latency of your app.

  2. Heroku has a 30 seconds time out for requests i.e if a request doesn’t get a response in 30 seconds then it returns a time out page.

These problems affected most of my apps because of the numerous processes carried out in the background when a request is made by users. I had to find a better way of deploying my applications.

My research pointed me to Google Cloud. They have a 1 year free trial and $300 free credit for that one year once you register. Google Cloud is an IAAS (Infrastructure as a Service). They also provide setup environments that are PAAS. IAAS let’s you provision servers for your applications. Upscaling your app can also be handled manually or automatically.

With the free trial on Google Cloud, one can provision a server for applications. Google Cloud provides a free VM instance i.e the f2.micro instance. This instance comes with 512MB RAM. This allows one to deploy his app online for testing purposes.

But as a human, one is always looking for a better deal. Another round of research brought me to AWS (Amazon Web Services). They have a 1 year free trial and $20 free credit for that one year once you register. Just like Google Cloud they are an IAAS (Infrastructure as a Service). They also provide setup environments that are PAAS.

Now for the best part, on AWS the free instance provided which is the t2.micro instance comes with 1GB RAM. This enables developers test RAM intensive apps that might not be easily handled by the Google Cloud free instance.

So there are many options for deploying on the cloud. One just has to look at his requirements and find the best fit.

Google Cloud and AWS have similar services that are just made unique by their different names.

The PAAS provided by Google is called App Engine while on AWS it is called Elastic BeanStalk, this is similar to Heroku. The VPS (Virtual Private Server) instance on Google Cloud is called Virtual Machines while on AWS it is called an EC2 instance. AWS Lambda is similar to Google Cloud Functions.

Deploying apps has been made a lot easier by the services provided by companies such as Google Cloud, Amazon Web Services, Heroku e.t.c. This also reduces the cost of putting an app in production since there’s no purchase of hardware.

1*KqNMbkHwKVsnAJCrdnYzFQ.png

If you’ve had an idea that you’ve wanted to test and deploy, go out there and choose one of these platforms. Please comment below the URL of your app, I’ll love to see what you’ve built. Enjoy!!!

Discover and read more posts from Onyebuchi Valentine Ahiwe
get started