Krish Iyer

My Bio

View My GitHub Profile

Aspirations

Summary

Technologies
Cluster management:    Kubernetes, Mesos, Aurora, Zookeeper, Docker, Bosun, cAdvisor
Messaging Systems: Apache Kafka Data stores: Apache Cassandra, etcd
Data Processing: Apache Storm, Apache Spark Security: OpenVPN, EasyRSA-based PKI
Serialization Frameworks: Protobuf, Thrift Networking: Opendaylight, flannel, HAProxy
Operating Systems: Linux (Ubuntu, CoreOS) Languages: Golang, Java, Scala, Python, Perl, C
Public Cloud Platforms: EC2, GCE, Azure Tools: Eclipse, Git, Maven, Travis

Employment History

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.

Education

M.C.A VJTI, Mumbai July 2009 - June 2012
Master of Computer Applications from Veermata Jijabai Technological Institute, Mumbai. CPI: 9.0/10.

Projects

OS Scheduler Simulator (2010)
Implemented FCFS, SJF, SRTF, Priority, Round Robin algorithms, their variants, simulated the paging process & calculated statistics like throughput, wait time, etc. at program termination.
Implemented in C.

Recognition & Awards