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

Block or report swapnilyavalkar

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
swapnilyavalkar/README.md

mybanner

Profile Views GitHub followers GitHub stars


πŸ‘‹ Welcome!

Empowering businesses with cloud solutions and automation πŸš€ | AWS DevOps Professional | 13+ years of IT expertise

Hi, I’m Swapnil Yavalkar, an AWS Cloud Professional with over 5 years of experience in AWS & DevOps and 13+ years of IT expertise. I specialize in building scalable, resilient infrastructure and automating processes for maximum efficiency, helping businesses reduce costs and improve workflows. With a background in Tableau & SAP BO administration, I have managed complex environments and led numerous successful cloud projects.


🌟 About Me

πŸ’» Cloud & DevOps Engineer | πŸ”§ Automation Expert | πŸ“Š BI Specialist

I’m passionate about cloud computing, automation, and DevOps, and I've worked with multiple organizations to optimize their cloud infrastructure, reduce operational costs, and streamline deployments through CI/CD pipelines. My experience in Business Intelligence also includes implementing large-scale solutions using Tableau and SAP BO.


πŸ† Certifications

πŸŽ“ AWS Certified Solutions Architect - Professional πŸŽ“ SCJP (Sun Certified Java Programmer)
πŸŽ“ CCNA (Cisco Certified Network Associate)


πŸ’Ό Tech Stack

Languages Cloud Platforms DevOps Tools Automation & Monitoring

πŸš€ Some Completed Projects

Here are some key projects I’ve worked on, showcasing my experience in AWS and DevOps:

  1. Cloud Infrastructure Optimization for E-commerce Platform
    Optimized AWS infrastructure for a global e-commerce company, reducing costs by 30% through EC2 Spot Instances and Reserved Instances (RIs), while automating the environment with CloudFormation templates.
    Technologies: AWS (EC2, RDS, S3, CloudFormation), Jenkins, Docker.

  2. CI/CD Pipeline Implementation for an Online Payment Firm
    Designed and implemented a CI/CD pipeline using Jenkins for a payment processing company, reducing deployment times by 50% and improving software delivery efficiency.
    Technologies: Jenkins, Docker, Kubernetes, AWS ECS.

  3. Highly Available Tableau Deployment for a Fortune 500 Company
    Deployed a highly available multi-node Tableau environment on AWS with RDS for database storage, S3 for backups, and CloudWatch for monitoring. Ensured continuous uptime with Auto Scaling and Elastic Load Balancing.
    Technologies: AWS (EC2, RDS, S3, CloudWatch), Tableau, Auto Scaling.

  4. Serverless API for Retail Analytics
    Developed and deployed a serverless API for a retail company using AWS Lambda, API Gateway, and DynamoDB to handle real-time analytics data processing.
    Technologies: AWS Lambda, API Gateway, DynamoDB, S3.

  5. Data Lake Implementation for a Media Streaming Service
    Implemented a data lake architecture using S3 and AWS Glue for a media streaming service to centralize and process streaming analytics data.
    Technologies: AWS S3, AWS Glue, Athena.


✨ Client Testimonials

Here’s what my clients have to say about my work:

  • Surajit Bhowmick - AWS Cloud Specialist:
    "Swapnil's expertise in AWS, DevOps, BO, and Tableau is commendable. He is dedicated and always goes the extra mile, helping our team deliver efficient solutions."

  • Subhash A Kotian - Product Support Head at LearningMate:
    "Swapnil manages pressure with ease and communicates challenges effectively. His work ethic and dedication make him a great team player."

  • Sanket Shah - Project Manager:
    "Swapnil is an excellent asset with commendable knowledge in BI and DevOps. His constant learning attitude and dedication make him stand out."

  • Sandesh Kortikar - Senior Delivery Manager: "Since I know Swapnil, I always found him to be very dedicated, self motivated and go getter fella. He is very sincere in his work and keeps on Innovating some or the other thing to ease out everyone's life in team. Technically very good and he us quite fast learner. I wish him all the best in his future endeavors."

  • πŸ—£οΈ You can find testimonials on my LinkedIn profile.


πŸ“‚ My Open-Source Contributions

Here are some of my community projects and open-source repositories:

🟧 AWS & Cloud Projects

Repository Description
AWS DevOps Real-World Projects Experience hands-on, industry-inspired AWS & DevOps projects, crafted to teach and empower teammates and students alike based on my work experience. This repository showcases practical, real-world scenarios for designing, automating, and managing cloud infrastructure on AWS. Each project incorporates a variety of AWS services, CI/CD practices, containerization, and infrastructure as code, offering a comprehensive guide to building scalable, resilient, and secure cloud solutions. Ideal for anyone looking to deepen their skills in AWS and DevOps.
πŸ“‚ Repository Structure

