tutorials

My Resume Hosted

My Resume Hosted
Curriculum Vitae Blog Logo

Deepak Gupta


Work Experience:

  • SDE III, Play Games24x7, Bengaluru

  • October 2020 - PRESENT

    Play Games24x7 is one of the fastest growing online gaming company in India and we are rapidly expanding over other continents. I've been contributing to this journey of success in the below areas

    • Migrating databases to Kubernetes ecosystem
    • Developing MLOps architecture/pipelines for our Data Science team
    • Running Spark Jobs over containerized environment using Kubeflow
    • Data Cleansing, EDA, Inference, Hyperparameter Tuning on Kubeflow
    • Spark Jobs internal metrics implementation with Graphite and Grafana
    • Jenkins pipelines for app deployments/rollbacks
    • Stable Kubernetes Cluster Autoscaling with Spot Instances
    • Service Mesh Implementation with Istio
    • Automated building of Docker images for Custom Spark Applications and Spark Operators
    • EKS maintenance(upgrade, monitoring, alerts etc.)
    • Microservices Network Flow Diagram using VPC flow logs and Neo4j - Allows birds eye view of the components and the costs involved
    • Implementing Monitoring Systems for k8s systems
    • Chaos Engineering Framework Development for k8s with Litmus Chaos
    • Sprint Planning and task distribution.

  • DevOps Consultant/Trainer, Bengaluru

  • January 2018 - September 2020

    I've helped organisations adopt DevOps tooling/practices, scaling strategies & have delivered 200+ corporate trainings on DevOps tools across the globe to a broad set of audiences(Developers/Sysadmins, Freshers, Architects, CTO's, VP) with nearabout 95% success rate. My work at any usual day comprised of

    • Working on an Online Virtual Labs(running profitably)
    • Active Development on Python
    • Automation with Ansible
    • Website content publishing on Heroku
    • Google Analytics & Few SEO implementations
    • Developing Scalable Automated Deployable Apps on k8s cluster
    • Exploring new cloud solutions for my clients
    • Managing SQL/NoSQL Databases(MySQL/MariaDB/Cassandra/Mongo)

  • Systems Engineer - Myntra Designs, Bengaluru

  • June 2016 - January 2018

    Myntra Designs is the biggest Indian fashion e-commerce organisation in India. I was a part of the sysadmin team and my responsibilites included

    • managing 99.9999% uptime of infrastructure(Datacenter, AWS & Azure)
    • monitoring microservices API calls, revenue metrics, on-calls
    • Writing scalable internal tools on python and golang
    • Automating deployments and audits with Ansible
    • database maintenance etc.
    • PCI maintenance and audit
  • DevOps Engineer - Knowlarity Communications, Bengaluru

  • January 2015 - May 2016

    Knowlarity Communications works on AI enabled cloud telephony. My primary responsibilities were to

    • Debian packaging of the applications
    • Automate deployments using Ansible
    • Maintaining RethinkDB databases - backup, recovery, scaling, sharding
    • Writing custom tools and API's to scrub data upto 440 million records
    • Implementing Billing framework model with Cassandra and ELK
    • Creating grafana dashboards using statsd and graphite
    • Maintaining rabbitmq clusters

  • Project Engineer - Wipro Technologies, Bengaluru

  • November 2011 - January 2015

    Wipro Technologies is an Indian MNC providing IT consulting & services. I was primarily responsible for

    • Writing applications in Java/CORBA for telecom OSS
    • Creating python API's for custom Openstack implementation
    • Monitoring Openstack with Zabbix



Software Skills:

  • Programming:
    • Present Proficiency: Python, Golang, Bash
    • Past Proficiency: Java, Golang, Rust, C
  • Cloud Computing: AWS, Azure, Heroku, Openstack
  • Container Technologies: Docker, Kubernetes
  • Monitoring Tools: Prometheus, Zabbix, Nagios, Sensu, Datadog, Icinga2
  • SQL Databases: MySQL, MariaDB, PostgreSQL
  • NoSQL Databases: MongoDB, Cassandra, Redis, DynamoDB, CouchDB
  • Web Server/Load Balancers: Nginx, HA Proxy
  • Messaging Tools: RabbitMQ, Kafka
  • Configuration Management: Ansible, Terraform, Chef, Puppet
  • Programming: Java, Python, Golang
  • Visualizations: Grafana, D3, Kibana, Talend
  • Log Management: Elasticsearch, Solr, Fluentd, Logstash
  • Others: Litmus Chaos, Jenkins

