Your SlideShare is downloading. ×
Lessons Learned from Converting a Web Application to Multitenancy and Deploying it to Amazon Web Services using Scalarium
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

Lessons Learned from Converting a Web Application to Multitenancy and Deploying it to Amazon Web Services using Scalarium

2,739
views

Published on

Talk held on 2011-05-16 at Amazon AWS Tech Summit for Developers and Architects speaker directory in Berlin. …

Talk held on 2011-05-16 at Amazon AWS Tech Summit for Developers and Architects speaker directory in Berlin.

Infopark is a Software Vendor from Berlin, Germany. Our flagship product, the Content Management System "Infopark CMS Fiona" is originally a popular packaged software product for large enterprise customers. This talk describes our motivation and lessons learned by converting it to a multitenancy enabled piece of software, replacing the SQL database backend with CouchDB and deploying it to Amazon AWS (EC2, S3, CloudFront) using Scalarium.

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,739
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
56
Comments
0
Likes
2
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. Lessons Learned from Converting a Web Applicationto Multitenancy and Deploying it to Amazon Web Services using Scalarium AWS Tech Summit for Developers and Architects Berlin, 2011-05-16
  • 2. Thomas Witt@thomas_witt http://twitter.com/thomas_witt
  • 3. Since 1997 … Director Product & Business Development http://www.infopark.de/
  • 4. Great Websites run Infopark Founded in 1994 in Berlin CMS, CRM and Online Marketing Software Large Websites for Enterprises
  • 5. References http://www.infopark.de/references
  • 6. References infopark.de/references http://www.infopark.de/references
  • 7. What are we going to learn … Why did Infopark move to «The Cloud»™? How did we do it? What did we learn from it?
  • 8. Why?(You will be cloudified. Resistance is futile.)
  • 9. Enterprise Software Installation sucks.
  • 10. http://www.alexa.com/siteinfo/cortalconsors.de
  • 11. http://www.alexa.com/siteinfo/bundestag.de
  • 12. http://www.alexa.com/siteinfo/munich-airport.de
  • 13. Modern Web-Siteshave to be cloud based.
  • 14. Our partner http://aws.amazon.com/
  • 15. Multitenancy (Yes, we scale!)
  • 16. “Multitenancy refers to a principlein software architecture where asingle instance of the softwareruns on a server, serving multipleclient organizations (tenants). http://en.wikipedia.org/wiki/Multitenancy
  • 17. Enabling MultitenancyCreate a "shared nothing"architectureMove all configuration intothe databaseExtract background tasksChoose database tenantwise
  • 18. Implementing DB switching is easytenant = request.host.split(.).firstbegin @@db ||= CouchRest.database(tenant)rescue raise "tenant name #{tenant} doesnt exist"end
  • 19. System Architecture Fiona on SaaS SaaS Cluster Scalarium SES: E-Mail AZ 1 AZ 2 AZ 3 EC2: EC2: EC2: EC2: EC2: EC2: S3: DB Fiona, OMC, Fiona, OMC, Fiona, OMC, Fiona, OMC, Fiona, OMC, Fiona, OMC, Assets Backup DB, Search DB, Search DB, Search DB, Search DB, Search DB, Search (Blobs) Server Redis/ Elastic Load Balancing: *.saas.infopark.net Resque Customer AZ 1 AZ 2 EC2: EC2: GitHub S3 Rails, Rails, DB Replica DB Replica + Hoptoad Cloud Front Elastic Load Balancing: CDN customer.com New Relic
  • 20. Use multipleAvailability Zones!http://broadcast.oreilly.com/2011/04/the-aws-outage-the-clouds-shining-moment.html
  • 21. Database (Choose wisely)
  • 22. Problems with SQL databases in the cloud Bottleneck Doesn‘t scale Single point of failure Adding new Replicas Consistent backups Recovery times after crashes
  • 23. SQL databases are not built for the cloud.
  • 24. NoSQL databases ARE built for the cloud.… by trading off consistency for partition tolerance http://en.wikipedia.org/wiki/CAP_theorem
  • 25. Database backendAdvantages Simple handling Better replication Stability and reliability SchemalessLots of flavours CouchDB/BigCouch, SimpleDB, MongoDB, …We have chosen BigCouch. http://couchdb.apache.org/
  • 26. Automatize! (Scalarium is your friend)
  • 27. Your server – à la carte http://www.opscode.com/chef/
  • 28. Auto Healing (and scaling)
  • 29. Automatize using ScalariumAutomated Machine Installs No hassle with AMI Images Always install from scratch Using Chef RecipesMonitoring and Scaling Auto Healing Time Based Scaling Load Based Scaling http://www.scalarium.com/
  • 30. Security(… theres lots of interesting data in the cloud)
  • 31. Have multiple AWS accounts https://aws-portal.amazon.com/gp/aws/developer/account/
  • 32. IAM
  • 33. Use MFA Devices http://aws.amazon.com/mfa/
  • 34. Security is important! Have multiple AWS accounts Use IAM • Rotate your keys • Use an MFA Device • Lock up your master account Clear concept how to handle policies, accounts, groups Have lots of Account/Key Pairs with restricted access Automatize everything • Security Groups • Regular Firewall checks • Account creation / deletion
  • 35. People(The Human Factor)
  • 36. “I dont «own» my data anymore.
  • 37. “What about data privacy?
  • 38. “Is your security good enough? How can I trust you?
  • 39. “My job went to SaaS!
  • 40. Have good answersto these questions. (Try to rationalize the discussion)
  • 41. Disadvantages? What‘s missing?
  • 42. Disadvantages? What‘s missing?Amazon Automated creation of multiple accounts with separate billing API for BillingScalarium Access Rights Security Groups MFA Support
  • 43. Conclusion Have a scalable multitenancy architecture Automatize everything Don‘t forget The Human Factor
  • 44. Thats a wrap! Twitter: @infopark facebook.com/infopark Thank you! Thomas Witt Director Product & Business Development thomas.witt@infopark.de +49-151-140690-23 Twitter: @thomas_witt Infopark AG • Kitzingstraße 15 • D-12277 Berlin • www.infopark.de • info@infopark.de