Building Low Cost Scalable Web Applications - Tools & Techniques Ramesh Rajamani Compassites Software Solutions, Bangalore Barcamp, Hyderabad 16 th  February 2008
Needs Scale seamlessly High Performance Unlimited storage expansion Reduce Network Latency Direct the user to nearest server Scale out, no Scale in Sweet spot: Low Cost, High Performance, Scaleable
First & Foremost Operating System makes a difference Go for a *nix based operating system for your production environment Why? Stability Low Cost of Ownership Better security and resource management Better control Support for languages, tools, frameworks etc. Exception - .Net
Points of Focus Performance Scaling Network Storage & Replication
Performance Identify areas of bottlenecks Example - Huge database reads Cache repeated reads Memory Clustering Use  MemCached High-performance, distributed memory object caching system Replicated Hash Table Powerful high performance state replication Java/J2EE -  Terracota Virtual Heap POJO clustering
Performance (2) Example 2 - Lot of uploads and downloads You can build a low cost grid computing A simple set of scripts and  webservices can do the magic Reference IBM article Amazon Web Services  - EC2 and S3 if you want to save some time Database Clustering C-JDBC  – Database clustering and replication solution for Java/J2EE Apps
Scaling Look for easy and quick scaling Customers will be happy if you suggest a low cost solution Scale Out Vs Scale In Build a farm of low cost servers Amazon Web Services EC2 Elastic Computing Quickly add/remove instances via web service calls Pay for processor/networking per hour
Reduce Latency Global user access? Route the user to the nearest data center Solution - Content Delivery Network (CDN) Globule  - CDN module for Apache Low cost solution providers are available Work step by step Key challenge - Replication of information across servers Domain Name mapping across servers Dynamic Domain Mapping EasyDNS EZ- IPUpdate
Storage and Replication Amazon Simple Storage Service (S3) Unlimited storage Transparent Grid computing Not just for file storage but for database as well Replication Database Daffodil Replicator SymmetricDS Document Management Thrudb  – Built on top of Facebook’s  Thrift  framework Scaleable Messaging Spread  -  Reliable and scalable messaging and group communication
Logical Architecture
Roadblocks Lot of work R&D Proof of Concepts Integration Issues Multiple point of failures Day 1 won't be a perfect world Learn and improvise Mitigation Be visionary Get the business vision Start working early on Risk Management Bottlenecks Point of failures Sizing and Capacity Planning
Q&A
About Blog - TechMasala - http://www.techmasala.com Co-founder and Architect, Compassites Software Solutions, Bangalore - http://www.compassites.net Co-Author - Java Servlet Programming Bible - John Wiley - 2002

Building Low Cost Scalable Web Applications Tools & Techniques

  • 1.
    Building Low CostScalable Web Applications - Tools & Techniques Ramesh Rajamani Compassites Software Solutions, Bangalore Barcamp, Hyderabad 16 th February 2008
  • 2.
    Needs Scale seamlesslyHigh Performance Unlimited storage expansion Reduce Network Latency Direct the user to nearest server Scale out, no Scale in Sweet spot: Low Cost, High Performance, Scaleable
  • 3.
    First & ForemostOperating System makes a difference Go for a *nix based operating system for your production environment Why? Stability Low Cost of Ownership Better security and resource management Better control Support for languages, tools, frameworks etc. Exception - .Net
  • 4.
    Points of FocusPerformance Scaling Network Storage & Replication
  • 5.
    Performance Identify areasof bottlenecks Example - Huge database reads Cache repeated reads Memory Clustering Use MemCached High-performance, distributed memory object caching system Replicated Hash Table Powerful high performance state replication Java/J2EE - Terracota Virtual Heap POJO clustering
  • 6.
    Performance (2) Example2 - Lot of uploads and downloads You can build a low cost grid computing A simple set of scripts and webservices can do the magic Reference IBM article Amazon Web Services - EC2 and S3 if you want to save some time Database Clustering C-JDBC – Database clustering and replication solution for Java/J2EE Apps
  • 7.
    Scaling Look foreasy and quick scaling Customers will be happy if you suggest a low cost solution Scale Out Vs Scale In Build a farm of low cost servers Amazon Web Services EC2 Elastic Computing Quickly add/remove instances via web service calls Pay for processor/networking per hour
  • 8.
    Reduce Latency Globaluser access? Route the user to the nearest data center Solution - Content Delivery Network (CDN) Globule - CDN module for Apache Low cost solution providers are available Work step by step Key challenge - Replication of information across servers Domain Name mapping across servers Dynamic Domain Mapping EasyDNS EZ- IPUpdate
  • 9.
    Storage and ReplicationAmazon Simple Storage Service (S3) Unlimited storage Transparent Grid computing Not just for file storage but for database as well Replication Database Daffodil Replicator SymmetricDS Document Management Thrudb – Built on top of Facebook’s Thrift framework Scaleable Messaging Spread - Reliable and scalable messaging and group communication
  • 10.
  • 11.
    Roadblocks Lot ofwork R&D Proof of Concepts Integration Issues Multiple point of failures Day 1 won't be a perfect world Learn and improvise Mitigation Be visionary Get the business vision Start working early on Risk Management Bottlenecks Point of failures Sizing and Capacity Planning
  • 12.
  • 13.
    About Blog -TechMasala - http://www.techmasala.com Co-founder and Architect, Compassites Software Solutions, Bangalore - http://www.compassites.net Co-Author - Java Servlet Programming Bible - John Wiley - 2002