Your SlideShare is downloading. ×
0
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & Techniques
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Building Low Cost Scalable Web Applications Tools & Techniques

3,430

Published on

I presented this topic in the Barcamp Hyderabad event on 16th February 2008

I presented this topic in the Barcamp Hyderabad event on 16th February 2008

Published in: Technology
2 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,430
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
201
Comments
2
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×