Skip to main content

Posts

Docker Aha moment

I had read many articles about docker before but today was the day when I realized the aha moment.  I had designed database structure of a new application where different micro-services uses their own schemas and each can be located on its own server depending on the scale requirement. Locally I had kept them on same mysql host but on production it will be used on different Google CloudSQL instances.  The aha moment for me was when I was able to fire up multiple mysql containers and map them to a different port and do end to end testing of my sharding code all on local box. All I had to do was docker run -p 3306:3306 -d  gcr.io/xx-us/mysql:5.6 docker run -p 3307:3306 -d  gcr.io/xx-us/mysql:5.6 docker run -p 3308:3306 -d  gcr.io/xx-us/mysql:5.6 docker run -p 3309:3306 -d  gcr.io/xx-us/mysql:5.6 docker run -p 3310:3306 -d  gcr.io/xx-us/mysql:5.6 ..... and I had many mysql servers ready to be tested.   In the VM world I would not even had...

7 essential questions to ask during Product Manager interview

image via https://www.wrike.com/blog/wp-content/uploads/2015/03/software-product-management.png I am an Architect at a Startup called as Egnyte and my daily job involves working closely with Product managers and translating their vision into reality.  I had interviewed hundreds of engineering candidates during my tenure at Egnyte and sometimes I am asked to interview candidates outside my role. Recently I was asked to interview a Product Manager. I was like huh its been a long time I have interviewed a one and the Startup landscape has changed a lot these days.  A good Product Manager these days can really make your product stand out from the competition and drive growth.  How do I know he is the best candidate for the job? I was one of the interviewers and was given 30 min. I usually want one hour but that day was packed with meetings.  A day before the interview I started preparing for it and landed on to this master piece written by Ken Norton( @kennethn ) ...

7 tips to combat email overload and enhance workplace productivity

http://www.conniekuusisto.com/wp-content/uploads/2014/01/Email_overload.png Email had became a productivity hog for me and I was overwhelmed by it. I am working for Egnyte since last 6 years and every year not only the team has expanded but with it the number of emails I receive has increased. New processes get added and new mailing lists get created and  someone adds you to it and now you are blasted with this news feed like twitter firehose. The longer your tenure the more mailing lists you are on. It seems I was working all day, but as a programmer/Architect by heart I was not getting satisfaction if I hadn't coded anything by the end of day or solved a meaty problem in a quarter. Reaching to InboxZero was a mirage to me, you are this close to it and then suddenly in an hour you are blasted 20 emails and there goes another hour sifting through it to see if you have missed anything important.  Programming/Architecture is a creative field and you require decent unint...

Have I started hating mysql and falling in love with distributed databases

It seems Mysql is rock solid if you want: Transactions ACID support So I would still recommend mysql for any thing that is mission critical data and is the primary datastore for your transactions. But what about derived data or analytical data? I had built large scale cluster of mysql server storing metadata about billions of files and folders used by tens of thousands of customers daily and its scaling fine and working good, its still growing at a healthy rate and holding up.  But this requires a lot of baby sitting if you have 100s of nodes and you need to do replication add more nodes rebalancing data monitoring entire cluster Sharding Backup/restore You have to write a lot of tooling and lot of monitoring/babysitting to scale the cluster. Plain stock Mysql will scale up to a limit but vertically scaling has its own issues. So +1 for Mysql but not everything should be stuffed there. But recently me and my team built full text indexing on same dataset usin...

Can you remain a fullstack developer?

I started as a full stack developer 14 years ago but these days its becoming more and more difficult to remain a one. Back in those days all you needed to know was html/css/Js/jsp/java/sql/ant/xml and some tools like tomcat, svn, eclipse and some shell scripting and you are a full stack developer. Being full stack developer means you can code from UI layer to server to database and peel any layer of onion to trace an issue. Now a days you may need to know 20 different technologies in each area before you can easily navigate between layers. Life becomes difficult if its a distributed system. In UI you may need to know React Angular Jquery SASS HTML5 Javascript Node.js Grunt and many more In server you need to know Java Spring Hibernate or any OR tool Guava Nginx Haproxy Memcached and many more.  In Database you may need to know Mysql NOSQL databases like Cassandra or MongoDB Sharding AWS Aurora or RDS ElasticSearch Redis OpenTSDB Hadoop ...

Saas Applications and Manuals?

Software Manuals anyone? Who reads them?  For interactive products like Video games or phones, who reads them?  My 4 year son started using iPad like a pro and now he even tells me this is PBS kids and this is netflix.  When I got an iPhone I never read a manual and havent so far for last 2 years.  As Kids we never read manual for video games. The game developers just made level1 easier and you learn as you play and get better. Recently I had a chance to compare two APM tools AppDynamics and NewRelic at a large scale at my employer and both took me 5 min to setup and get going. But what sold me to NewRelic was their ability to deliver value without doing any additional configuration. Their Level1 itself had so many aha moments that it sold me immediately.  Dont get me wrong, Appdynamics is a very  powerful APM tool but you have to configure it, tweak it like an ERP solution to get value out of it, it felt so 1990s. In past 3 months I never got enough time...