Decentralized Systems Engineer |
BigchainDB GmbH |
Dec 2016 onwards |
Kubernetes Cluster on Azure |
Primary engineer responsible for ‘productionising’ the BigchainDB software. |
Dockerized various modules, designed and configured the cluster for high availability. |
Implemented TLS connectivity and DoS mitigation strategy. |
Lua scripting in Openresty/NGINX for authentication and reporting to 3scale API management portal. |
Visit bigchaindb.com and ipdb.foundation |
|
Member of Technical Staff |
Ionos Networks/IP Core Solutions |
May 2014 - Nov 2016 |
Supply Side Platform and Ad Exchange Network |
Developed SSP service from scratch as per the OpenRTB specification. |
Extended the OpenRTB specification to add custom functionality for our specific use case, with a particular
focus on private marketplace transactions. |
Designed it to send bid request to multiple Demand Side Platforms, collate the bid responses, and find a bid
winner in real time. |
Implemented in Golang. |
|
Custom Communication Protocol for a Large-Scale Distributed System |
Helped design and develop a custom protocol for communication between a distributed system spread across multiple datacenters. |
Used binary encoding for headers, with message payloads defined using protobuf. |
Implemented in C, Golang, Java, Scala, Python. |
|
OpenDaylight Kafka Southbound Plugin |
Developed a proprietary southbound plugin in OpenDaylight SDN controller to communicate with various network services using Apache Kafka as a shared message bus. |
Implemented in Java. |
|
OpenDaylight Discovery Plugin |
Implemented a custom discovery module in OpenDaylight SDN controller for discovering custom network devices in our data plane, and cache the resultant network topology. |
Implemented in Java. |
|
Stream Analytics |
Designed and developed a complex topology in Apache Storm for real time processing and dispatch of events to appropriate services. |
Parallelized multiple, mutually exclusive operations, optimizing the data processing pipeline. |
Implemented the Storm topology in Java. |
|
Batch Analytics |
Developed batch analytics jobs using Apache Spark to perform hourly trend analysis on dataset stored in Apache Cassandra to gain insight about network characteristics between various endpoints over different types of links. |
Implemented in Scala, Python and Golang. |
|
IoT Sensor Network |
Part of the team that built an IoT sensor network for data gathering from scratch. |
Involved with capture and analysis of wireless packets using tools like airodump-ng, tcpdump, wireshark, flashing the sensor devices and configuring long running services on the device. |
Implemented in Python. |
|
Custom Software Upgrade Module |
Designed and implemented an update mechanism to check for and download new software packages on low-speed, high-latency network connection, with features like download resumption from point of failure, rollback, caching, and retry protocols. |
Implemented in Python. |
|
Docker Volume Plugin for AWS EFS |
Designed and implemented a customized docker volume plugin using the plugin support in docker for persisting container data across a cluster, which ensures that if an application dies/quits and is rescheduled elsewhere in the cluster, a containerized service can restore state before proceeding further. |
Implemented in Golang. |
|
Cluster Management for Big Data Pipeline |
Architected & implemented an auto-scaling, cluster management solution from scratch, helping engineers
focus on business logic rather than scale issues, with monitoring giving insight into entire cluster state. |
Tech stack: CoreOS, Ubuntu, etcd, flannel, docker, Mesos, Aurora, Bosun, cAdvisor, HAProxy, confd, Kafka,
Cassandra, Storm, Spark, EC2. |
Implemented in Golang, Bash, Python. |
|
Secure Tunnel Overlay Network |
Developed a secure network connectivity between various sub-systems/micro-services using OpenVPN. |
Designed and developed an API-driven certificate authority service for dynamic certificate signing request
authentication, certificate generation and distribution. |
Implemented in Python, Golang, C and Bash. |
|
Centralized Logging for a Multi-Datacenter Distributed System |
Eased debugging and log analysis by implementing centralized logging using rsyslog on ubuntu servers, along with logrotate policies for archiving historical logs. |
Implemented in Java, Python and Bash. |
|
Software Engineer |
Cisco Systems |
July 2012 - April 2014 |
Opendaylight SDN Controller |
Showcased a proof of concept service chaining of various Cisco services using opendaylight and openflow switches. This was the early proof of concept to showcase Cisco services in the SDN realm. |
Implemented in java and python. |
|
Protocol Pack Program |
Participated in bug resolution, automation and testing of protocol packs, which are a bundle of application protocol signatures to classify various network flows going through a router. |
Implemented in perl, python and C. |
|
Software Engineer, Intern |
Cisco Systems |
Jan 2012 - Jun 2012 |
Network Based Application Recognition - Signature Analysis Tool Proof of Concept |
Part of a team that developed the for NBAR Signature Analysis Tool, which provides a web interface for rapid prototyping of a custom application signature, and testing it immediately on a set of packet capture files. |
Demonstrated at CiscoLive, 2013. |
Implemented in perl, python and bash. |
|