Projects Summary:

  • Fulcrum

  • I've worked independently on streamlining the ML flow for our organisation. Using kubeflow it has helped our ML Developers save a lot of time for running their jobs on Kubeflow and we do save cost as the entire setup is running on k8s, which itself is running on a autoscaled Spot Instance nodegroup.

  • Havoc

  • We used Litmus Chaos tool to test the scalability of our k8s cluaters, DNS lags etc. This was primarily helpful to understand how the infra would look like under stress.

  • Cylon

  • I've worked on this independently to bring up a virtual lab to be used by students during online trainings. It used to automatically build up a k8s cluster with support for VNC, SSH and RDP sessions for the participants.

  • Disaster Recovery

  • Creating DR infrastructure, requirement gathering and creation of Kubernetes cluster on bare metal servers and implementing the deployment pipelines - blue-green and canary Infrastructure & service monitoring, sending alerts over slack and SMS

  • Payments Service

  • Create payments service for facilitating payments transactions using Java and Spring Boot and implementing analytics with Talend to monitor the payments/orders. Invoved in Sprint Planning, Requirement gathering, Architecture planning, writing unit test-cases, coding configuration of the cluster, managing shards/replicas of the payments database, coordinating UAT and SIT and load tests

  • Centralized Log Management

  • To monitor logs centrally, we needed a powerful tool. Elasticsearch is what we choose for this project and developed on top of Java using Spring Cloud. Initiated the requirement gathering, created UML diagrams, architecture planning, automated deployment & configuration of the cluster, managing shards and the replicas for elasticsearch cluster, analytics on the data using talend

  • PCI Compliance

  • Ensured the Payments setup is PCI DSS compliant by creating network segmentations for servers(DMZ environment) and implementing Intrusion Detection Systems(OSSEC/Alienvault) & patching(Spacewalk) the air gapped systems. Responsible for getting the VAPT(Vulnerability Assessment & Penetration Testing)

  • Apollo

  • App deployment via one click using Ansible, Docker and Kubernetes by automatically creating templates for tasks using jinja2 templating systems and wrote executors, setting up Jenkins jobs etc.

  • Sethji:

  • Track AWS/Azure Billing Charges Bill analysis using ETL & Setup the billing management stack on python and flask reduced billing costs by 25% by identifying overprovisioned/unused services etc.

  • Graphite Grafana Integration

  • monitor services, function calls, throughput, response code status, revenue etc. Requirement gathering, UML, coding, writing automation, configuration and deployment on Python

  • Monitoring Setup

  • Monitoring for complete Infrastructure Setup monitoring for our infrastructure(hybrid) over Icinga2/Zabbix and Talend Ensured High Availability of Services

  • Daily Operations - A usual day in the life of a DevOps

    • Developing tools over C++/Java/Python/Golang
    • Security Audit - Implemented IDS, DDOS mitigation via fail2ban
    • Packet tracing/filtering using customized tool & Wireshark
    • Fixing security vulnerabilities in infrastructure
    • Log Aggregation and Analytics using Elasticsearch/Solr/Kibana
    • Implemented key rotation policy
    • Implemented HA RabbitMQ cluster serving as a backbone for intercommunication between microservices(close to 400+ microservices) with 99.99999% SLA
    • DNS, LDAP, Monitoring, Load Balancing over Nginx/HA Proxy
    • Reduce data transfer costs & improved performance
    • Subnet planning helped reduce the complexity of whitelisting services/IP’s
    • Network planning for infrastructure migration
    • Helped setup Azure account with basic services like DNS, LDAP, monitoring

  • Clickstream Analytics

  • A single point to handle all clickstream data and do analytics on that Integrating the existing SQL databases with ETL(Talend) and creating dashboards Fine details like demography, geographic locations, time etc were extracted Used the analytics data to create recommendation engine

  • WRAN CM OSS-RC (Operational Support System – Radio & Core)

  • OSS-RC is a comprehensive domain manager for network infrastructure deployed with operators around the world integrating and managing a wide range of network components. Together with IP and Broadband offering, it’s a comprehensive solution for total network management of the telecommunications infrastructure Design of OSSRC products, configuring network elements of OSS-RC using Spring/Java Sprint Planning, Requirement gathering, Implementation for new changes proposed, creating user stories followed Test Driven Development, Coordinating in SIT, UAT

  • Cloud Adapter

  • Integrate cloud services with services on physical machines for centralized monitoring Set up the development environment, configurations, writing test cases using J-unit wrote authentication modules, schedulers, startup scripts, managing notifications on Java

  • Billing Framework

  • The most challenging work for any organisation, taking care of different types of contracts etc. Created the Billing Framework using Python and Django

  • NDNC Deployment

  • Being a telemarketer, we can call only to non-dnd registered numbers TRAI only provides dnd data in form of CSV(500 million rows) Challenge was to develop our own NDNC scrubbing solution and keep it updated using Spring Boot Requirement gathering, UML/flow diagrams getting the NDNC data, feeding the data into our database, writing API's, automated product deployment automation, performance tuning etc. using Python/Falcon and RethinkDB


Side Projects

  • Developed several multiplayer games in Python, e.g. Stopwatch, Pong, Memory, Spaceship, Blackjack & Rice Rocks Full Game
  • RTL design & Synthesis of a 32-bit Microprocessor using VHDL
  • Our goal was to design a 32-bit microprocessor in VHDL, which will perform arithmetic and logic function that is on a standard 32-bit microprocessor Target Device: Spartan 3E Tools Used: Xilinx 9.1, Modelsim SE 5.7f

  • Blockchain Signalling System
  • Used blockchain for Signalling DDOS attacks in a cooperative & distributed network defence

  • Real-time Bitcoin Price Monitor using Arduino
  • Decentralized fleet tracking with blockchain
  • Asset tracking mechanism in a decentralized fashion. Each action, event, alerts were stored in the blockchain

  • Developed an own cryptocurrency for testing purpose using Litecoin

Awards & Achievements:

  • Maestro Award for Making a Difference in the Account
  • I was awarded for technically ramping up my team members in short span of time & making a difference in the Account

  • High Flyer Award for individual contribution in the Account
  • I was awarded for my role as an Individual Contributor in the team


Certifications:

Enjoyed this post?

Get the next one in your inbox — only when I ship something worth reading.

Newsletter form not configured.

Or follow on Substack for the newsletter.

Comments via GitHub Discussions

Comments not configured. Set GISCUS env vars to enable.