A DevOps Engineer at Aledade Inc.View my skills Contact Me
DevOps Engineer at Aledade Inc.
Recently brought onboard at Aledade Inc, looking forward to the new challenges and experiences.
B.S. in CIT at CSUN with Honors
Upper Division GPA: 3.94.
Minor in Religious Studies.
Obtained: May 2019.
Experience with AWS infrastructure, containerization and container orchestration, infrastructure as code, Python, PowerShell, Groovy and Shell scripting, configuration management with Ansible, monitoring and CI-CD.View my DevOps skills
PSI Services LLC.
One of my primary responsibilities included migrating on-premise applications to AWS EKS and EC2, and documenting any changes.
Two major migrations I've completed are PSI's business rules engine and SSO solution. These were both migrated from an on-premise DC/OS cluster to AWS EKS, including creation of RDS databases with secret rotation, and Kubernetes secrets across multiple environments.
I also migrated production and nonproduction Jira instances from on-premise virtualized servers to AWS EC2 using Packer and Terraform. I also moved the databases from on-premise to RDS Postgres instances.
I've also containerized and migrated various in-house Java TomEE servers from virtual servers to DC/OS.
All infrastructure was created as code using Terraform, and deployed to 2-5 environments depending on the application.
Continuous Integration and Delivery
As a part of these migrations, CI-CD pipelines were also created. We use Jenkins with a company-wide shared library and additional groovy scripts for building apps. As a part of this process, Dockerfiles are built, and apps are deployed via Buildmaster using helm charts or plain Kubernetes charts. Buildmaster also allows for Bash and Powershell scripts, which I also leveraged as a part of the pipelines.
I also created various CI-CD pipelines for new applications, and existing applications which previously required manual deployment.
Monitoring and Alerting
I implemented a monitoring solution for 200+ websites and servers. The websites are monitored via HTTP requests, while the servers each have an agent. Agents were installed via Rundeck which allows for scripts to be ran on multiple servers at the same time (as many of these are legacy servers without Configuration Management). Agents were installed on both Windows and Linux machines. Some of these servers required custom Python and Nagios plugins, which I've also created.
As a part of this process, I've migrated our monitoring solution from Icinga to our current solution, with no downtime required and no lapse of monitoring between solutions.
I also leveraged OpsGenie as a solution for alerting and on-call rotation. The OpsGenie integration is also set up to create a Jira ticket whenever a high priority alert is created.
MetroLink Advisory Emailer
Created a Python script that utilizes the Requests library to track train delays posted on the Metrolink website. If a delay is deteced on one of a list of specified train nubmers, an alert will be sent to the user's email.
Kubernetes Deployment with EKS
I created a Kubernetes deployment for my website using AWS, Terraform, Python, Docker and Kubectl. I created various Terraform modules for AWS services (EKS, ASG, ECR, VPC, IAM).
I used Python with Boto3 and subprocesses for configuration. First, I pulled the kubeconfig from EKS, then applied a configuration map using kubectl. Next, I built a Docker image from a Dockerfile (which contains my website code on an Apache2 server) and deployed it to ECR. Finally, I created a service using kubectl, and exposed the service with an external load balancer (ELB) and public IP address.
DevOps Capstone Project
I developed AWS infrastructure in an agile enviornment an worked alongside a team of peers. I built and documented reusable Terraform modules for AWS infrastructure. I also automated Docker image building and deployment from GitLab to AWS ECS using GitLab CI.
I implemented Datadog monitoring with an AWS Lambda function, a Datadog ECS agent and Datadog AWS integration with an IAM role. Alongside this, I trained a less experienced team member in advanced Terraform topics such as Terraform modules and container orchistration using ECS.
I worked with a group of peers to develop AWS infrastructure as part of a senior-design class. During the class, I automated static website delivery from GitHub to an S3 bucket using CircleCI.
After this, I deployed the website to AWS Cloudfront. I also obtained TLS certificates using Let's Encrypt and AWS Certificate Manager. We also created EC2 instances with Terraform, which I configured using Ansible.
Web Development and Design
I designed this website using Adobe XD.
After the website was designed, I developed it using HTML, CSS, and Font-Awesome for icons. The website is hosted using GitLab pages, with Cloudflare as a DNS provider and caching solution. It also has a TLS origin certificate from Cloudflare. The domain was purchased from NameCheap.
I also deployed this website on DigitalOcean. First, I created a droplet with a floating IP. Then, I created a firewall to allow for HTTP, HTTPS and SSH traffic. I also created a multistage CI-CD pipeline with GitLab CI, utilizing the GitLab registry to store an intermiedate container image. Finally, the code gets deployed to DigitalOcean through the CI-CD pipeline using sshpass.
DevOps + Linux Sysadmin Assignments
As part of my capstone project, we were given weekly assignments. Some examples include creating a LAMP stack image using a Dockerfile, and setting up Prometheus and Node Exporter using a Dockerfile. I completed a write-up for each assignment which contains further explanation of the task and my solution.