Your SlideShare is downloading. ×

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

Delivering SaaS Using IaaS - RightScale Compute 2013

479
views

Published on

Speakers: …

Speakers:
Shivan Bindal - Sr. Product Manager, RightScale
Chris Szymansky - Director of Engineering, The Resumator

Software is eating the world. And it is increasingly being delivered via the cloud. We’ll cover customer examples from demo and POC environments to single-tenant and multi-tenant SaaS applications powered by public and private clouds.

Published in: Technology

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

  • Be the first to like this

No Downloads
Views
Total Views
479
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
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
  • Customers are businesses, also deal with end users (applicants).Software scales to not only number of customers, but also has to scale to how popular a customer is, as jokseekers flock to their careers pages.Primary customer is SMB
  • I’m going to quickly run through a few different parts of the SaaS product that we offer so you can get a little background on some of the technical challenges that comes with it.
  • 2009Founded in Pittsburgh, PA1 employee1 server
  • Obviously you do not want to be caught napping and have to scale when its too late
  • Small team, but lessons can be applicable to any startup and most companies that are cash conscious
  • Small team, but lessons can be applicable to any startup and most companies that are cash conscious
  • Architecture
  • EachRightScale deployment environment has a copy of our architecture.Prod is the holy grailStaging is an exact replica of prodEach other deployment has its own characteristics for testing
  • App delivery
  • How we added a new component to our infrastructure
  • Common activities were bringing our systems to a standstill
  • Document Processing RequirementsTake in files (DOC, DOCX, PDF, RTF)Convert to PDFExtract text for searchStore on S3Display in browser
  • Document Processing RequirementsTake in files (DOC, DOCX, PDF, RTF)Convert to PDFExtract text for searchStore on S3Display in browser****All happening immediately as soon as a resume is submitted********1.1 million resumes processed during growth****
  • SolutionDesign a simple queuing systemSend a job with arbitrary data to the queueOther processes, like email, used 25,000 times per day can benefit from it(Let the software guys figure out what to do with it)
  • Researched queuing alternatives:Redis, RabbitMQ, ZeroMQ, others
  • Researched queuing alternatives:Redis, RabbitMQ, ZeroMQ, others
  • Researched queuing alternatives:Redis, RabbitMQ, ZeroMQ, others
  • Researched queuing alternatives:Redis, RabbitMQ, ZeroMQ, others
  • Right tool for the job: Solr, Redis, VarnishKnowing when to shed old techWant to lock in infrastructure but it won’t happenGeneralists help you understand problems from code level as well as systemsDon’t scale before you have to, but project worse cases and limitationsUnderstand limitations
  • Transcript

    • 1. april25-26sanfranciscocloud success starts hereDelivering SaaS Using IaaSShivan Bindal, Sr. Product Manager, RightScaleChris Szymansky, Dir. Engineering, TheResumator
    • 2. #2#2#RightscaleComputeAgenda• Refresher of RightScale Capabilities• Contextual Awareness• Deployment Complexity• The Resumator• Question / Answer
    • 3. #3#rightscalecomputeBasic FeaturesRightScale Features
    • 4. #4#4#RightscaleCompute• Set up Cloud Resourcesdynamically at boot time• Provide Monitoring andAlerts• Enable run-timeconfiguration w/ scripts orrecipes• Facilitate dev-like workflowServerTemplates™
    • 5. #5#5#RightscaleComputeDeploymentsDeployment-level abstraction• Abstracts resources such as:• Virtual machines (instances)• Storage (object storage, block volumes)• Virtual networks (firewalls, subnets, VPNs, etc)• Abstracts providers:• 8 public cloud providers• 2 private cloud technologiesSelf-service provisioning• Click to launch or clone fully configuredservers and deployments
    • 6. #6#6#RightscaleComputeUser Model with Permissions• Each account corresponds to a setof cloud credentials• Accounts have complete isolation –reporting, configurationassets, cost tracking, etc.• User roles and access rights areorganized “Account down” asopposed to “User up”• A user can access 1 or moreenvironments with different rolesand access rights• SSO supported• Users are granted rights by Adminvia permanent / temporaryinvitation process
    • 7. #RightscaleCompute#7#7Contextual AwarenessAbstract complexity with simple organization
    • 8. #8#8#RightscaleComputeTraditional Use CaseDev Sandboxes Staging ProductionAll inOneAPPDBAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPDBDBLB
    • 9. #9#9#RightscaleComputeRightScale Example• Developers have access to test account where they can createdeployments and servers as needed.• QA has control on staging accounts where they do rolling codeupdates from development and run automated regressions andmanual functional tests.• Operations have access to separate environment withproduction account that runs RightScale on RightScale.
    • 10. #10#10#RightscaleComputeNon - Traditional Use CaseCustomer 2APPAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPDBDBLBCustomer 1APPAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPDBDBLBCustomer XAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPAPPDBDBLB
    • 11. #11#11#RightscaleCompute• Once on-prem legacy applications *can* be brought to cloud• Several customers instantiate deployments with single-tenantapplication stacks per customer• Cost efficiency is irrelevant if you price your applicationappropriately• Requires ingenuity for operational management consideringvast number of customers and potential application stackupgradesSaaS-ification-ism
    • 12. #RightscaleCompute#12#12Deployment ComplexityDigging into the details
    • 13. #13#13#RightscaleCompute
    • 14. #14#14#RightscaleCompute
    • 15. #15#15#RightscaleComputeBrowsersRightScale DashboardInternetCloudboundaryLatency-based RoutingLoad Balancing ServiceF5 (Primary) F5 (Standby)Autoscaling Server TierIIS & .NETIIS & .NETTech StackTBDTech StackTBDMySQL Database Server TierMySQL Server(Master)MySQL Server(Slave)ReplicationAWS US EastPrivate CloudELBAutoscaling Server TierIIS & .NETIIS & .NETTech StackTBDTech StackTBDDirectConnect“Cloudbursting”MySQL Database Server TierMySQL Server(Slave)ReplicationVPC
    • 16. #16#rightscalecomputeThe ResumatorSaaS platform for collecting resumesand managing hiring processes
    • 17. #17#rightscalecomputeProduct tourTechnical challenges
    • 18. #18#18#RightscaleComputeCustom careers sites
    • 19. #19#19#RightscaleComputeCustom careers sites
    • 20. #20#20#RightscaleComputeDocument processing/rendering
    • 21. #21#21#RightscaleComputeSearch
    • 22. #22#22#RightscaleComputeEmail messaging
    • 23. #23#rightscalecomputeCompany Overview
    • 24. #24#24#RightscaleCompute2009• Founded in Pittsburgh, PA• 1 employee• 1 server
    • 25. #25#25#RightscaleCompute2011
    • 26. #26#26#RightscaleCompute2012
    • 27. #27#27#RightscaleCompute2012 -> 2013
    • 28. #28#28#RightscaleComputeWhat’s next?• Unknown is scary if not prepared• Stay a step ahead of growth• Benchmark trigger points for scaling• Iterate on your architecture, don’t perfect it (oryou’re sacrificing product)
    • 29. #29#29#RightscaleComputeEngineering at The Resumator• 7 engineers + 1 systems admin• Release often (sometimes daily)• Generalists• Scrum for feature dev• “Lite” CD with RightScale
    • 30. #30#rightscalecomputeTechnology
    • 31. #31#31#RightscaleComputeTechnology• EC2• S3• LAMP• Varnish• Redis• Apache Solr
    • 32. #32#rightscalecomputeInfrastructure
    • 33. #33#33#RightscaleCompute
    • 34. #34#34#RightscaleCompute
    • 35. #35#35#RightscaleComputeDevelopment and Deployment• Jira issue –> Git commit –> Tagged release• RightScript checks tagged release out to test environment• Call test kickoff on test environment• Log test results• Proceed to check out tagged release to [Deployment]
    • 36. #36#rightscalecomputeExample
    • 37. #37#rightscalecomputeProblemRoutine activities were bringing oursystems to a standstill
    • 38. #38#38#RightscaleComputeDocument processing/rendering
    • 39. #39#39#RightscaleComputeDocument processing requirements• Jobseeker submits resume (DOC, DOCX, PDF, etc)• Convert to PDF for display• Extract text for search• Store on S3• Display in browser for customer
    • 40. #40#40#RightscaleComputeDocument processing – old way• Store file on S3• Add record in MySQL database• Run cron to find resumes with a certain magicstatus (-4)• Send resumes to 3rd party service to extract text• Have webhook callback to update database
    • 41. #41#41#RightscaleComputeSolution: Queue• Design a simple queuing system• Send a job with arbitrary data to the queue• (Let the software guys figure out what to do with it)
    • 42. #42#42#RightscaleComputeQueue development• Research alternatives (RabbitMQ, ZeroMQ, Redis)• Chose Redis• Simple, fast, and free• Takes minutes to get up and running withRightScale• (Researching and testing still takes weeks!)
    • 43. #43#43#RightscaleComputeScripts
    • 44. #44#44#RightscaleComputeThe queue can now be spun up into any of our deployments
    • 45. #45#45#RightscaleComputeResults• Initial rollout: ~30,000 jobs per day• End user and app server response time improved by~25%• Expanded queue to four types of jobs• Handled traffic growth with essentially same infrastructure
    • 46. #46#46#RightscaleComputeLessons• Set triggers for scaling• Iterate on your infrastructure, don’t lock it in• Small teams benefit from generalists• Know when to shed old tech• MySQL -> Redis and Solr
    • 47. april25-26sanfranciscocloud success starts hereWrap up
    • 48. #48#48#RightscaleComputeSummary• Cloud is *the* way to deliver software to customers goingforward• Your complexity is in the app, you don’t need to extendcomplexity upwards• We see a lot of ways to be successful• Simple management features are powerful• Find what works for you and your business• Learn from others’ experiences
    • 49. april25-26sanfranciscocloud success starts hereQuestions?

    ×