Skip to content
View juanroldan1989's full-sized avatar
🎯
Focusing
🎯
Focusing

Highlights

  • Pro

Block or report juanroldan1989

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
juanroldan1989/README.md

Juan RoldΓ‘n

Software Engineer | Ruby on Rails | CKAD | 3x AWS Certified | Terraform & Argo Certified

Enthusiastic and versatile engineer with a proven track record of successful contributions to small, medium, and large-scale platforms.

Looking forward to driving success in diverse engineering environments, always aiming for innovation and collaboration.

Find me

LinkedIn Substack

Currently focused on:

  • scalability and availability solutions applying system design patterns within AWS.
  • researching self-service environment/services provisioning solutions like: AWS Proton, Port and Backstage.

Technologies



Portfolio (continuously developed)

Events Live Tracking App (AWS ECS)

Events Tracking Platform 🚦 Clicks & Hovers on Colors 🎯 Live Graphs & Counters

https://github.com/juanroldan1989/color-tracking

  • User events information stored in database (PostgreSQL & Redis supported).
  • Events stats shared via Action Cable and displayed to subscribed clients or specific clients via polling JS requests.
  • Backend implementd with Ruby on Rails, Kafka and Zookeeper.
  • Deployment workflow through AWS ECS script.
  • Deployment workflow through Terraform and integrated within Github Actions (CI/CD) into AWS. (work in progress)
  • Alternative Implementation - API Infrastructure and business logic provisioned via Serverless framework - https://github.com/juanroldan1989/serverless-color-tracking

10M Records & 10K Users per/sec

https://github.com/juanroldan1989/10K-users-for-10M-records

Screenshot 2024-10-12 at 16 43 48

Complete automation project. Goals:

  • 🟒 Populate 10M records on weather data
  • 🟒 Run standard health check DB queries
  • 🟒 Serve Flask App through GUnicorn and Nginx
  • 🟒 Simulate 10K users per second interacting with API
  • 🟒 Tracking results & documenting improvements.
  • 🟒 All componenets containerised from the beginning following best practices.
  • 🟒 Seamlessly development & testing either through Docker Compose or Terraform.
  • 🟑 Github Actions integration.
  • 🟑 Terraform for provisioning (AWS ECS Fargate)

URL Shortener API (Terraform)

API Infrastructure provisioned via Terraform (IaC) - https://github.com/juanroldan1989/terraform-url-shortener

  • Implemented with AWS Lambda Functions, NodeJS and CQRS Pattern.
  • Infrastructure managed through Terraform.
  • Deployment workflow through Terraform and integrated within Github Actions (CI/CD) into AWS.
  • API Load Testing results obtained through Artillery. Integrated within Github actions.
  • TDD applied across every development level.
  • Alternative Implementation - API Infrastructure and business logic provisioned via Serverless framework - https://github.com/juanroldan1989/serverless-url-shortener

AWS ECS Blueprints

https://github.com/juanroldan1989/deploy-ecs-blueprint

Showcase with several combinations of ECS Service + ECS Task + Nginx + Python + Databases

Screenshot 2024-09-30 at 12 28 13

Screenshot 2024-09-30 at 20 19 25

Screenshot 2024-09-30 at 13 33 36

Features provided within each blueprint:

  • 🟒 Software Development Lifecycle (SDLC) pipeline integrated within Github Actions
  • 🟒 Infrastructure provisioned through Terraform
  • 🟒 Autoscaling mechanisms provided
  • 🟑 Terraform State and locking mechanism handled within S3 and DynamoDB (work in progress)
  • 🟑 Load Testing performed through wrk and k6s tools (work in progress)

Terra Ops

https://github.com/juanroldan1989/terra-ops

juanroldan1989 terra-ops

This project structure allows engineers to:

  1. Work on specific environments they are allowed to.
  2. Add/Remove modules as they need in order to build their applications within their environments.
  3. Deploy specific applications/modules (e.g.: networking, addons, argocd-app-1) within their specific environments.

Each envs folder (dev, prod, etc) is associated with a specific Terraform workspace.


Kubernetes Monitoring with Prometheus & cAdvisor & Grafana

CPU Usage Demo

Load Testing (Start)

  • rating-ns deployment
  • HPA enabled for deployment
  • Grafana Dashboards and Panels showcased
load-testing-part-1.mov
load-testing-part-2.mov

Load Testing (Ending)

  • infinite-requests deployment deleted -> load testing source removed
load-testing-part-3.mov
  • HPA terminating pods based on null CPU consumption
load-testing-part-4.mov

REST API (Terraform & AWS Lambda)

https://github.com/juanroldan1989/terraform-with-rest-api-gateway-and-lambda-functions

  • Implemented with AWS Lambda Functions and NodeJS.
  • Authorization Layer implemented through AWS Lambda Authorizer.
  • Infrastructure managed through Terraform.
  • Deployment workflow through Terraform and integrated within Github Actions (CI/CD) into AWS.
  • API Load Testing results obtained through Artillery. Integrated within Github actions.
  • TDD applied across every development level.

Cocktails API

https://cocktailsapi.xyz/

Screenshot 2024-10-02 at 21 01 09


Personal quotes

  • "Looking for discomfort in comfortable ways."
  • "Don't confuse unfamiliarity with complexity."
  • "To have something you never had, you have to do something you never did."

Thoughts on the best work environment

I believe the best place to work is the one where I can evolve and challenge myself in projects while collaborating with amazing people and working on platforms that improve people's lives on a daily basis.

Every time I go outside my comfort zone, I find myself traveling to unvisited corners of my mind, felling closely to untapped emotions, watching hidden desires become visible for the first time and I always come back to this:

The only constant throughout my life has been my desire to communicate and build.

I communicate by working on challenging projects, writing and condensing a decade worth of experience within my development blog, performing live music mixes, looking for outdoor activities and chess matches.

I build through software and infrastructure, system design, piano tunes, writing and sketching.

Pinned Loading

  1. serverless-color-tracking serverless-color-tracking Public

    [Serverless Framework] πŸ€– Live Events Tracking 🚦 Clicks & Hovers on Colors 🎯 Dashboards

    JavaScript

  2. terraform-url-shortener terraform-url-shortener Public

    URL Shortener API built with Javascript & Terraform. Submit URL & Receive unique code. Submit code & Receive original URL. Deployment through Github Actions -> Terraform -> AWS

    HTML 1

  3. terra-ops terra-ops Public

    This project structure allows engineers to work in authorized environments linked to Terraform workspaces, update modules as needed and deploy specific applications or modules, like networking or A…

    HCL

  4. deploy-ecs-blueprint deploy-ecs-blueprint Public

    Collection of apps showcasing deployment to AWS ECS Fargate from GitHub through Terraform

    HCL

  5. shaken_not_stirred shaken_not_stirred Public

    🍸 🍹 Ruby client for Cocktails API

    Ruby 48 3

  6. db-read-replicas-scaling db-read-replicas-scaling Public

    RDS read-replicas auto-scaling through CloudWatch alarms + SNS + Lambda function