Your SlideShare is downloading. ×
0
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
Saa s webinar slides   final rlh - 3-31
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

Saa s webinar slides final rlh - 3-31

603

Published on

Optimizing Web Performance for SaaS Success

Optimizing Web Performance for SaaS Success

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

  • Be the first to like this

No Downloads
Views
Total Views
603
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
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
  • Our agenda today involves:Understanding the cloud platforms and architecturesWhy SaaS apps are so popularThe complexities of SaaS appsHow to get a complete “cloud pespective” on your SaaS performance
  • Not all Cloud platforms and architectures are the same – knowing that is important. Because who you select as a partner Can give you different challenges.
  • Here we see various development platforms used in SAAS applications.-the LAMP solution stackSOAP used in Apache AccessJ2EE Development stackMany of these can come from Open SourceWhile it is outside the scope of this presentation, it is important to recognize that not all platforms are the same. Some more than others will be more ideal for your SaaS application. All of them inherently have a sweet spot and all have some performance challenges built-in. This is not a step to be taken lightly in your decision making.Notes:Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol) SOAP is a lightweight XML protocol for exchanging structured information in a decentralized, distributed environment.Apache Struts is an open-sourceweb application framework for developing Java EEweb applications.LAMP is an acronym for a solution stack of free, open source software, originally coined from the first letters of Linux (operating system), Apache HTTP Server, MySQL (database software), and PHP, Python or Perl (scripting language), principal components to build a viable general purpose web server[1].OpenLDAP Software is a free, open source implementation of the Lightweight Directory Access Protocol (LDAP) The OpenLDAP server (slapd, the Standalone LDAP Daemon) architecture was split between a frontend which handles network access and protocol processing, and a backend which deals strictly with data storage. The architecture is modular and many different backends are available for interfacing to other technologies, not just traditional databases.A Servlet is a Java class which conforms to the Java Servlet API, a protocol by which a Java class may respond to http requests. Thus, a software developer may use a servlet to add dynamic content to a Web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML.Spring is a layered Java/J2EE application platform - You can use all of Spring's functionality in any J2EE server, and most of it also in non-managed environments. A central focus of Spring is to allow for reusable business and data access objects that are not tied to specific J2EE services. Such objects can be reused across J2EE environments (web or EJB), standalone applications, test environments, etc without any hassle.Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-orienteddomain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.The Java 2 Platform, Enterprise Edition (J2EE) defines the standard for developing multitier enterprise applications. The J2EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming.
  • Many of us had heard of or use Facebook – they started as a social networking site, now they allow a variety of services to be aggregated and mashed up from multiple sources – platform as a service – they now describe themselves as a platform!I will use the Facebook architecture as an example – by the time I finalized these slides these numbers have already changed and they will change again before I finish this Webinar!Top tier made up of eight-core web servers running Linux and Apache.Bottom tier is 800 eight-core Linux servers, distributing over 40 terabytes of user data (this tier stores all the metadata about each object in the database, such as a person, a photo, or event)Middle tier is caching servers, because the 800 database servers can’t serve up all the needed dataFacebook receives 15,000,000 requests per second for both data and connections.95% of data queries can be filled from the cache server’s 15 TB of RAM.Only 5% (500,000) queries per second have to be passed to the MySQL databases and their relatively slow hard drivesVirginia data center is too far away from the Santa Clara facility’s MySQL databases – Just 7 milliseconds of Internet delay would add 3500 seconds of delay, or the equivalent 1 hour of latency.I know of other very large SAAS providers that have very similar architectures!.007 x 500,000 = 3500 seconds
  • Next Lets talk about Building SaaS Applications.Why even build an app in the cloud? What are the advantages or disadvantages?
  • Our customers tell us, their development teams need to: Upgrade existing apps and/or bring new applications to market much faster, business executives expect they deliver new apps more rapidly and more often.They Also have to deal with a much more complex application environment-Fixing code in production is not an option. And today with SOX that is a big NO anyway.There are 3 main reasons SAAS has become so popular:First ) Speed to Market – which helps meet the requirement for quick releasesSecondly) Ease of Operational Management – You don’t always know how much you will need to scale and this model allows the ease of getting additional capacity quickly!Thirdly) Developer Productivity – The SaaS model allows developers to focus on functional requirements and not have to worry so much about infrastructure.
  • Lets look at an example of Rich Functionality of a SaaS application developed using a point and click interface – Someone told me to check out this site – I was amazed!AppExchange has over 847 Apps and 214 Services and growing
  • What are the expectations of your customers?Service levels agreements record a common understanding about services, priorities, responsibilities and guarantees between the cloud provider and ultimately the cloud user.The rich on-demand functionality in a SAAS environment also introduces multiple points of failure – (James to ask Question here)Some of the questions you need to be asking are:What happens if, for example, SalesForce.com has an issue?Are you supporting all the services?What is the agreed escalation process?What is the SLA and Who is responsible for it? What kind of Penalty is imposed if the SLA is not met? “I know of one SAAS provider who’s penalty is to give one months credit to its consumer if the SLA is not met any time during a one month period.”Not only could this become be very costly if you have repetitive issues, but you also run the risk of damaging your brand and losing customers
  • Now lets look at some of the complexities in Testing, Monitoring and Supporting service levels.According to ITIL - performance = expectations!If your site does not have acceptable performance it is essentially not usable and therefore not availableWhy speed means moneyGoogle benefits materially from fast performance. First, when it comes to search, Google discovered when its search page loads fractionally faster, users search more often, which of course leads to more opportunities for Google to place its highly lucrative text ads. Second, a faster Web application foundation means that Google's online applications for e-mail, word processing, spreadsheets, and calendars can become faster and fuller-featured"Our business does well if people are using the Web a lot and are able to use it easily and quickly," Google co-founder Sergey said.
  • What are the common performance hotspots?Today too many people just look at Data Center Latency.Connection Speeds globally can play an important role in how your application responds. What is good performance in San Francisco may not be so good in Hong Kong. How well your application is constructed plays an important role in its usability once your hosting it over the cloud(James Ask question here)For example – China imposes filtering on all internet content – if you are not testing your SaaS app from outside the firewall you will not see the geographic dependencies.Testing from outside your firewall means looking at many things that can break between a visitor and your websiteCDN’sDNSRoutersLoad BalancersServersThird-party contentClient Side scriptsBrowser-add-onsYou need a view into what the consumer of your service is experiencing – how many times do you hear “ everything looks fine in the data center” ? In this virtual environment – the health of the data center is important but today it is only a small portion of the application.You need to verify the health of all these systems, from all locations, all the time!Today there are many tools for testing applications – but not many which allows you to run free on demand tests from cities around the world. I will be talking about one such tool available from keynote later in the presentation.
  • Let’s face it – with SAAS your applications are no longer in one place!Traditional Performance management disciplines have come from an IT centric view of the world.With the Cloud, Web Services, distributed datacenters, CDN’s, advanced browser technology and mobile devices your application now lives everywhere!Estimates show that 75% of performance issues happen either in the browser or in the path to the browser.
  • To be more specific, I believe revolution of change has began with the browser and how we view it.The browser is no longer just fetching images and HTML and playing the role of a document reader. Web 1.0Web 2.0Double Click>>>Google AdSenseBritannica Online>>> WikiPediaContent management systems >>> WikisComputers >>> Mobile DevicesThe browser itself is now a platform with asynchronous execution happening on the browser side! Browsers have become full fledged application environments. Rendering, executing, initializing and transacting!How is this changing performance management? Most performance management tools were developed with the idea that that browser doesn’t matter;That most performance bottlenecks are really in the network, or in the application (at the data center). This is no longer true. A large portion of the work I do with customers is identifying and improving the delay within the browser. How the browser threads and serializes on JavaScript, or related to the initialization and rendering time of a Flash or Silverlight module. If you are going to do serious performance management, you need to understand the browser. This means new tools and new ways of understanding what is going on in this new Browser “Platform”.The Web and it’s browsers are one of the world’s biggest and most important computing platforms!
  • Cloud application performance is impacted by a number of different things!Daily business transactions, Boundaries between organizations, Rich User Interfaces – Not only are you faced with the WEB, but now you have mobile devices with a lot of diversity. An Iphone does not process data the same way a Droid or a BlackBerry does.To the Web – the World is Flat - SAAS applications are global – they have to conform to many different languages, governments, regulations, and currencies of the international users.You need to understand where the problem is happening and who’s responsibility it is to fix it.
  • Site Domains have increased from a few domains to 5-25 domains3rd party content requests have increasedPage sizes have increasedHosting locations have gone from a single location to many locationsSites now are expected to work on mobile devicesComplexity and distribution is increasing!
  • Performance, why should you measure it?What is the nor that my clients see everyday?What happens to that norm during maintenance windows or increased load?What happens when we change the site? ( and believe me it will change and change often!)What happens when one of my 3rd party domains has a glitch? Is it really my fault? Should my SLA get impacted?What should I do in the future to make my performance and availability better? How about Load test from the Internet?
  • Now lets look at some of the complexities in Testing, Monitoring and Supporting service levels.Remember today >> performance = expectations!If your site does not have acceptable performance it is essentially not usable and therefore not available
  • Methods we use today to measure the end user experienceSynthetic testing (simulating visitor requests)Real Browser Monitoring (delivers a true picture of what users are experiencing)LoadTesting from outside the firewall
  • You have to build performance in. So that means testing at every phase in the application life cycle. Test in dev, test in QA, test pre launch, test post launch, test in production. With the complexity we have discussed this testing needs to be coordinated, user centric (and browser centric) and done with tools that support the rapid development life cycle.Secondly test from the Internet or the cloud. Internal data center testing is no longer an option. I like to tell my customers who are struggling with seeing why they should test from the Internet, ….” no, only if you users or end customers aren't’ sitting in your data center”? If not, then you probably want to test where they actually live. There is no predictive model for performance of an application nor site over the Internet. You can’t approximate it. You can’t guestimate it.Thirdly test with a real browser……If the browser is now a platform….and so much is dependant on the client side processing, rending, that is happening there…you can’t test with non browser based technologies. I won’t call out names here but some of the mostly commonly used tools to do performance testing are still living in a 1990’s paradigm of request response, content and images. They are non browser based and therefore are missing in some cases 50% or more of the user experience.Finally, capture the right metrics. Lookat the right things…..the things that really impact users.It would be expensive for companies to set up and maintain dozens of their own servers in various countries and carriers.Why use an independent third party service like Keynote?Cost No setup timeViewed as impartialCan track your site against your competitorsVisibility into backbone healthNon intrusive
  • Make use of an on demand SAAS external testing service such as Keynote for Web and Mobile applications!LoadTest and monitor from the Internet!Run some of the same measurements inernaly and external for faster triage and understanding.Test from the internet during development!Use a non-biased 3rd party for testing – this adds credibility to your SLA’s!Deliver the Service you promised and which your customers expect!
  • Transcript

    1. Optimizing Web Performance for SaaS Success<br />Is it the Cloud, the App, or Just Me?<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />March 31, 2010<br />Robert Hughes <br />Global Director of Solutions Consulting<br />
    2. Our Agenda Today<br />March 31, 2010<br />2<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Monitoring& Testing<br />Getting a Cloud Perspective<br />Performance Complexities<br />Building SaaS Apps<br />Platforms, and Architecture<br />
    3. Not all cloud platforms and architectures are the same.<br />March 31, 2010<br />3<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Monitoring& Testing<br />Getting a Cloud Perspective<br />Performance Complexities<br />Building SaaS Apps<br />Platforms, and Architecture<br />
    4. Web Development Platforms<br />March 31, 2010<br />4<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Web ServicesPlatforms<br />J2EE<br />Servlet<br />JBoss<br />Tomcat<br />Struts<br />Hibernate<br />Axis<br />Spring<br />Httpd<br />PHP<br />Perl<br />OpenLDAP<br />Samples<br />Tomcat<br />Struts<br />Hibernate<br />Axis<br />Spring<br />Httpd<br />PHP<br />Perl<br />OpenLDAP<br />Samples<br />Database<br />MySQL phpMyAdminPostresqlphpPgAdmin<br />LAMP<br />Internet Plug-inPlatforms<br />Httpd<br />PHP<br />Perl<br />OpenLDAP<br />Samples<br />Stack Management<br />SpikeInstallOpenPKGSpikePKGSpikeIntegration<br />controlpanelruntime<br />ApplicationPlatforms<br />
    5. Data Center Architecture Example<br />March 31, 2010<br />5<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />100ms latency between data centers x 10 million requests per second = slow Web app<br />Google estimates that for every additional 500 milliseconds of delay, their site losses 20% of their traffic!<br />
    6. Why build an app in the cloud?<br />March 31, 2010<br />6<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Monitoring& Testing<br />Getting a Cloud Perspective<br />Performance Complexities<br />Building SaaS Apps<br />Platforms, and Architecture<br />
    7. March 31, 2010<br />7<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Speed to Market<br />Ease of Operational Management<br />They want <br />me to deliver this new app, and they want it all working in production in8 weeks! <br />Do we need to build another data center to prepare for this application toscale?<br />Developer Productivity<br />I need to spend more time on meeting functional requirements, not on infrastructure<br />readiness<br />
    8. Rich Functionality Developed Using...<br />March 31, 2010<br />8<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />…point and click interface...<br />
    9. ...But There are Multiple Points of Failure<br />March 31, 2010<br />9<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Who is responsible if a Salesforce or Google web service doesn’t work?<br />
    10. What do your customers experience?<br />March 31, 2010<br />10<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Monitoring& Testing<br />Getting a Cloud Perspective<br />Performance Complexities<br />Building SaaS Apps<br />Platforms, and Architecture<br />
    11. Performance Hotspots<br />March 31, 2010<br />11<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />DataCenter Latency<br />ConnectionSpeeds Globally<br />Application Construction<br />
    12. The End User Environment Can be an Application in Itself<br />Microsoft<br />XML<br />March 31, 2010<br />12<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />HTTPS<br />Load Balancer<br />Load Balancer<br />Load Balancer<br />StaticContent<br />Dynamic Content<br />Web<br />Server<br />Web<br />Server<br />Web<br />Server<br />App<br />Server<br />StaticContent<br />Dynamic Content<br />Web<br />Server<br />Web<br />Server<br />Web<br />Server<br />App<br />Server<br />StaticContent<br />Dynamic Content<br />Web<br />Server<br />Web<br />Server<br />Web<br />Server<br />App<br />Server<br />Storage<br />Storage<br />Storage<br />Today up to 75% of actions can<br />happen on the end user side<br />SSL<br />TCP/IP<br />DB<br />End User<br />Oracle<br />Browsers<br />XML<br />Soap<br />HTTPS<br />XML<br />Ajax<br />HTTPS<br />SSL<br />Flex<br />SSL<br />TCP/IP<br />Silver Light<br />DB<br />TCP/IP<br />Streaming<br />Local Storage<br />Salesforce.com<br />XML<br />HTTPS<br />SSL<br />TCP/IP<br />DB<br />
    13. Today the Browser is a Complex “Platform”<br />March 31, 2010<br />13<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />
    14. Cloud App Performance is Impacted by:<br />March 31, 2010<br />14<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Business Transactions<br />Rich UIs<br />Organizational<br />Boundaries<br />End Users<br />Device Diversity<br />International Users<br />
    15. What are the Challenges for Delivering SaaS?<br />Application down time: <br />Multiple software components from different vendors – failure of any single component can bring down your entire system. <br />Where is it broken?<br />Identifying what’s causing performance issues can be a challenge with customers accessing your application from different locations, at different times.<br />Lack of standards: <br />Multifaceted (multi-vendor) applications results in integration problems.<br />Cost: <br />Your providers may charge you regardless of usage – but your customers will only pay for guaranteed performance.<br />Regulation:<br />SOX compliance when changing your code requires documentation and testing.<br />March 31, 2010<br />15<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />
    16. Six Fundamental Reasons Companies Measure Performance of Their Sites<br />To establish baselines (what is normal for my site?)<br />To detect and repair errors<br />To measure the effectiveness of a change<br />Without monitoring performance before and after changes, you’ll have no idea whether things got better or worse!!! <br />Did the change make performance better?<br />To determine the impact of an outage (it is inevitable that something will break)<br />To resolve disputes with users (SLA’s)<br />To estimate how much capacity will be needed in the future (Load)<br />March 31, 2010<br />16<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />
    17. What do your customers experience?<br />March 31, 2010<br />17<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Monitoring& Testing<br />Getting a Cloud Perspective<br />Performance Complexities<br />Building SaaS Apps<br />Platforms, and Architecture<br />
    18. How Companies Measure Performance<br />March 31, 2010<br />18<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Keynote Transaction Perspective & Loadpro<br />Keynote Internet Testing<br />Environment<br />ExternalGeographicalMonitoring & <br />LoadTesting<br />Keynote Private Agent<br />High-volume InternalMonitoring<br />InteractiveTesting<br />How to Get a CloudPerspective<br />Content Testing on MobileDevices<br />UsabilityTesting<br />Keynote Mobile Device Perspective<br />Keynote Web Effective<br />BenchmarkingAgainst IndustryIndices<br />Keynote Performance Insights<br />
    19. Performance Management Best Practices<br />Test at every stage in application lifecycle – build with the user in mind<br />Test from the cloud – where your users are<br />Test with a browser – what your users use<br />Capture the right metrics – what impacts your user<br />March 31, 2010<br />19<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />
    20. Using SLA Monitoring As a Competitive Differentiator<br />External: Measure service level compliance for outsourced service/content providers and third party applications<br />Internal: Measure availability, performance and quality of service compliance delivered by Web Operations and IT teams to business stakeholders<br />Credible: Performance metrics delivered by a trusted third party source<br />March 31, 2010<br />20<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Deliver the service levels your customers expect!<br />
    21. March 31, 2010<br />21<br />© 2010 Keynote Systems, Inc. Keynote & Client Confidential.<br />Thank You!<br />How to reach me:<br />Robert Hughes<br />650 403 7438<br />Robert.hughes@keynote.com<br />http://www.linkedin.com/pub/robert-hughes/2/551/827 <br />

    ×