– Architecture for High Performance Applications (AHiPA) @ Wipro Technologies • Work with lot of open source stuff – Play Framework, Akka, Scala, mongodb, redis, LAMP stack • Previous Avatar • Chief Architect for ideaken.com • Worked @ Wipro, Sapient, MindTree and Siemens • My Blogs • http://www.techspot.co.in • http://www.akkaessentails.in
! • My goals are • To make you think harder about your problems • Help you evaluate possible solutions • Agenda • Patterns that help improve Scalability of Application • Best Practices when building scalable applications
parts – Go all the way ! • Isolate those that can be executed in non blocking mode (asynchronously) • Queue the information needed to complete the Task (messages) • Process the queues on the background thread (non blocking) Event Driven Architecture
Application.. Spread Out ! • Think Horizontal, Not Vertical • Scale Out • Use commodity equipment • Hardware and Memory is cheap - Add plenty of RAM and use 64bit hardware • Design application with failure in mind • Use caching wherever possible ! • Bring homogeneity in your application • Do not have too many moving parts • Think Simplicity • Define the QoS for your application
ability to scale ! • Do not underestimate the importance of Processes & related documentation • Configuration Management • Release Management • Change Management • Source Control • Issue Tracking • Coding Standards • Minimize human intervention • Learn from Others !
Application Scalability • Darshini vs McDonald Model • Scalability Patterns and Best Practices You can read all the books in the world about riding a bicycle, but you will not be able to ride one until you get on it and fall off a few times.