- Asynchronous, Distributed & high Performance communication backbone simulating MOOC :
- Technologies used: Netty, google protobuf, Java, mongoDB, python
- Lessons learnt: Asynchronous programming,deploying monogDB replica set architecture, leader election strategies, implementation and usage of various design patterns like circuit breaker, facade, Proactor, Factory etc. in Networking applications, lastly Thinking distributed 🙂
2. Virtual Machine Disaster Recovery Manager (using VMware): simulated a disaster recovery system for Enterprise Data-center.
- Technologies used: Java web services, vCentre, ESX, vHosts, cloning, snapshot, vMotion.
- Lessons learnt: Exhaustive usage of VMware tools and VI java api, writing multi-threaded code in Java, usage of snapshot, clone, vMotion, VMware provided features to provide High availability.
- Technologies used: Python webservices, Bottle (WSGI micro web-framework), MySQL, Hadoop, Amazon EMR, mongoDB.
- Lessons learnt: Power of Hadoop in data filtering and analysis, monogDB sharding vs MySQL partitioning, MySQL indexing options for optimization, difference between join options provided by mongoDB and MySQL.
Working on following projects: will update as soon as done 🙂
4. Large-scale Log collector: System to collect log data from all virtual Machine inside cluster and use it for visualization.
- Technologies used: LogStash, Java, Python, mongoDB, MySQL,
- Lessons learnt: contextual usage and diffrence in SQL and NO-SQL databases, Designing large scalable systems, log file parsing and collection, Stress testing of Virtual Machines
5. Creating backend and mid-tier for Pinterest like website: Simulation pinterest.com website using micro web frameworks like Bottle.
- Technologies used: Python web services, Bottle, REST, couchDB
- Lessons learnt: Python programming, RESTful webservices in python, SOAP vs REST