SlideShare a Scribd company logo
1 of 18
Download to read offline
602: INTO THE WILD
THE CHALLENGES OF CUSTOMIZED
SHAREPOINT APPS IN RELEASE




SPTechCon
2009-01-29, dynaTrace software Inc
Andreas Grabner, andreas.grabner@dynatrace.com
Technology Strategist
Agenda

    This class will examine the real-world challenges of
    customized SharePoint applications when they are
    released “into the wild.” We will consider why such
    applications almost always work on the developer's
    machine—and why they often fail in production. Web
    parts and lists are the main focus in this advanced
    class




                                                           © 2008 dynaTrace software GmbH
    LOTS OF DEMOS!!




2                                                          2
Why do we end up with performance problems?

    TOO MUCH data is requested
    Data is REQUESTED in an INEFFICIENT way
    INEFFICIENT use of RESOURCES
    INEFFICIENT data RENDERING
    NEVER TESTED with REAL WORLD data




                                              © 2008 dynaTrace software GmbH
    NEVER TESTED UNDER LOAD




3                                             3
TOO MUCH data is requested

    SharePoint Lists
    • Only display the data that the user really needs to see
        • Limit the number of rows that are displayed in the ListWebPart
        • Use Views to limit the number of columns that are displayed
    • Use alternative WebParts
        • Sometimes the ListWebView is not the right way to go
    • Check the size of returned html page
        • Consider the overhead on the network/browser rendering time




                                                                           © 2008 dynaTrace software GmbH
4                                                                          4
TOO MUCH data is requested

      Optimize Lists based on Usage
        • Analyze Usage of Lists & Views and optimize on slowest
          performing
    Analyze usage and performance of all lists in SharePoint   Analyze usage and performance of all views in SharePoint




                                                                                                                          © 2008 dynaTrace software GmbH
5                                                                                                                         5
TOO MUCH data is requested

      Custom Web Parts
        • Accessing Data via SharePoint Object Model
              • Understand what is going on when accessing Data via API
              • Use SPQuery‘s to access only the data you need to display
        • Cache Data
              • Think about caching data that doesn‘t change frequently

    Analyze where WebParts spend their time and how they access the data   Analyze where most of the time is spent




                                                                                                                     © 2008 dynaTrace software GmbH
6                                                                                                                    6
TOO MUCH data is requested



                    DEMO
    How to analyze current list usage behavior?
    How to analyze WebPart data access?
    Comparing Performance Impact when changing Views




                                                       © 2008 dynaTrace software GmbH
7                                                      7
Data is REQUESTED in an INEFFICIENT way

    SharePoint Object Model
    •    DO NOT iterate through all items in the list
    •    DO NOT access the Items property multiple times
    •    AVOID using the Count property
    •    Use CAML Queries and SPQuery‘s to select certain data
                                 SPQuery‘
    •    Use the RowLimit and ListItemCollectionPosition Feature of SPQuery

    Example: Query the Product Name of a certain Product identified by the Product ID
    DO NOT
    String productName = productList.Items.GetItemById(“1234“)[“ProductName“].ToString();




                                                                                                    © 2008 dynaTrace software GmbH
    DO
    String productName = productList. GetItemById(“1234“)[“ProductName“].ToString();

    or DO
    SPQuery query = new SPQuery();
    query.Query = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>1234</Value></Eq></Where>";
    String productName = productList.GetItems(query)[0][“ProductName“].ToString();
    DO BEST
    query.ViewFields = “<FieldRef Name=‘ProductName‘/>“;
8                                                                                                   8
Data is REQUESTED in an INEFFICIENT way



                   DEMO
    Whats going on „under the hood“ when using the
    SharePoint Object Model?
    How to improve SharePoint Data Access?




                                                     © 2008 dynaTrace software GmbH
9                                                    9
INEFFICIENT use of RESOURCES

     SharePoint Object Model
     • SPSite and SPWeb hold references to native COM objects
     • Release SPSite & SPWeb in order to free native resources
     • Querying too much data results in high memory usage
     Reference
     • SPDisposeCheck tool
       http://blogs.msdn.com/sharepoint/archive/2008/11/12/an
       nouncing-spdisposecheck-tool-for-sharepoint-
       developers.aspx




                                                                   © 2008 dynaTrace software GmbH
     • http://msdn.microsoft.com/en-us/library/bb687949.aspx
     • http://msdn2.microsoft.com/en-
       us/library/aa973248.aspx#sharepointobjmodel_otherobject
       sthatrequire-disposal