Each project folder is organized into AWS Infrastructure Projects and DevOps Projects categories, with subcategories based on difficulty levels: Easy, Medium, Hard, and Complex. Each project folder contains a detailed README.md file with step-by-step instructions to keep everything simple and easy to follow.

πŸ“¦ aws-devops-realworld-projects
 ┣ πŸ“‚ aws-infrastructure-projects
 ┃ ┣ πŸ“‚ easy
 ┃ ┃ ┣ πŸ“‚ 01-cloudfront-s3-static-websites
 ┃ ┃ ┣ πŸ“‚ 02-s3-crossregion-replication
 ┃ ┃ ┣ πŸ“‚ 03-security-best-practices-iam
 ┃ ┃ ┣ πŸ“‚ 04-ec2-autoscaling-loadbalancer
 ┃ ┃ ┣ πŸ“‚ 05-monitoring-ecs-prometheus-grafana
 ┃ ┃ β”— πŸ“‚ 06-infrastructure-as-code-cloudformation
 ┃ ┣ πŸ“‚ medium
 ┃ ┃ ┣ πŸ“‚ 01-multiregion-failover-route53
 ┃ ┃ ┣ πŸ“‚ 02-loadbalancing-alb-nlb
 ┃ ┃ ┣ πŸ“‚ 03-automated-backups-aws-backup
 ┃ ┃ ┣ πŸ“‚ 04-secure-configurations-secretsmanager
 ┃ ┃ ┣ πŸ“‚ 05-lambdaatedge-content-delivery
 ┃ ┃ ┣ πŸ“‚ 06-data-lake-s3-athena-glue
 ┃ ┃ ┣ πŸ“‚ 07-s3-event-driven-architecture-with-sns-lambda-sqs
 ┃ ┃ β”— πŸ“‚ 08-serverless-lambda-api-gateway-dynamodb
 ┃ ┣ πŸ“‚ hard
 ┃ ┃ ┣ πŸ“‚ 01-api-security-waf
 ┃ ┃ ┣ πŸ“‚ 02-vpc-peering-transitive-routing
 ┃ ┃ ┣ πŸ“‚ 03-data-migration-dms
 ┃ ┃ ┣ πŸ“‚ 04-stepfunctions-orchestration
 ┃ ┃ ┣ πŸ“‚ 05-amazon-aurora-highavailability
 ┃ ┃ β”— πŸ“‚ 06-graphql-api-appsync
 ┃ ┣ πŸ“‚ complex
 ┃ ┃ ┣ πŸ“‚ 01-multiregion-activeactive-rds
 ┃ ┃ ┣ πŸ“‚ 02-data-lakehouse-redshift-s3
 ┃ ┃ ┣ πŸ“‚ 03-data-governance-lakeformation
 ┃ ┃ ┣ πŸ“‚ 04-hybrid-cloud-aws-outposts-s3
 ┃ ┃ ┣ πŸ“‚ 05-edge-computing-greengrass
 ┃ ┃ ┣ πŸ“‚ 06-security-compliance-macie-guardduty
 ┃ ┃ ┣ πŸ“‚ 07-codeartifact-codepipeline
 ┃ ┃ ┣ πŸ“‚ 08-serverless-container-fargate
 ┃ ┃ ┣ πŸ“‚ 09-rds-proxy-aurora-optimization
 ┃ ┃ β”— πŸ“‚ 10-serverless-container-lambda
 β”— πŸ“‚ devops-projects
 ┃ ┣ πŸ“‚ easy
 ┃ ┃ ┣ πŸ“‚ 01-ci-cd-jenkins-docker
 ┃ ┃ ┣ πŸ“‚ 02-ci-cd-jenkins-ec2
 ┃ ┃ ┣ πŸ“‚ 03-kubernetes-cluster-kops
 ┃ ┃ ┣ πŸ“‚ 04-kubernetes-cluster-terraform
 ┃ ┃ ┣ πŸ“‚ 05-automated-deployment-codebuild
 ┃ ┃ β”— πŸ“‚ 06-ci-cd-jenkins-github-elastic-beanstalk
 ┃ ┣ πŸ“‚ medium
 ┃ ┃ ┣ πŸ“‚ 01-automated-deployment-codedeploy
 ┃ ┃ ┣ πŸ“‚ 02-containerized-microservices-ecs
 ┃ ┃ ┣ πŸ“‚ 03-stepfunctions-orchestration
 ┃ ┃ ┣ πŸ“‚ 04-realtime-dataanalytics-kinesis-lambda
 ┃ ┃ ┣ πŸ“‚ 05-containerized-microservices-eks
 ┃ ┃ β”— πŸ“‚ 06-automated-microservices-deployment-ecs-cicd
 ┃ ┣ πŸ“‚ hard
 ┃ ┃ ┣ πŸ“‚ 01-deploying-microservices-ecs
 ┃ ┃ ┣ πŸ“‚ 02-music-streaming-service-aws
 ┃ ┃ ┣ πŸ“‚ 03-video-streaming-service-aws
 ┃ ┃ ┣ πŸ“‚ 04-serverless-webapp-aws-amplify
 ┃ ┃ ┣ πŸ“‚ 05-scalable-node.js-app-deployment-elastic-beanstalk
 ┃ ┃ β”— πŸ“‚ 06-enterprise-application-deployment-kubernetes-terraform-ansible-gitlab
 ┃ ┣ πŸ“‚ complex
 ┃ ┃ ┣ πŸ“‚ 01-ecs-bluegreen-deployment
 ┃ ┃ ┣ πŸ“‚ 02-music-streaming-portal-amazonmusic
 ┃ ┃ ┣ πŸ“‚ 03-video-streaming-netflix
 ┃ ┃ ┣ πŸ“‚ 04-image-processing-sagemaker
 ┃ ┃ ┣ πŸ“‚ 05-advanced-cicd-pipeline-codepipeline
 ┃ ┃ ┣ πŸ“‚ 06-sagemaker-ml-pipeline
 ┃ ┃ ┣ πŸ“‚ 07-realtime-video-processing-kinesis-s3
 ┃ ┃ β”— πŸ“‚ 08-full-stack-cicd-pipeline-jenkins-aws-codedeploy-nginx

