Your SlideShare is downloading. ×
ITCamp 2012 - Dan Fizesan - Serving 10 million requests per day
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

ITCamp 2012 - Dan Fizesan - Serving 10 million requests per day

273
views

Published on

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
273
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
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. Serving 10 million requests per day How to solve the architecture challenges of a high traffic ASP.NET website Level 400 Dan Fizesan, Lead Developer, NetMatch – Travel Technology Solutions@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 2. ITCamp 2012 sponsors Private & Public Cloud@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 3. Who am I Private & Public Cloud• Dan Fizesan, 37 years old.• 15 year experience with Progress / C# / ASP.NET / T-SQL.• Technical Architect / Lead developer in NetMatch / Zoover project.• NetMatch international company e-business provider for tourism industry• Zoover is a website with reviews about trips on average 500.000 unique visitors per day• Contact: d.fizesan@netmatch.ro@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 4. Agenda Private & Public Cloud• Architecture of a web application• Deep dive into the macro architecture• Serving 10 million requests a day - final view• Demo• Q&A@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 5. Context Private & Public Cloud• More and more users are using the online websites• Applications on mobile devices are using data from the web data services• The FOCUS in the presentation are on- premise applications that are also subject to above trends@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 6. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 7. Architectural Goals Private & Public Cloud• Be online as much time as possible• Serve as many users as possible• Low cost of ownership• Good performance@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 8. Architectural Goals Private & Public Cloud• Be online as much time as possible• Serve as many users as possible• Low cost of ownership• Good performance@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 9. Availability Private & Public Cloud• We reach high availability when more than 90% of the time the website is working correctly• 99% availability = the website is down 87,6 hours in a year (or 15 minutes every day)• 99.99% availability = the system is down less then 1 hour per year• Our systems go for 99.9% availability@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 10. Challenge Private & Public CloudHow can we reach 99.9% availability? • Through passive redundancy – failover • Through active redundancy • Through data sources replication@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 11. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 12. Load Balancers + Failover Private & Public Cloud• Hardware load balancers• Software load balancers: Network Load Balancer, Ha Proxy, etc.• Algorithms to spread the load• Implementing failover is crucial• Alternative: Producer-consumer pattern – used in IIS@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 13. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 14. Challenge Private & Public CloudWeb is stateless, what happens with the statewhen using a web farm?No sessions stickiness: With session stickiness • SQL (session) state • performs worse server, • can lead to • distributed cache overloaded servers session state, • use cookies@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 15. Architectural Goals Private & Public Cloud• Be online as much time as possible• How can we serve as many users as possible? Partly through using load balancers Partly through scalability of the website• Low cost of ownership• Good performance@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 16. Scalability Private & Public Cloud• The ability of the website to grow the user base by adding more hardware• The more linear the relation is, the more scalable the website is• Vertical scalability• Horizontal scalability, lower costs using commodity hardware@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 17. Architectural Goals Private & Public Cloud• Be online as much time as possible• How can we serve as many users as possible? Partly through using load balancers Partly through scalability of the website• Low cost of ownership• Good performance@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 18. Distributed Caching Private & Public Cloud• Helps the backend (database/services)• Advantage: brings consistency in an webfarm• Disadvantages: latency• Some of the free options: Windows Server AppFabric Caching, memcached• Some of the commercial options: NCache, Azure AppFabric caching@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 19. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 20. Challenge Private & Public CloudHow can we protect the website in the casethe distributed cache goes down or is notreachable?• Through implementing failover caching mechanisms in the website@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 21. Architectural Goals Private & Public Cloud• Be online as much time as possible  Through high availability• Serve as many users as possible Partly through using load balancers Partly through scalability of the website• Low cost of ownership• Good performance@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 22. Perceived good performance Private & Public Cloud• Web code/ business layer performance• Database queries performance Flat databases Replicated databases• Distributed architecture splitting into sub-applications• Parallelization of the code (demo)@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 23. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 24. Challenge Private & Public CloudHow can we use distributed architecture andhave a good performance?• We should externalize the resource-intensive parts of the application into sub-applications• Choosing wrong parts will only add (network) latency@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 25. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 26. OUR ARCHITECTURE TO SERVE 10 MILLION REQUESTS PER DAY@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 27. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 28. @ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 29. Demo Results Private & Public Cloud 300 requests Approach % s 21,6 s ThreadPool parallelism 1200% Task Parallel Library parallelism 4200% 76 s Simple Threads parallelism 155% 2,8 s Custom ThreadPool parallelism 100% 1,8 s@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 30. Contact: d.fizesan@netmatch.ro www.netmatch.ro/itcamp2012/challenges.pptx www.netmatch.ro/itcamp2012/demo.zip Q&A@ itcampro # itcamp12 Premium conference on Microsoft technologies
  • 31. To Remember Private & Public Cloud• Availability• Redundancy• Load balancer• Scalability• Distributed caching• Performance@ itcampro # itcamp12 Premium conference on Microsoft technologies