10                                                                10
INEFFICIENT use of RESOURCES

     Monitor resources
      •   Monitor Memory
      •   Monitor Database connections
      •   Monitor „critical“ SharePoint objects (SPSite, SPWeb)
      •   Identify leaking responsible WebParts

                                                 Identify „leaking“ object instances
Monitor SharePoint Memory -> Growing Heap?




                                                                                         © 2008 dynaTrace software GmbH
                                                 Identify who allocates those objects




11                                                                                      11
Data is REQUESTED in an INEFFICIENT way



                     DEMO
     How to identify a SPSite/SPWeb Resource Leak?
     How to identify resource intensive WebParts?
     How to monitor SharePoint Memory Issues down to




                                                        © 2008 dynaTrace software GmbH
     the Object Model‘s Data Access classes?




12                                                     12
INEFFICIENT data RENDERING

     How to render data
     • StringBuilder vs. String concatenations
     • Use HtmlTextWriter for custom WebParts

     How to access data
     • Follow the rules discussed earlier

     Size matters
     • Minimize generated HTML




                                                                     © 2008 dynaTrace software GmbH
     • Use style sheets instead of inline style definitions
     • Enable content compression in IIS
        • http://planetmoss.blogspot.com/2007/06/dont-forget-iis-
          compression-colleague.html


13                                                                  13
INEFFICIENT data RENDERING

     Steps to do
     • Analyze slow pages with tools like YSlow
     • Analyze network infrastructure. Compare server side times
       vs. Client side times
     Analyze Page Size Statistics   Analyze individual page objects




                                                                       © 2008 dynaTrace software GmbH
14                                                                    14
NEVER TESTED with REAL WORLD data

     Importance of Test Data
     •   10 records in a table are not enough
     •   Invest time to generate Test Data
     •   „Random“ data is good -> „Realistic“ data is best
     •   Test Data must be used by developers
     •   Many data access problems can be identified on the developers
         machine with appropriate test data
     Problems that can be identified
     •   Performance problems for data retrieval
     •   Index problems
     •   Memory issues




                                                                            © 2008 dynaTrace software GmbH
     •   Resource bottlenecks
     Resources
     • http://www.sharepointblogs.com/ethan/archive/2007/09/27/generatin
       g-test-data.aspx
     • http://www.idevfactory.com/
     • http://www.codeplex.com/sptdatapop

15                                                                         15
NEVER TESTED UNDER LOAD

     Importance of Load Testing
     • Small load tests already on developers machine
     • Test as early as possible
     • Test main use case scenarios

     Visual Studio Team System for Tester
     • Pre-configured Web&Load Tests from the SharePoint Team
     • dynaTrace Integration with VSTS to analyze performance and
       scalability issues




                                                                     © 2008 dynaTrace software GmbH
     Resources
     • http://www.codeplex.com/sptdatapop


16                                                                  16
NEVER TESTED UNDER LOAD



                     DEMO
     Load Testing SharePoint with Visual Studio Team
     System




                                                        © 2008 dynaTrace software GmbH
17                                                     17
Contact me for follow up

     Andreas Grabner
     Mail: andreas.grabner@dynatrace.com
     Blog: http://blog.dynatrace.com
     Web: http://www.dynatrace.com




                                            © 2008 dynaTrace software GmbH
18                                         18

More Related Content

What's hot

5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended Events5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended EventsJason Strate
 
Data Vault Automation at the Bijenkorf
Data Vault Automation at the BijenkorfData Vault Automation at the Bijenkorf
Data Vault Automation at the BijenkorfRob Winters
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarRTTS
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseDataWorks Summit
 
Accelerate Big Data Application Development with Cascading
Accelerate Big Data Application Development with CascadingAccelerate Big Data Application Development with Cascading
Accelerate Big Data Application Development with CascadingCascading
 