🟦 Applications Development & Utilities

Repository Description
AWS Features Explorer App A dynamic platform to explore AWS services such as API interactions, file uploads, and monitoring, all managed via a user-friendly UI.
AWS Lambda Contact Form A serverless web application that handles contact form submissions using AWS Lambda, API Gateway, and SNS, containerized with Docker and deployed on ECS.
DynamicWeb NodeApp A Node.js web application serving both static and dynamic content, including a sample API for dynamic data handling.
Task Management App A web application built to manage and track weekly tasks and activities, providing features to organize, prioritize, and monitor task progress.
Streamlit Time Series Forecasting App A customized time-series forecasting app built with Streamlit, enabling interactive visualizations of forecasted data.
Rebranded Streamlit Forecasting App An enhanced forecasting application developed with Streamlit, designed to offer time-series forecasting with an interactive and branded user interface.
Streamlit Time Series Forecasting App A customized time-series forecasting app built with Streamlit, enabling interactive visualizations of forecasted data.

🟨 Tableau

Repository Description
Tableau Metadata Extractor A Python tool that extracts metadata from Tableau Server, aiding in data lineage, compliance, and reporting.
Tableau Server Backup A Python script that automates Tableau Server backups, ensuring data integrity through systematic creation, management, and storage of backups.
Tableau Subscriptions Removal A Python script to automate the removal of Tableau Server subscriptions for unlicensed users, including logging and sending email notifications.
Tableau Sync Users A Python script to synchronize Tableau Server users with external data sources, ensuring updated and accurate user access.
Tableau Change Bulk User Roles A Python script that automates updating bulk user roles on Tableau Server based on a CSV file. It logs the changes and exports a detailed report in Excel.
Tableau Update Datasource Script A Python script to automate the process of updating specific data connections in Tableau Server by fetching data from PostgreSQL and updating Tableau Server accordingly.
Tableau Prometheus Exporter Custom exporters designed to enable Tableau monitoring through Prometheus.
Tableau Delete Subscriptions Automates the cleanup of subscriptions on Tableau Server by removing subscriptions based on predefined criteria and deleting old log files.
Tableau Others Automates the cleanup of subscriptions on Tableau Server by removing subscriptions based on predefined criteria and deleting old log files.

🟩 SAP Business Objects

Repository Description
SAP BO SQL Queries Extractor A tool that extracts SQL queries from Web Intelligence reports in SAP BO, aiding in analysis and compliance.
UserDetailsBI41 A collection of automated tools for SAP BO Administrators to assist in daily, weekly, and quarterly maintenance tasks for SAP BI4.1 servers.
SAP BO Folder Report Structure A Java utility to extract report details from specific SAP BusinessObjects (BOBJ) folders and export them to Excel for administrative purposes.
SAP BO Universe Reports Extractor A Java utility to extract and list reports associated with a specific universe in SAP BusinessObjects, saving the details in an Excel file.
Password Reset An automated web application designed to reset user passwords on SAP BI4.1 servers, making the process easier and more secure.

