Daksh Jain

Image for post
Image for post

You must have seen many people create websites for themselves, to showcase their skills. They create professional websites to exhibit their portfolio in a creative way.

I came up with an app.

An application to showcase your skills, who you are, contact information, and what are you good at.

In this article, I will show how I have used creative methods to create a responsive application to tell about myself, my skills, and my contact information.

I have created this app using Flutter because it is easy to use and presents a single-code base for the developer. …


Docker enables faster software delivery cycles. Docker containers make it easy to put new versions of software, with new business features, into production quickly. This article will help you to create your own Ansible Role to launch docker in 2 widely used OS Families: Debian & RedHat and then configure a web server on both of them.

Image for post
Image for post
Ansible + Docker

This is the era of speed. Faster delivery cycles, faster deployments, faster reach to the market, even faster rollbacks are what the market demands.

Docker enables faster delivery of software. The main aim of launching an OS is so that we can run a program. Docker helps the user to focus on the program rather than focus on the installation of the OS. Docker is a very much required tool in the field of DevOps and has increased the pace at which companies deliver. Docker helps these companies using docker, to win at every stage.

They are an extra mile ahead, every time!

I have created this setup by following the below-mentioned steps:

  • Create an inventory file.
  • Create an Ansible configuration file.
  • Create an Ansible Role.
  • Put the files in the /tasks folder.
  • 1- the main file that will call the file to setup Docker in RedHat & Debian and then the common configurations. …


In this project, I am creating an IaC using Terraform for launching the WordPress site on GKE for quick scaling & deployment, and management of containerized applications. The database is in the SQL Service of GCP to utilize its full potential of being fully managed.

Image for post
Image for post
Google Cloud Platform

Deploying your websites in the public domain requires a lot of planning.
1 second of downtime means a lot of loss.
The client is not able to connect means loss of business.
Not so secure database means a data breach and indeed a loss of business.

Everything ends up being related to business and money.

It is very important to be pre-planned about the way you are setting up your business in the public domain.
Here is my plan :

Create 2 projects in different regions.
Follow the rule
“No Root Account”. Create a service account with appropriate roles and powers for proper management.
Then enable a few
APIs.
Create
SQL Server in 1 VPC in 1 project.
Create the
Google Kubernetes Cluster in another VPC in the other project.
In the cluster deploy a
WordPress deployment. Now this is an intelligent deployment and will be taken care by the fully managed GKE Service.
Then finally
put the IP of the service (Load Balancer) of the deployment in the SQL Server so that no other IP can hit the SQL Server.


In order to achieve high availability, at least 2 backend servers should be present and the load balancer will ensure that if 1 backend is not functioning, traffic is directed to the other. ELB is a service provided by AWS that helps to distribute the traffic and provides a single endpoint, where the client can connect. This is very useful when we want to do rolling updates as a Load Balancer will prevent downtime on the client-side.

Image for post
Image for post
AWS EC2 || ELB || Ansible

This article is a continuation of the previous one! So go through that first if you haven’t.

In the previous article, I had explained in detail how to provision multiple EC2 Instances and configure them as Web Servers using Ansible.

At the end of this article, 3 instances were launched.


How much time does it take for you to provision & configure instances as per a sudden requirement? 1 set of deployment of your Production Environment where the companies main website is loaded is corrupted. What do you do? How much time does it take for you to bring it up again?

Image for post
Image for post
Application Deployment + Configuration Management + Continuous Delivery

Your website is the face of your company. It is everything that brings business to you. You follow the best DevOps practices using CI/CD Tools for taking care of your Website. Everything from Git, Jenkins, Docker, Containers, Kubernetes, Deployments, Splunk, and monitoring tools are working great. Suddenly any Deployment gets corrupted, the site still runs all thanks to Kubernetes, BUT,

What happens if you need to start from Provisioning: The first step. How much time does it take to again Provision the instance(if on the cloud), get all the required resources, configure the system — install all the required software, start the services, and many more steps to get the website running?
The time taken should be very less. …


Image for post
Image for post
Terraform || AWS || RDS || Kubernetes || Minikube || WordPress

In this article, I will explain how to deploy a WordPress website on local Kubernetes using Minikube and store the data of WordPress inside Amazon RDS (Amazon Relational Database Service) using 1 single Infrastructure-as-Code using Terraform.

In my last article, I had set up a WordPress server on top of 1 EC2 instance and stored its data in an SQL Server which was also set up by me on an EC2 Instance.

This is an amazing setup, but the problem would arise when:

  • there is a disaster or an unforeseen circumstance,
  • when the WordPress Instance goes down or the SQL Instance goes down or gets corrupt, there will be no one to start it up again.

So what we need is a smart solution that keeps on monitoring these instances and if it goes down, start it up again so that the clients never face downtime. …


Image for post
Image for post

This article sets up a public WordPress site and a private SQL Database for the security of the data. This set up is made on AWS Cloud using multiple services.

A Website is a face, the front-end of your business. The website is made as creative as possible because all the clients/users explore the site all the time. But as important as the front-end, the back-end is equally important. The back-end consists of all the important data such as login credentials, search information, etc. of the client. If the database gets compromised all the data will be mishandled and the reputation of your business goes down.

So a more accurate setup for such an infrastructure would be:

  • WordPress site launched in the Public world where anyone can access it.
  • MySQL Database launched in the Private world where only the members of the “Storage Team” can access it. …


Image for post
Image for post
Terraform || Helm || Kubernetes || Amazon EKS || Amazon EFS || Prometheus || Grafana

Complete research-based project on the integration of many different technologies to come up with 1 solution for quick provisioning and quick real-time monitoring.

Amazon EKS (Elastic Kubernetes Service) is a fully managed Kubernetes service. It is known for its security, reliability, and scalability.

EKS is deeply integrated with services such as Auto Scaling Groups, AWS Identity and Access Management (IAM), and Amazon Virtual Private Cloud (VPC), providing you a seamless experience to monitor, scale, and load-balance your applications.

Terraform helps us to integrate multiple technologies into one single code to compile and then execute it to build the described infrastructure.


Image for post
Image for post
Terraform || AWS || VPC || EC2 || S3 | CloudFront || EFS || LoadBalancer

This article is an upgradation to my previous article. In this article I am going to explain how will Storage work if the instance gets auto-scaled.

Reference to my previous article:

Here I explained in detail about how Cloud Technology works and makes deployment faster and simpler.

When a website is deployed over the Public Network, many things have to be planned. The website is not deployed over just one Webserver. If the website gets an extra amount of traffic that was not pre-calculated, then the site will crash and all efforts and business goes waste. So to avoid this, principles of DevOps are utilised. The most common things to do is use Auto-Scaling and Load Balancers.

Now as the name suggests Auto-Scaling will scale the instances where the website is running as and when required according to some set rules related to metrics of the instance. …


Image for post
Image for post
Prometheus || Kubernetes || Grafana

For the Montoring and Evaluation Team, doing the monitoring of the system resources (CPU usage, RAM, networking and more) on which your important webservers are running is DATA. They use historical data to create plans on future consumption of resources.

This is a very important part regarding Capacity Planning because if on your website huge traffic comes, it is a positive sign, but if you don’t have enough resources to handle it, it is indeed a matter of embarrassment.

So we need a to make plans and accordingly act. But to help the M&E Team we need to keep their data safe. This monitoring data has a lot of value. …

About

Daksh Jain

Automation Tech Enthusiast || Terraform Researcher || DevOps || MLOps ||

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store