Embed Interactive Reports in Your Apps
Embed Interactive Reports in Your AppsEmbed Interactive Reports in Your Apps
Embed Interactive Reports in Your AppsTeo Lachev
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...Data Con LA
 
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAmazon Web Services
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lakeJames Serra
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookAmr Awadallah
 
Dipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsDipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsBob Pusateri
 
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...BIWUG
 
Whitepaper: Volume Testing Thick Clients and Databases
Whitepaper:  Volume Testing Thick Clients and DatabasesWhitepaper:  Volume Testing Thick Clients and Databases
Whitepaper: Volume Testing Thick Clients and DatabasesRTTS
 
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
 Webinar - QuerySurge and Azure DevOps in the Azure Cloud Webinar - QuerySurge and Azure DevOps in the Azure Cloud
Webinar - QuerySurge and Azure DevOps in the Azure CloudRTTS
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!Ben Steinhauser
 
Cloudian 451-hortonworks - webinar
Cloudian 451-hortonworks - webinarCloudian 451-hortonworks - webinar
Cloudian 451-hortonworks - webinarHortonworks
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's includedJames Serra
 

What's hot (20)

5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended Events5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended Events
 
Data Lake
Data LakeData Lake
Data Lake
 
Data Vault Automation at the Bijenkorf
Data Vault Automation at the BijenkorfData Vault Automation at the Bijenkorf
Data Vault Automation at the Bijenkorf
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing Webinar
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data Warehouse
 
Accelerate Big Data Application Development with Cascading
Accelerate Big Data Application Development with CascadingAccelerate Big Data Application Development with Cascading
Accelerate Big Data Application Development with Cascading
 
Embed Interactive Reports in Your Apps
Embed Interactive Reports in Your AppsEmbed Interactive Reports in Your Apps
Embed Interactive Reports in Your Apps
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...
Data Con LA 2018 - A tale of two BI standards: Data warehouses and data lakes...
 
SharePoint Performance
SharePoint PerformanceSharePoint Performance
SharePoint Performance
 
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lake
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
 
Dipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsDipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAs
 
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
 
Whitepaper: Volume Testing Thick Clients and Databases
Whitepaper:  Volume Testing Thick Clients and DatabasesWhitepaper:  Volume Testing Thick Clients and Databases
Whitepaper: Volume Testing Thick Clients and Databases
 
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
 Webinar - QuerySurge and Azure DevOps in the Azure Cloud Webinar - QuerySurge and Azure DevOps in the Azure Cloud
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
 
Cloudian 451-hortonworks - webinar
Cloudian 451-hortonworks - webinarCloudian 451-hortonworks - webinar
Cloudian 451-hortonworks - webinar
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included
 

Viewers also liked

Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Minh Nghĩa Trần
 
Campus Perspectives on OpenRegistry
Campus Perspectives on OpenRegistryCampus Perspectives on OpenRegistry
Campus Perspectives on OpenRegistryJeremy Rosenberg
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabusProfWillAdams
 
"Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism""Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism"Jerrie Kee
 
Оценка персонала
Оценка персоналаОценка персонала
Оценка персоналаNatali Starginskay
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsAndreas Grabner
 
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...ArthritisNT
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJAX London
 
2006 Spring Newsletter
2006 Spring Newsletter2006 Spring Newsletter
2006 Spring NewsletterDirect Relief
 
8 instrumento autoeficacia grupo 8
8   instrumento autoeficacia  grupo 88   instrumento autoeficacia  grupo 8
8 instrumento autoeficacia grupo 8Luis Aracas
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer NewsletterDirect Relief
 
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...Essential Mobile Design: Interface Principles and Best Practices for iOS, And...
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...Qubop Inc.
 

Viewers also liked (20)

Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự
 
2010 Fall Newsletter
2010 Fall Newsletter2010 Fall Newsletter
2010 Fall Newsletter
 
Campus Perspectives on OpenRegistry
Campus Perspectives on OpenRegistryCampus Perspectives on OpenRegistry
Campus Perspectives on OpenRegistry
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabus
 
Websurvey
WebsurveyWebsurvey
Websurvey
 
"Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism""Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism"
 
Pembenahan perpajakan
Pembenahan perpajakanPembenahan perpajakan
Pembenahan perpajakan
 
Autismo
AutismoAutismo
Autismo
 
Comrades
ComradesComrades
Comrades
 
