
Remote DevOps Engineer
5+ Years AWS Cloud Platforms Experience.
5+ Years Managing Infra as code ( Terraform) Experience.
5+ Years CI/CD Platforms (Jenkins, Bamboo) Experience.
3+ Years Kubernetes Platforms Experience.
5+ Years Docker Platforms Experience.
7+ Years Remote Full Time Working Experience.
7+ Years Supporting Platforms Experience(Linux & Windows).
14+ Years Cumulative Sr. DevOps Engineering Experience.
SR DEVOPS ENGINEER
Optimeye (FreelancerWork)Senior Manager
Vodafone India ServicesSr Lead DEVOPS Engineer
XorientDEVOPS Engineer
AMYSISSenior DevOps Engineer
AmsysTechnology Specialist
Xoriant SolutionsService Delivery Specialist
IBM India Pvt Ltd.DevOps Engineer
FCSoftware Solution Pvt Ltd.Systems Engineer
Dell Perot SystemsSystems Engineer
HCL Comnet Systems & Services Ltd.Systems Administrator
Patni Computers Ltd..jpg)
Terrafrom
AWS (Amazon Web Services)

AWS Lambda

Kubernetes

AWS

Oracle Cloud

Terraform

AWS Cloud Formation
.png)
Docker

SSM

Ansible

GitHub

GitLab

Splunk

Nagios

CloudWatch

DataDog
.png)
Jenkins

MySQL

MongoDB

Nginx

Apache

Tomcat

IIS

EC2

IAM

S3

VPC

Lambda

API

kubectl

Prometheus
.jpg)
Grafana

EKS

PowerShell

Python

Boto3

Unix

Linux

Microsoft Windows Server

