Aws/devops Engineer Resume
Pleasanton, CA
SUMMARY
- AWS certified cloud engineer with experience in IT industry comprising of Systems Administration, Software Configuration Management (SCM), Build and Release management.
- Currently working on Enterprise wide development team for Tomcat/Java Based Applications, using CloudFormation/Service Catalog to support multiple Dev/test/pre - prod Environments.
- Experienced in working on DevOps/Agile operations comprising of delivery management, design, development, release & deployment, cloud implementation, containerization and managing Infrastructure as code.
- In-depth understanding in all phases of the software development life-cycle (SDLC) with specific focus on developing CI/CD pipelines that helps quality software releases
- In-depth understanding of principles and best practices of Software Configuration Management(SCM) in Agile, Scrum and Kanban methodologies.
- Developed scripts to automate DevOps functions, i.e., source code checking with continuous integration, automated test tool configuration, application topology configuration, automated deployment and proactive environment monitoring & management, etc.
- Experienced in using version control tools Git, Gitlab, GitHub and Bit bucket and has expert knowledge of source code management concepts (branching, merging, integration, versioning, etc.)
- Configured and maintained Jenkins to implement the CI process and integrated the tool with Ant and Maven to schedule the builds and set up Continuous Integration for major releases in Jenkins.
- Experience in administering and configuring Nexus Repository Manager for Maven builds.
- Hands on experience writing Cloudformation and Terraform templates to automate the process of building the required infrastructure as code.
- Experienced in writing bash scripts to automate deployments through cloudformation and terraform
- Experienced in configuring and managing Chef master server and also update and create modules and push them to Chef clients.
- Autom a ted JB oss /T omca t a pplic a tion s erve r d epl oyme nts us ing Chef mani fes ts . Us ed thes e m a nifes ts to replica te v a rious env ironm ents .
- Managed Linux and Windows virtual servers on AWS EC2 using Chef Server. Configured, monitored and distributed multi-platform servers using Chef.
- Worked on Ansible binary and playbook version control, established procedure for GitHub repository on how to checkout, change test, merge ansible code.
- Experienced in containerizing the application utilizing Docker and ECS and managing containers in production.
- Experience with container based deployments using docker and also working with docker images, docker hub and docker registries.
- Used Jenkins pipeline to drive all microservices builds out to the Docker registry and then deployed to Kubernetes, Created Pods and managed using Kubernetes
- Created automated image builds using packer, jenkins and kubernetes
- Wrote terraform template to deploy kubernetes cluster on AWS and managed kubernetes administration knowledge on designing the application on AWS taking advantage of Fault tolerance and Disaster recovery.
- Hands on experience using AWS services like Cloudformation, Auto scaling, ECS, lambda, EC2, EBS, IAM, S3, ELB, RDS, VPC, Route 53, Cloud Watch, etc
- In-depth knowledge on AWS infrastructure, logical workflow of how routing works in VPC, how route tables should be associated with subnets, difference between public and private subnets, AWS best practices.
- Created AWS Cloudformation templates(CFT) to create custom-sized VPC, subnets, EC2 instances, ELB, security groups. Worked on tagging standard for proper identification and ownership of EC2 instances and other AWS services like Cloud Watch, RDS, S3, Route53, EBS.
- Experienced in writing lambda function to monitor application or a particular service status and sent alerts to slack using slack web hooks.
- Experience with setting up HA proxy solution for application monitoring using Grafana, Auto scaling, Elastic container service and Application load balancer.
- Created RDS Aurora DB with cross region replication using Cloudformation template and used that database as session manager to implement session service for grafana nodes using ephemeral ports.
- Wrote lambda function using python and automated consul-backup solution for all the key values and ACL’s from Consul cluster to AWS S3.
- Experienced in using monitoring tools like Grafana, Chronograf, Telegraf and Splunk.
- Experience in Log Insight and Cloud watch services to diagnose problems and configuring alerts.
- Setting up Auto scaling of the instance group using AWS command line tools and AWS cloud environment for Dev/QA environments.
- Troubleshoot and resolve Splunk performance, Log Monitoring issues, Dashboard creation, Data models.
- Installed, tested and deployed monitoring solutions with Splunk services.
- Designed and developed distributed private cloud system solution using kubernetes on CoreOS
- Expertise in working with different Bug Tracking Tools like JIRA, Clear Quest and Quality center.
- Experience is using Tomcat, JBOSS, WebLogic and WebSphere Application servers for deployments.
- Coordinated with the Offshore and Onshore teams for Production Releases.
- Performed numerous server migrations on both Linux/Unix and Windows servers. Migrations include moving all clients and their data, configuration settings, testing and verifying everything is correct with zero downtime.
- Knowledge about Microsoft Azure in creating cloud environment and managing the application servers across Microsoft managed global data cent.
- Excellent Analytical and Communication skills, Quick Learner, Versatile Team player, Organized, Self-Motivated, have ability to pick up new technologies and solve complex technical problems.
TECHNICAL SKILLS
Infrastructure as Code: Cloudformation, Terraform
Configuration Management Tools: Chef, Vagrant, Ansible.
Continuous Integration: Jenkins
Build Tools: Ant, Maven
Project management: Jira, Confluence.
Version Control: Git, CVS, Subversion.
Cloud Platforms: AWS
Containerization: Docker, ECS, Kubernetes
Virtualization Platform: VMware and Oracle Virtualbox
Ticketing Tools: JIRA, ServiceNow, Rally
Monitoring Tools: Grafana, Splunk, Cloud Watch, Nagios, Telegraf, Chronograf
Operating Systems: Linux (Red Hat 4/5/6,7), Ubuntu, CentOS, Windows Variants and Unix.
Database: RDS, My SQL, Dynamodb
Programming Languages: Python, Java
Scripting: Python, Bash, Ruby, Groovy
Web/App Servers: Nginx, Tomcat, Apache 2.x, 3.x, JBoss
Testing Tool: Selenium
PROFESSIONAL EXPERIENCE
AWS/Devops Engineer
Confidential, Pleasanton, CA
Responsibilities:
- Involved in reorganization of the DevOps team to scale the organization's application deployment platforms.
- Lift and shift of legacy data center application to AWS cloud.
- Created/maintained continuous integration and continuous delivery workflows using tools Jenkins, Cloud formation, bitbucket, Maven, Artifactory over different environments to facilitate an agile development process..
- Migrated Jenkins server jobs and all the configuration used by cross functional teams to Jenkins Enterprise.
- Worked on a platform to ensure cost savings using Native AWS resources and Best practices.
- Designed and implemented a project that requires an application to run on-demand to migrate customer data using container capabilities.
- Setup K8S Cluster, Continuous docker image build using Jenkins, Continuous pod deployment - configuration management - monitoring.
- Created custom AWS Terraform modules (Ec2-ASG, CLB, ALB, NLB, EFS, RDS).
- Automated application deployment related scripts to configure windows servers.
- Designing technical architecture and develop cost-effective solutions using various configuration management tools to make infrastructure compliant with the company cloud policies along with ensuring high availability.
- Interact with developers and enterprise configuration management team for changes to best practices and tools to eliminate non-efficient practices and bottlenecks.
- Worked with AWS EC2/VPC/S3/SQS/SNS based infrastructure automation through cloud formation, jenkins, python, bash Scripts.
- Automated Node.js app deployment using Elastic Beanstalk to different environments like dev, qa, preprod and prod
- Created and maintained continuous integration (CI) using tools Jenkins/Maven over different environments to facilitate an agile development process which is automated and repeatable enabling teams to safely deploy code many times a day while ensuring operational best practices are supported.
- Responsible for orchestrating CI/CD processes by responding to Git triggers, human input, and dependency chains and environment setup.
- Integration of automated Build with Deployment Pipeline. Currently installed Chef Server and clients to pick up the Build from Jenkins repository and deploy in target environments (Integration, QA, and Production).
- Worked on Cloud automation using AWS Cloud Formation templates.
- Configured AWS Identity and Access Management (IAM) users and groups for improved login authentication.
Environment: AWS, Terraform, Cloud Formation, VPC, Jenkins, Chef, IAAC, CI/CD, Docker, ECS, EKS, Kubernetes
AWS/Devops Engineer
Confidential, Los angeles, CA
Responsibilities:
- Wrote dockerfile to containerize the PHP application that is running as ECS service on AWS. Deployments are automated using jenkins and cloudformation. Configured splunk ingestion URL as docker driver so that all the application logs are automatically sent to Splunk and also utilized telegraf plugin to send all the required application metrics to Influxdb which is used as a data source to visualize the metrics on Grafana and built some useful dashboards related to application.
- Wrote Cloudformation template to automate the process of building an Influxdb instance behind the application load balancer. Used auto scaling group with update policy of min instances in service=1 so that when ASG detects that instance is unhealthy it terminates the instance and it provision new instance.
- Installed open source monitoring service like chronograf which is used to visualize the metrics that are sent to influxdb instance using the telegraf plugin.
- Wrote bash script to attach back the old EBS volumes that are detached from the terminated unhealthy Influxdb instance, to the new instance that is launched by auto scaling group so that the data is persistent.
- Created RAID0 array configuration striping two EBS volumes to achieve higher I/O performance for Influxdb instance.
- Created Route-53 CNAME DNS record to resolve the random DNS created by the influxdb load balancer.
- Load balanced Grafana infrastructure is built that is talking to the existing Influxdb instance and the entire build is automated using Cloudformation template.
- Grafana Cloudformation template is built in such a way that there should be at least minimum 2 grafana nodes that are configured as docker containers running as a service in AWS Elastic Container Service (ECS) and are using ephemeral ports. Goal is to build a HA proxy Infrastructure so that two docker containers are running behind Application load balancer.
- Configured grafana docker container to use RDS endpoint as database url to store user sessions, route 53 dns record as server root url so that it can be used as callback url while setting up generic oauth single sign on solution and also configured SMTP so that grafana can send out email alerts.
- Integrated cloud watch with grafana by giving it as a data source and worked on setting up slack alerts from grafana.
- Worked on setting up single sign on to login to Grafana UI using OKTA.
- Created RDS Aurora DB with cross region replication using Cloudformation template and used that database as mysql session manager to implement session service for grafana nodes using ephemeral ports.
- Created route 53 DNS record set with grafana friendly name and it is pointed to random DNS that is created by Application load balancer.
- Custom sized VPC with 3 public and 3 private subnets is built using AWS best practices and the entire build is automated using Cloudformation template.
- Backed up Consul key/value and ACL’s to an S3 bucket and maintain these backups for 7 days and delete the ones that are prior to that. Entire backup process is automated using Cloudformation template.
- Strategy used behind the Consul backup solution is creating a Cloudformation template that creates a Lambda function and register CloudWatch Event trigger at 2 AM that executes Lambda function to get consul IP address by calling "ec2 describe" API and it will create/update ECS task definition to run a container from new task definition and backup key/value and ACL’s to S3 bucket and a lifecycle policy of 7days expiration is set on the bucket.
- Co-ordinated in designing VPC CIDR to create VPC for different environments and to ensure that the address space used for each VPC is unique from the others in case if we need to enable VPC peering in the future.
- Wrote Cloudformation template to build out vpc with 3 public and 3 private subnets, necessary components like IGW, NGW and to associate required route tables with the subnets.
- Deployed Cloudformation template to build environments for Dev, QA, Load, Stage, Prod and Admin networks.
- Wrote CFT to deploy Bastion host in all the environments and helped developers to configure their SSH terminal to get access to instances that are in the private subnet.
- Built Distributed tracing infrastructure using Linkerd, Zipkin and Jaeger.
- Deployed Consul and ECS-web services Cloudformation templates in all the environments.
- Implemented single sign on with OKTA using oauth proxy 2 binary for consul UI.
- Created monitoring dashboards for Consul and Linkerd on grafana giving the Influxdb DNS as a data source. Used regex syntax to create templating variables in grafana.
- Deployed Cloudformation template that creates IAM policy to enforce users to activate MFA sign in to improve AWS accounts log in security.
- Deployed Highly available and fault tolerant Cassandra cluster using cloudformation template.
- Installed and configured Splunk monitoring tool, while using it for monitoring network services and host resources.
- Created Ubuntu ec2 server environment and installed required node and npm versions
- Wrote bash script and put in the user data to reattach elastic ip which is given as parameter in the CFT.
- Built a deployment server and added script, Jenkins public key using CFT user data so that developers can build and deploy their code using Jenkins UI. wrote docker file to replace the consul binary with consul enterprise binary.
- Built consul enterprise docker image pushed it to ECR consul/ent:version repo and using this image able to upgrade consul to enterprise version adding some IAM permissions to pull the image from ECR.
- Configured oauth2 proxy as a proxy solution for our consul application and integrated oauth2 proxy with okta as open id connect application so that users are able to login to consul using OKTA organization email.
- Wrote lambda function to monitor our consul application endpoint and send alerts to slack whenever application is down.
- Wrote lambda function which gives a status report every day about failed services.
- Built jenkins server using cloudformation on AWS and wrote lambda function to monitor jenkins service and send slack alerts whenever jenkins is down.
- Wrote lambda function to Implement On-Demand ECS service restart via Slack.
- Worked with okta team to configure SAML authentication to login to our AWS accounts using okta single sign on and deployed cross account roles using AWS cloudformation stack sets across different accounts from admin account.
- Migrated all the jobs from legacy jenkins server to new one.
- Created a confluence page to document various environments like Dev, QA, load, stage, prod and admin.
Environment: AWS, Cloud Formation, Jenkins, CI/CD, VPC, lambda, Route-53, RDS, EBS, IAM, EC2, Grafana, Influxdb, Chronograf, Telegraf, Splunk, Docker, ECS, Consul, Linkerd, mysql, ELB, ALB