Оценка персонала
Оценка персоналаОценка персонала
Оценка персонала
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance Tips
 
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
Tsahim 3
Tsahim 3Tsahim 3
Tsahim 3
 
Bidnii hvns
Bidnii hvnsBidnii hvns
Bidnii hvns
 
2006 Spring Newsletter
2006 Spring Newsletter2006 Spring Newsletter
2006 Spring Newsletter
 
Fall newsletter-2008
Fall newsletter-2008Fall newsletter-2008
Fall newsletter-2008
 
8 instrumento autoeficacia grupo 8
8   instrumento autoeficacia  grupo 88   instrumento autoeficacia  grupo 8
8 instrumento autoeficacia grupo 8
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer Newsletter
 
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...Essential Mobile Design: Interface Principles and Best Practices for iOS, And...
Essential Mobile Design: Interface Principles and Best Practices for iOS, And...
 

Similar to SharePoint TechCon 2009 - 602

Serverless Datalake Day with AWS
Serverless Datalake Day with AWSServerless Datalake Day with AWS
Serverless Datalake Day with AWSAmazon Web Services
 
Workshop: Architecting a Serverless Data Lake
Workshop: Architecting a Serverless Data LakeWorkshop: Architecting a Serverless Data Lake
Workshop: Architecting a Serverless Data LakeAmazon Web Services
 
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineeringThang Bui (Bob)
 
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...Zaloni
 
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...Joel Oleson
 
Intuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with SearchIntuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with SearchCloudera, Inc.
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...DataStax Academy
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)James Serra
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
Webinar share point performance feb2016 slideshare
Webinar share point performance feb2016 slideshareWebinar share point performance feb2016 slideshare
Webinar share point performance feb2016 slideshareDynatrace
 
Unlocking the Power of the Data Lake
Unlocking the Power of the Data LakeUnlocking the Power of the Data Lake
Unlocking the Power of the Data LakeArcadia Data
 
Fueling AI & Machine Learning: Legacy Data as a Competitive Advantage
Fueling AI & Machine Learning: Legacy Data as a Competitive AdvantageFueling AI & Machine Learning: Legacy Data as a Competitive Advantage
Fueling AI & Machine Learning: Legacy Data as a Competitive AdvantagePrecisely
 
Strata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma PresentationStrata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma PresentationZaloni
 
Adobe Spark Meetup - 9/19/2018 - San Jose, CA
Adobe Spark Meetup - 9/19/2018 - San Jose, CAAdobe Spark Meetup - 9/19/2018 - San Jose, CA
Adobe Spark Meetup - 9/19/2018 - San Jose, CAJaemi Bremner
 
Big and fast data strategy 2017 jr
Big and fast data strategy 2017 jrBig and fast data strategy 2017 jr
Big and fast data strategy 2017 jrJonathan Raspaud
 
Building_a_Modern_Data_Platform_in_the_Cloud.pdf
Building_a_Modern_Data_Platform_in_the_Cloud.pdfBuilding_a_Modern_Data_Platform_in_the_Cloud.pdf
Building_a_Modern_Data_Platform_in_the_Cloud.pdfAmazon Web Services
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
IBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lakeIBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lakeTorsten Steinbach
 

Similar to SharePoint TechCon 2009 - 602 (20)