🟦 Monitoring & Infrastructure Automation

Repository Description
Disk Space Monitoring A PowerShell script to monitor disk space on remote servers, sending email alerts when space is low. It also deletes large or outdated log files to free up space.
SSL Cert Monitoring A PowerShell script to monitor SSL certificate expiration dates and send email alerts if certificates are nearing expiration.
Grafana A repository for creating customized dashboards with Grafana, enabling system metrics and performance monitoring through visualized data.
Prometheus A collection of customized exporters built to extend Prometheus's monitoring capabilities for different infrastructure components.

🐳 Docker Hub

Check out my Docker images on Docker Hub:
Swapnil Yavalkar's Docker Hub


πŸ“Š GitHub Stats

GitHub Commit Activity GitHub pull requests

Swapnil's GitHub Stats

Top Languages


πŸ“¬ Let’s Connect & Collaborate

πŸ’¬ I’m always open to connecting with fellow professionals and collaborating on exciting AWS, DevOps, or automation projects! Reach out to me via LinkedIn or check out my open-source projects on GitHub. Let’s discuss how I can help you automate cloud processes or streamline your DevOps pipelines.


πŸ† GitHub Trophies

trophy


πŸ› οΈ Code Snippets

Here's a simple Python script I created to automate Tableau Subscriptions Removal:

import pandas as pd
import tableauserverclient as TSC
import logging
import time
import os
import datetime

# Define the log directory path where the files are located
directory_path = "logs/"

# Define the threshold time to delete files that are older than 10 days
threshold_time = datetime.datetime.now() - datetime.timedelta(days=10)

""" SPECIFY TABLEAU SERVER LOGIN DETAILS BELOW """
server_url = ''
sites = ''
username = ''
password = ''

LOG_FILE_GEN_TIME = time.strftime("%Y%m%d-%H%M%S")

logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s, %(levelname)-8s [%(filename)s:%(module)s:%(funcName)s:%(name)s:%(lineno)d] %(message)s',
    datefmt='%Y-%m-%d:%H:%M:%S',
    filename='logs/SubscriptionsRemoval{0}.log'.format(LOG_FILE_GEN_TIME),
    filemode='a'
)

logger = logging.getLogger(__name__)


def delete_logs():
    global directory_path
    # Loop through all files in the logs directory
    try:
        for file_name in os.listdir(directory_path):
            # Get the creation time of the file
            file_path = os.path.join(directory_path, file_name)
            creation_time = datetime.datetime.fromtimestamp(os.path.getctime(file_path))
            # Check if the file is older than the threshold time
            if creation_time < threshold_time:
                # Delete the file if it's older than the threshold time
                os.remove(file_path)
                print(f"Log Deleted file: {file_name}")
                logger.info(f"Log file older than 10 days deleted file: {file_name}")
    except Exception as e:
        logging.error(f"Error while deleting log files: {str(e)}")

Pinned Loading

  1. disk-space-monitoring disk-space-monitoring Public

    This PowerShell script monitors disk space on remote servers and sends email alerts when disk space is low. The script also manages log files by deleting old or large log files automatically.

    PowerShell

  2. ssl-cert-monitoring ssl-cert-monitoring Public

    This PowerShell script is designed to monitor the SSL certificates of specified URLs and send email alerts if the certificates are close to expiration. The script checks the certificate expiration …

    PowerShell

  3. tableau-change-bulk-user-roles tableau-change-bulk-user-roles Public

    This Python script automates the process of updating BULK users roles on a Tableau Server based on data from a CSV file. It connects to the Tableau Server, checks the current roles of specified use…

    Python

  4. tableau-prometheus-exporter tableau-prometheus-exporter Public

    Forked from freenowtech/tableau-prometheus-exporter

    Tableau Server Manager Prometheus Exporter

    Python

  5. tableau-subscriptions-removal tableau-subscriptions-removal Public

    This Python script automates the cleanup of Tableau Server subscriptions for unlicensed users. It identifies users who no longer have a license, deletes their subscriptions, and notifies them via e…

    Python

  6. tableau-sync--users tableau-sync--users Public

    This Python script synchronizes user roles between a Source Tableau Server and a Target Tableau Server. It updates the user roles on the Target server to match those on the Source server, logs the …

    Python