VMware
AWS FINOPS AUTOMATION
Terraform
AWS Cloud:
Terraform :
Jenkins:
Ansible:
Container:
AWS Cloud:
Terraform :
Jenkins:
Ansible:
Container:
Terraform
Designed and developed reusable Terraform modules to automate the provisioning and management of infrastructure resources in AWS.
Created Terraform modules for common infrastructure components such as VPCs, subnets, security groups, and EC2 instances, enabling consistent and efficient infrastructure deployment across multiple projects.
Implemented module best practices, including parametrisation, input validation, and documentation, to ensure ease of use and maintainability.
AWS Automation
I took the lead on a project focused on Financial Operations (FinOps), specifically involving the automation of report generation and distribution using a cloud availability tool. As part of this project, I developed a Lambda function that monitors for new reports generated in an S3 bucket. These reports are then filtered based on specific criteria, such as identifying EBS volumes that are not connected. Once filtered, the Lambda function sends email notifications to relevant users, providing them with actionable insights based on the reports. This project has not only streamlined our reporting processes but has also enhanced our ability to proactively address issues related to EBS volume connectivity, ultimately contributing to improved efficiency and cost optimization within our cloud infrastructure
AWS Cloud:
Terraform :
Jenkins:
Ansible:
Container:
AWS Cloud:
Terraform :
Jenkins:
Ansible:
Container:
Environment: AWS Services, Terraform, Docker, GIT, Maven, Splunk, Linux, Windows, Database, Bash, Git, Jenkins CI CD,ECS, VPC, Splunk, Ansible, step function, Jira, confluence, Bitbucket
AWS Cloud:
VMware:
Terraform:
Other Responsibility:
Could you help me understand more about your background by giving brief introduction of yourself? Hi. My name is Vicky. I have overall 11 plus year of experience into the IT. I started with Windows and the Linux profile. Meily, I would say I started with the Linux profile. After that, I was moved to the virtualization, Then I got opportunity to work in the cloud environment. I started with IBM Cloud. I was working with IBM, so I got the opportunity to work on the IBM Cloud. And after that, I got opportunity to work on the AWS Cloud. Then, uh, I got opportunity to work on the CICD, then finally moved to the DevOps. And in the last project, I worked on the FinOps as well. So, uh, if I'm going to talk about the technology, um, if I'm going to talk about the ISE, I have a good experience on Terraform. Even I have a good experience on creating module, I have created Terraform module for e c 2, for s 3. Um, even I have created one of the Terraform module for GCP project as well. Uh, if I'm going to talk about the Uh, if I'm going to talk about the cloud, I have good experience on AWS cloud, little bit knowledge on the IBM cloud, and little bit, I would say, on the GCP as well. If I'm going to talk about the monitoring, I have good experience with Splunk, Datadog, even CloudWatch monitoring that is provided by the AWS. Uh, if I'm going to talk about the CICD, good by Jenkins. Even I do have experience working on the code pipeline, code deploy, code build, um, little bit experience on the bamboo as well. For the version control, I have experience with GitLab, GitHub. Yes. That is
Can you propose a method for integrating automated security scanning with CICD pipeline using a w s tool? There are multiple ways by which we can do this thing. See if we are talking about the city, then, uh, we can use the AWS services like code pipeline, code build, code repository, all those things. And for the security, we can use the rules where we can give the least access and automated security scanning with CICD pipeline using Automated security scanning. Automated security scanning can be done by SonarQube as well, so it's all dependent on the project which we are working. So let's suppose I am working on a project, and that project is on Node JS. And I need to do some kind of testing before deploying it to the production or to any of the environment like dev test, any of the environment, I can integrate tools like, uh, solar cube in between, which is going to do the testing for me.
Describe how you would implement Bluegreen Deployment using the AWS services within an existing CACD. Blue green deployment is provided by code pipeline could deploy. So what exactly the blue green deployment is? There is a deployment which is already running. Rather than updating that, uh, deployment. What we are going to do is we are going to create a separate deployment so that the running development is not going to affect in any way. It is something like where we are creating a replica of the existing environment. And once that replica with the new version is up and running and there is no issue with that, that is a blue green deployment. And we can of the previous version of the deployment. And we can easily achieve this thing, uh, with the help of the tools like, um, CHCD tools, so which are provided by the AWS Code pipeline, code deploy, code build. So these these are the tools by which we can achieve this thing.
How do you design Python script that automatically resolve common failure in the AWS EC2 instances. Now if I need to design a Python script then I need to use one of the AWS service that is the Lambda. Now in the Lambda I will get an option to use the Python library with the AWS Boto3 and in order to resolve common failure in the AWS EC2 instance like there are n number of scenarios by which EC2 instance can be failed. So let's talk about the first scenario where I would say the machine is not coming up because of the user data script. Now here what I can do is I can create a Lambda script or rather I would say I can create a Python script. Now this Python script what it is going to do is it is going to check whether that EC2 which is creating with the help of the launch template here I am taking example of the launch template why I am taking example for the launch template because I am expecting we already have a predefined AMI which is there in the launch template. Now I am creating my machine with the help of the launch template and while creating the machine I need to do some testing. Let's suppose I need to do the testing of there is a security tool let's suppose security tool is callis and that is going to be installed on the machine with the help of the user data. Now there is some problem with the user data. So what I can do is I can write my Python script in such a way where it is going to check whether the output of the user data is successful or not. So for that I am going to write a script and if it is successful then it is fine if it is not successful then what I do have the other option either I can send the notification or I can stop the deployment I can do all those things.
When giving an AWS infrastructure with scaling issue, how would you employ Terraform restructure for better stability? Okay. Um, so here Terraform is a ISE by which we can create our resources. Now whatever the resources we need to create, we can mention it in Terraform. So let's suppose I need to create a EC two machine. Along with that, I need to create elastic IP. Along with that, I need to create a role. Along with that, I also need to create couple of security groups. And, also, I need to create 1 VPC, a doubt table. All those things I need to do. Now when I am going to do all those things manually what will happen is it might going to take longer time for me to create. Now if I have a Terraform, so I only need to write my code once and then I can use the same code in multiple environments. And if I need to do any changes. Let s suppose I need to create a security group which is with the name XYZ dev environment And the same security group, I need to create in the other environment as well. So I only need to change the dev to prod or to test. Something like that. It's a small variable change which I need to do. Not a big change. So everything is there in the Terraform. I just need to do Terraform plan, then Terraform uh, first, I need to do Terraform in it, Terraform plan, and then Terraform apply. And my resources will be created within 5 minutes, I would say. So no manual thing or no repetition of the work. No error, and I can expect the infra to be up and running as I expected. And with scaling we can use auto scaling in between. This is one of the services which is provided by AWS And with the help of the auto scaling, when there is an increase in the traffic let let's suppose there is a web server which are running, and there is an increase in the traffic. So what the auto scaling is going to do is it is going to create more instances the And with the help of the Terraform, we just need to write the auto scaling resource. We need to, uh, you know, map it with with our e c two and the other resources which we are creating.
Now, refactor a monolithic terraform code base. Monolithic, now here could be n number of reasons why we are saying it's a monolithic. It might be everything in the terraform is a hardcoded or it might be we need to use that terraform code in multiple environment but it is not written in that way that we can reuse that code in multiple environment. Now when we need to you know make it reusable what we need to do is we need to use rather than using the hardcode value we need to use the variables. Second thing we also need to go with the approach of the tf var files. Third thing we also need to go with the dependent option other things like the output we need to go with that as well. Now if we want to make our code reusable the best way is to create the terraform module. Now what exactly the terraform module is. Terraform module is something which is going to include everything let's suppose I am creating a EC2 machine now it is going to include every attribute of the EC2 machine. It might be there is one customer which need to create a EC2 machine with a public and a private IP enabled and there is another customer which need to create only the private IP not the public one. Now in the terraform module I need to give all those options to the users at the time of creating their resources they can easily say yes or no or you know enter the values of the resources and they will get the desired result. So let's suppose they need to create a security group so they can mention the security group name and if they are not going to mention the security group name what will happen our security group is created in a secure way that is only going to allow the public IP of the user from which it is created port number 22 for the SSH and port number 3389 if it is a Windows machine. So that is the terraform module a single code which has all the resources customer can use in their modify customer can use according to according to their own requirement and even if they are not going to provide any information let's suppose there is a mandatory information if we are creating a resource with the terraform so we need to provide the name we need to provide the EMI ID. So if the customer is only going to provide the EMI and the name of the machine it is going to create a machine for them in a standard way and if they need to alter not alter I would say if they need to update any of the information let's suppose which I talked about earlier as well let's suppose they need to update the elastic IP they can give that option as well so that is a terraform module.
Okay, it's a docker file from node 10, okay, it is using version 10 for the node work dir That means whatever it is going to do, it is going to do it in the app folder. Now here is the package.json which is we are expecting there in the local path from where we are creating this docker file and we need to copy this thing into the app folder, run npm install, then we are giving this Linux command in order to install the run npm install copy.app, okay. Now here we are using copy two time, the first copy command we are using where we are copy the package.json to the app folder and the second copy which we are using is copy all the thing which are there from where I am creating my docker file to the app folder. Now if I am going with this thing what will happen, my docker file is on the same. So that is going to be a potential issue because it is going to copy all the things, all the files which are there in my local directory from where I am creating a docker file. It is going to copy all the thing in the app. That is something I don't want here. I only want to copy the package.json to the app folder. So this command copy is not copy.app is not required here. We can simply remove this thing. cmd index.js, okay it seems to be a correct command with the help of the cmd or the entry point we can you know go to the node and we can start this index.js page and expose 3000 that is the port number which we need to expose. So here the potential issue is with the copy command and I would say cmd as well where we are using the index.js I think we don't require it here because we are not defining it anywhere in this docker file. So this could be the potential issue.
If we need to managing the dependencies in Python, uh, if we are using a Lambda function, so the best way is to go with the layer. Um, in AWS Lambda, we have the option for the layer where we can have let's suppose I need to, uh, in my Python code or in my Lambda code, I need to use a tabular tabular. It's not something which is already installed on the AWS Lambda machine. Now what exactly the AWS Lambda is a serverless. Okay. And in the back end, there is a Linux machine which is running. And there we have the preinstalled software as well. Like, we have the portal 3 already installed. We have the paper already installed. We have the time already installed. Now for all those thing, we we just need to write input porta 3, and it is going to work in my Lambda function. But if there is, uh, there is a, uh, I would say, a software which we require, and that is not installed. Like, the Tableau is not installed. So I need to install that thing. Now I don't have access to the AWS Linux machine with which running the Lambda. Correct. So what I'm going to do is I only have the console where I can write my script. So what I'm going to do is I'm going to create a layer, and that layer, I can include with my lambda function. And while creating my lambda function, it is going to work as expected because it is going to pick up the things from the dependencies from the layer.
For the disaster recovery, the best approach is to go with the multiple availability zones. Let's suppose, uh, if there is a web application which is running. Okay? Now I need to design my web application. Availability zones. If one of the availability zone is down, I can still work with the other availability zone. That is the one way to, you know, to minimum the impact of disaster recovery. The second way is to go with other services. Like, we have a CloudFront, which we can use. We can use the s three static website if it is an application, which if it is a static applications, static web application. If we can use it on the s three, then s three is one of the best option. We can use the CloudFront CloudFront so that we can have our traffic, you know, all all over the globe on the AWS network. We can use the WAF for the disaster recovery. But here, the best approach is to go with the multiple availability zone. And if the client alone, then we can also go with the multiple regions as well. But if we are going with the multiple regions, then we also need to take care of the VPC, VPC peering. We We also need to establish the connectivity. So all those things, we also need to consider if we are going with the multiple as well. We can go with the multiple accounts as well, but that is not recommended because there we need to create the assumed role. So that is a bit complicated environment for the disaster recovery. The first is to go with the multiple availability zone. And if the client allow for the money, then we can go with multiple regions as well, like US east 1, US west 2. We can go like this as well, but we need to make sure that there is a connectivity in between. And in order to have the connectivity, we need to use the VPC peering transit gateway.
MongoDB AWS also providing this service like the DynamoDB they are providing. They they are also providing the AWS RTS, uh, which we can use with our AWS cloud. So in order to integrate these things together, we need to a rule in between. And though it's something where we need to define what kind of access user or application can can be a low or deny. And for the Python application, I think it's a easy one. It's not that complicated. We can create a Lambda function, and we can give the URL we can give the URL of the MongoDB. We can give the username, port number, password, and we can also use the SSM parameter in between so that we we don't have to give the hard coded value for the sensitive information. So we can easily achieve this thing with the Lambda function, and we can easily achieve
ECS is a last container service. Simply, like, we have Kubernetes, so it is a management tool for where we have multiple dockers, and we need a man uh, and we need to manage those dockers. So we can use this ECS. Now the advantage I would say here, we can integrate the other AWS services like monitoring service, which is very important. So with the WCCS, we can easily integrate the service. We can use the role in between and all where we can limit the access for the user for the application so we can go with the least privilege model as well. We can recreate. We can store our code in the code commit, and that is a version control. So every time whenever we need to update our code, we have the previous code available. So if something happened with our latest code, we can still work with the previous code. So the these are the advantages which I will get with the ACS. ECS.