(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
 
Serverless Datalake Day with AWS
Serverless Datalake Day with AWSServerless Datalake Day with AWS
Serverless Datalake Day with AWS
 
Workshop: Architecting a Serverless Data Lake
Workshop: Architecting a Serverless Data LakeWorkshop: Architecting a Serverless Data Lake
Workshop: Architecting a Serverless Data Lake
 
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineering
 
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...
Building a Modern Data Architecture by Ben Sharma at Strata + Hadoop World Sa...
 
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
 
Semantic Web For Dummies
Semantic Web For DummiesSemantic Web For Dummies
Semantic Web For Dummies
 
Intuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with SearchIntuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with Search
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Webinar share point performance feb2016 slideshare
Webinar share point performance feb2016 slideshareWebinar share point performance feb2016 slideshare
Webinar share point performance feb2016 slideshare
 
Unlocking the Power of the Data Lake
Unlocking the Power of the Data LakeUnlocking the Power of the Data Lake
Unlocking the Power of the Data Lake
 
Fueling AI & Machine Learning: Legacy Data as a Competitive Advantage
Fueling AI & Machine Learning: Legacy Data as a Competitive AdvantageFueling AI & Machine Learning: Legacy Data as a Competitive Advantage
Fueling AI & Machine Learning: Legacy Data as a Competitive Advantage
 
Strata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma PresentationStrata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma Presentation
 
Adobe Spark Meetup - 9/19/2018 - San Jose, CA
Adobe Spark Meetup - 9/19/2018 - San Jose, CAAdobe Spark Meetup - 9/19/2018 - San Jose, CA
Adobe Spark Meetup - 9/19/2018 - San Jose, CA
 
Big and fast data strategy 2017 jr
Big and fast data strategy 2017 jrBig and fast data strategy 2017 jr
Big and fast data strategy 2017 jr
 
Building_a_Modern_Data_Platform_in_the_Cloud.pdf
Building_a_Modern_Data_Platform_in_the_Cloud.pdfBuilding_a_Modern_Data_Platform_in_the_Cloud.pdf
Building_a_Modern_Data_Platform_in_the_Cloud.pdf
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
IBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lakeIBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lake
 

More from Andreas Grabner

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionAndreas Grabner
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareAndreas Grabner
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAndreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnAndreas Grabner
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sAndreas Grabner
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sAndreas Grabner
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesAndreas Grabner
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingAndreas Grabner
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAndreas Grabner
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceAndreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowAndreas Grabner
 

More from Andreas Grabner (20)

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with Keptn
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking Software
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8s
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps Toolchain
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environments
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with Dynatrace
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

SharePoint TechCon 2009 - 602

  • 1. 602: INTO THE WILD THE CHALLENGES OF CUSTOMIZED SHAREPOINT APPS IN RELEASE SPTechCon 2009-01-29, dynaTrace software Inc Andreas Grabner, andreas.grabner@dynatrace.com Technology Strategist
  • 2. Agenda This class will examine the real-world challenges of customized SharePoint applications when they are released “into the wild.” We will consider why such applications almost always work on the developer's machine—and why they often fail in production. Web parts and lists are the main focus in this advanced class © 2008 dynaTrace software GmbH LOTS OF DEMOS!! 2 2
  • 3. Why do we end up with performance problems? TOO MUCH data is requested Data is REQUESTED in an INEFFICIENT way INEFFICIENT use of RESOURCES INEFFICIENT data RENDERING NEVER TESTED with REAL WORLD data © 2008 dynaTrace software GmbH NEVER TESTED UNDER LOAD 3 3
  • 4. TOO MUCH data is requested SharePoint Lists • Only display the data that the user really needs to see • Limit the number of rows that are displayed in the ListWebPart • Use Views to limit the number of columns that are displayed • Use alternative WebParts • Sometimes the ListWebView is not the right way to go • Check the size of returned html page • Consider the overhead on the network/browser rendering time © 2008 dynaTrace software GmbH 4 4
  • 5. TOO MUCH data is requested Optimize Lists based on Usage • Analyze Usage of Lists & Views and optimize on slowest performing Analyze usage and performance of all lists in SharePoint Analyze usage and performance of all views in SharePoint © 2008 dynaTrace software GmbH 5 5
  • 6. TOO MUCH data is requested Custom Web Parts • Accessing Data via SharePoint Object Model • Understand what is going on when accessing Data via API • Use SPQuery‘s to access only the data you need to display • Cache Data • Think about caching data that doesn‘t change frequently Analyze where WebParts spend their time and how they access the data Analyze where most of the time is spent © 2008 dynaTrace software GmbH 6 6
  • 7. TOO MUCH data is requested DEMO How to analyze current list usage behavior? How to analyze WebPart data access? Comparing Performance Impact when changing Views © 2008 dynaTrace software GmbH 7 7
  • 8. Data is REQUESTED in an INEFFICIENT way SharePoint Object Model • DO NOT iterate through all items in the list • DO NOT access the Items property multiple times • AVOID using the Count property • Use CAML Queries and SPQuery‘s to select certain data SPQuery‘ • Use the RowLimit and ListItemCollectionPosition Feature of SPQuery Example: Query the Product Name of a certain Product identified by the Product ID DO NOT String productName = productList.Items.GetItemById(“1234“)[“ProductName“].ToString(); © 2008 dynaTrace software GmbH DO String productName = productList. GetItemById(“1234“)[“ProductName“].ToString(); or DO SPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>1234</Value></Eq></Where>"; String productName = productList.GetItems(query)[0][“ProductName“].ToString(); DO BEST query.ViewFields = “<FieldRef Name=‘ProductName‘/>“; 8 8
  • 9. Data is REQUESTED in an INEFFICIENT way DEMO Whats going on „under the hood“ when using the SharePoint Object Model? How to improve SharePoint Data Access? © 2008 dynaTrace software GmbH 9 9
  • 10. INEFFICIENT use of RESOURCES SharePoint Object Model • SPSite and SPWeb hold references to native COM objects • Release SPSite & SPWeb in order to free native resources • Querying too much data results in high memory usage Reference • SPDisposeCheck tool http://blogs.msdn.com/sharepoint/archive/2008/11/12/an nouncing-spdisposecheck-tool-for-sharepoint- developers.aspx © 2008 dynaTrace software GmbH • http://msdn.microsoft.com/en-us/library/bb687949.aspx • http://msdn2.microsoft.com/en- us/library/aa973248.aspx#sharepointobjmodel_otherobject sthatrequire-disposal 10 10
  • 11. INEFFICIENT use of RESOURCES Monitor resources • Monitor Memory • Monitor Database connections • Monitor „critical“ SharePoint objects (SPSite, SPWeb) • Identify leaking responsible WebParts Identify „leaking“ object instances Monitor SharePoint Memory -> Growing Heap? © 2008 dynaTrace software GmbH Identify who allocates those objects 11 11
  • 12. Data is REQUESTED in an INEFFICIENT way DEMO How to identify a SPSite/SPWeb Resource Leak? How to identify resource intensive WebParts? How to monitor SharePoint Memory Issues down to © 2008 dynaTrace software GmbH the Object Model‘s Data Access classes? 12 12
  • 13. INEFFICIENT data RENDERING How to render data • StringBuilder vs. String concatenations • Use HtmlTextWriter for custom WebParts How to access data • Follow the rules discussed earlier Size matters • Minimize generated HTML © 2008 dynaTrace software GmbH • Use style sheets instead of inline style definitions • Enable content compression in IIS • http://planetmoss.blogspot.com/2007/06/dont-forget-iis- compression-colleague.html 13 13
  • 14. INEFFICIENT data RENDERING Steps to do • Analyze slow pages with tools like YSlow • Analyze network infrastructure. Compare server side times vs. Client side times Analyze Page Size Statistics Analyze individual page objects © 2008 dynaTrace software GmbH 14 14
  • 15. NEVER TESTED with REAL WORLD data Importance of Test Data • 10 records in a table are not enough • Invest time to generate Test Data • „Random“ data is good -> „Realistic“ data is best • Test Data must be used by developers • Many data access problems can be identified on the developers machine with appropriate test data Problems that can be identified • Performance problems for data retrieval • Index problems • Memory issues © 2008 dynaTrace software GmbH • Resource bottlenecks Resources • http://www.sharepointblogs.com/ethan/archive/2007/09/27/generatin g-test-data.aspx • http://www.idevfactory.com/ • http://www.codeplex.com/sptdatapop 15 15
  • 16. NEVER TESTED UNDER LOAD Importance of Load Testing • Small load tests already on developers machine • Test as early as possible • Test main use case scenarios Visual Studio Team System for Tester • Pre-configured Web&Load Tests from the SharePoint Team • dynaTrace Integration with VSTS to analyze performance and scalability issues © 2008 dynaTrace software GmbH Resources • http://www.codeplex.com/sptdatapop 16 16
  • 17. NEVER TESTED UNDER LOAD DEMO Load Testing SharePoint with Visual Studio Team System © 2008 dynaTrace software GmbH 17 17
  • 18. Contact me for follow up Andreas Grabner Mail: andreas.grabner@dynatrace.com Blog: http://blog.dynatrace.com Web: http://www.dynatrace.com © 2008 dynaTrace software GmbH 18 18