Thursday, October 27, 2016

Scaling: How Facebook used MySQL to handle 800million to 1.2 billion users!

From a very old article still quite relevant:
Facebook’s "Domas Mituzas" shared some stats that illustrate the importance of its MySQL user database: MySQL handles pretty much every user interaction: likes, shares, status updates, alerts, requests, etc.

At 2010/11, Facebook had 800 million users; 500 million of them visit the site daily. 350 million mobile users are constantly pushing and pulling status updates. 7 million applications and web sites are integrated into the Facebook platform.

User data sets are made even larger by taking into account both scope and time And, as Mituzas pointed out, everything on Facebook is social, so every action has a ripple effect that spreads beyond that specific user. “It’s not just about me accessing some object,” he said. “It’s also about analyzing and ranking through that include all my friends’ activities.” The result (although Mituzas noted these numbers are somewhat outdated) is 60 million queries per second, and nearly 4 million row changes per second.

At Facebook they used MySQL to manage many petabytes of data, along with the InnoDB storage engine that serves social activities such as likes, comments, and shares. While InnoDB provided them great performance and reliability for a variety of workloads, it seemed to fail on space and write amplification when used with flash storage.

As a result they developed, fully opensource solution MyRocks: A RocksDB storage engine with MySQL, an embeddable, persistent key-value store. It's leveraging stability of MySQL and taking advantage of persistent Key-Value Store for Flash and RAM Storage(RocksDB).

Friday, October 7, 2016

Passed AWS Solution Architect Certification

Passed the AWS Certified Solutions Architect Exam today. Going for AWS Professional Level and Red Hat OpenStack exam next. 

Big Thank you to Ryan Kroonenburg and ACloudGuru team for your excellent course. I have been working with AWS for nearly 6 years and now with OpenStack but was not serious enough to go for the certification however, now planning to go all the way.



Tuesday, October 7, 2014

Certified Scrum Professional®

On 3rd Sept, 2014 I have been awarded Certified Scrum Professional® and I must say this was one of those proud moments. 


Because this is not an exam which you pass, this requires an active CSM, CSPO or CSD  to demonstrate experience, documented training, and proven knowledge in the art of Scrum. CSPs challenge their Scrum teams to improve the way Scrum and other Agile methods are implemented for every project.

If you are an active CSM, CSPO, or CSD who has reached that next level of experience and expertise in the art of Scrum, elevate your career even further by earning the CSP credential. In today's competitive job market, the Certified Scrum Professional® certification can set you apart as a more advanced and experienced Scrum practitioner. Going the extra mile to earn your CSP shows you are committed to continuous improvement. The coursework and dedication needed to earn the CSP sharpen your skills and help you become a better practitioner of Scrum. But I must say there is no short cut to achieve this certification.


Monday, October 6, 2014

Agile Open Day at Red Hat Beijing Office

On 17th Sept, during Agile Open Day at Red Hat's Beijing office, I had the opportunity to train, interact, connect and learn with teams.
Although the nature of the event meant to be open but we tried to keep our focus on following topics:
  1. Introduction to Agile, Overview of Agile Manifesto and Framework
  2. Agile Methods e.g. Getting Agile with Scrum
  3. Agile Estimation
  4. Story Writing
  5. Agile Planning e.g. Vision, Roadmap, Release, Sprint, Daily
  6. Agile Games
  7. Agile Project Monitoring
  8. Agile Adoption
  9. Agile Quality
  10. Best Practices
The event had remarkable turn around of 50+ people, who took time off to be there but I must admit I was mostly impressed with the audience for following aspects:
  1. Variety and Background,people from different age groups and teams turned up e.g. Kernel, Product Engineering, QA, Project Managers, Leads, IT, System Admins  etc.
  2. Remarkable enthusiasm
  3. Being involved
  4. Willingness to learn and share from their own experience.
We make use of Agile Games to ensure whatever I covered during presentations can be reflected by getting everyone involved. This has really paid off well as everyone held their own perspective but at the same time everyone performed as a team and had fun at the same time :) If you are an Agile Coach or Practitioner or Scrum Master, I recommend you to make use of Agile Games and you should consider it because [1]Games are fun [2]It helps to reach consensus faster by understanding everyone's perspective [3]Everyone's objective is common i.e. To Win.  For instance, we had played "20/20 Vision: For Understanding Customer Priorities"
 
You may register for such games at http://www.innovationgames.com/agile-teams/ and also there are many such websites which allow you to download content of games and play them live on their website, use it at your convenience. 

Playing and Learning with Agile Game

Game: 20/20 Vision [Understanding Customer Priorities]

After each topic, I had asked teams to highlight their experience about the areas, where they were expected to talk about [1]what went well so far ? [2]what didn't go well ?  This had paid off remarkably well as it helped each participant to learn from everyone else's experience, and allowed everyone to come up with solution and all I had to do is facilitate it. 
 
We continued this effort even after the event, as on today I have received about 90 emails from participants, the subject/content are pretty much common and almost everyone's tone were similar [1]they have described the challenges they are facing, [2]why they are facing such challenges they think, [3]they suggested solutions to overcome them using agile best practices and [4]all they were seeking from was reflection or confirmation if their plans were on the right track and we learnt to continue to adapt. I am extremely happy to receive such emails and I welcome more because from everyone's experience I am learning a lot. Also it allows individuals/teams to think about solutions and strategies, while keeping best practices in mind as ultimately the fun is to see everyone improving continuously and at their own.

Finally I published a survey to receive feedback about the event and I am immensely happy to see the NPS score on the highest side, people are willing to join such events again and this has triggered Red Hat Core Agile Ambassadors team to focus on APAC.
 
I thank everyone who had helped me to host the event at Red Hat Beijing office. Also I thank everyone for such grand reception, for participating and contributing to the Agile Open Day. 
 
Be Agile!