Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges William Adams SAP AG
Agenda What Types of Cloud Environments we are talking about Private Public Critical Performance KPI s in Cloud Environments Virtualization CPU and Memory Over commitment and Elasticity Network an essential part for Performance Cloud Environment internal Network Customer connection to the cloud Sizing and Benchmarking in the Cloud Environments Sizing SAP Applications Running Benchmarks 2014 SAP AG or an SAP affiliate company. All rights reserved. 1
What Types of Cloud Environments we are talking about
Virtualization Virtualization Is a technique used for sharing hardware resources across multiple applications Benefit: make better usage of available hardware Disadvantage: several applications compete for shared resources Server virtualization is a key enabling technology of cloud computing. All cloud solutions utilize server virtualization, whether the customer is aware of it or not. Virtualization supports all the essential characteristics of cloud computing, particularly resource pooling and rapid elasticity. 2014 SAP AG or an SAP affiliate company. All rights reserved. 3
Types of Cloud Environments Private Cloud Generally two types of private cloud. 1 st Private managed cloud a cloud provided to an enterprise by a third party. 2 nd Private internal cloud a cloud contained entirely within an enterprise. Hardware is under control of the Customer, i.e. the physical infrastructure is not shared among multiple customers. Each customer has dedicated infrastructure. Can be accessed company internal. Normally Virtualization is in use. Benefit: Better usage of shared resources, more cost effective Disadvantage: Hardware owned by customer (costs) Public Cloud Hardware is located via the Cloud Provider which can be accessed from anywhere. Totally operated by Cloud provider. Everything provided by the vendor is shared among multiple customers. Virtualization is always used Benefit: No local admin costs, computing power on demand, cheap Disadvantage: Almost no customer specified requirements can be addressed. Competition for shared resources with other customers. 2014 SAP AG or an SAP affiliate company. All rights reserved. 4
Critical Performance KPI s in Cloud Environments
Application response time components Web Server(s) Application Server Application Server(s) Persistence/Database t[1] t[2] t[3] t[4] t[5] t[6] t[7] Typical response times for browser based applications Frontend rendering t[1]: ~300ms Network t[2]: ~300ms 7 Backend t[i]: ~300ms i=3 Network time (Network latency) is still an issue Reduce network time by compression and WAN accelerators 2014 SAP AG or an SAP affiliate company. All rights reserved. 6
Some Key Performance Indicators CPU Disk size Disk I/O Memory Front-end Network Load Processing times of business transactions or tasks Cost factor: Number and processing power of servers Data that resides on the database File read and write activity to storage Cost factors Backup/recovery depends on size of database Storage capacity Allocated to a user or background process Garbage collection, acceleration, planning capabilities, buffers, caches Cost factor: Physical memory slots Transferred amount of data Network time and roundtrips Cost factor: Leasing bandwidth 2014 SAP AG or an SAP affiliate company. All rights reserved. 7
Critical Performance KPI s in Cloud Environments The Performance critical KPI s in a cloud Environment (Virtualization in Place) CPU CPU is a shared resource. All Software competes for the CPU CPU Assignment (CPU, Cores, Threads) is handled by Virtualization Controller and can often not be influenced by Customer (Cloud Provider dependent) The Assignment can have a big performance impact, as we know from virtualization Memory Memory is a shared resource. All Software competes for the Memory In our Measurements this was less important than CPU and can be solved by having enough Memory Disk (Space and I/O Rates) As in most virtualized environment Disk Space is NOT locally, we have to deal with NAS (Network Added Storage) Devices Disk Space is due to the fact we use big Filers not really a Problem As network is a critical shared resource anyway (see below), Disk I/O is a very critical issue in cloud environments 2014 SAP AG or an SAP affiliate company. All rights reserved. 8
Over commitment and Elasticity The Cloud Provider use Over commitment for optimal usage of the existing hardware resources Benefit: Optimal Usage guarantees cost effective service offering Disadvantage: In some cases there are really more user than the Hardware can serve. This leads to worse Application response time. Elasticity is a cloud specialty to optimal use existing hardware resources Benefit: Automatically adding or removing Computing Power to adapt to current Application requirements Disadvantage: The Application is forced to adapt to the new situation. This will cause e.g., Buffer displacement, System restarts. Data has to be reloaded from the Database, which leads to worse Application Response times. 2014 SAP AG or an SAP affiliate company. All rights reserved. 9
Critical Performance KPI s in Cloud Environments Network is beside CPU the most critical Performance issue in cloud environments Network Bandwidth The amount of data being transferred is critical Applications should avoid transferring large amount of data to the frontend Network Round-trips The low level TCP round-trip time depends upon the amount of network hops (nodes) and the latency (time for signal going from point a to point b ) between these nodes. Network Latency is currently the most significant factor in poor response times while using WAN (Wide Area Networks). Different protocols such as http, RFC, SOAP, etc. as well as SSO (Single Sign-On) and other techniques, create more or less low level TCP round-trips. Therefore not only the application itself but also the used protocol influences the application response time. The more round-trips the worse the application response time Remote Office Remote Office Data Center Remote Office Remote Office Remote Office 2014 SAP AG or an SAP affiliate company. All rights reserved. 10
Impact of Latency on E2E Response Times E2E response time measurements of user interaction steps, using a WAN simulation Number of network round-trips of a user interaction step drives the increase of the network time 4 round-trips: User Logon 2 round-trips: SO OWL (Object Work List), New SO 1 round-trip: Work Center SO, Sold2Party, Add Row, Line Item, Save 2014 SAP AG or an SAP affiliate company. All rights reserved. 11
Latency Measurements between Walldorf and Example: All measurements where done using SAP network lines The packet size for latency measurements was approx. 100 bytes (the minimum possible). Based on a statistical evaluation you can roughly multiply the network latency time (single trip from a to b) by a factor of 8 per https request and add this to the application server response time in order to calculate the E2E response times. This is good only when the line is stable and you do not lose any packets. Customers can choose different bandwidths, but NOT latency! 2014 SAP AG or an SAP affiliate company. All rights reserved. 12
Network an essential part for Performance
Network in Cloud Environments Networking is very critical for successfully running Software in Cloud Environments. There are two aspects of the network Network within the Cloud Environment How are the instances clued together? How is Disk Storage connected? How are the Administrating parts done (backup, restore, deployment etc.)? Connecting the Customer to the Cloud Environment How does the Customer / User connect to the Application? What type of protocols (http, SAP NI, etc.) are used for the connection? Is there a dedicated VPN (Virtual Private Network) in use? Is the Public Internet used? 2014 SAP AG or an SAP affiliate company. All rights reserved. 14
Network within the Cloud Environment The Cloud Environment internal Network is used for Connecting the instances themself. Inter Application specific traffic is using these channel Admin the instance, like deploy Software, do backup etc. Connecting the Disk Storage to the Instance Customer can often not influence any of the Network Services Performance Impacts Erratic Performance as everybody is competing for the shared resource network SLA for network is not yet available for customers. This might help to prioritize the traffic and therefore provide better application response time. NIC (Network Interface Card) can become bottleneck, esp. with heavy File I/O File I/O very unstable and especially with critical Database Software a performance killer The Filer Itself is also often a shared resource and a lot of the mentioned issues also apply to the Filer as well. 2014 SAP AG or an SAP affiliate company. All rights reserved. 15
Connecting the Customer to the Cloud Environment The type of connection the customer uses to connect to the Cloud Environment is performance critical Using VPN Network with dedicated lines is better but more cost intensive Using the Internet is very common but includes some critical issues The Network route via the Internet is unpredictable (amount of hops High Latency) The route may change from time to time, which leads to different Response times which is hard to analyze Customer can hardly influence which route to use Accessing the Application from different locations worldwide provide different Application Response times Network provider can not offer an end to end SLA for Network connections using the Internet No SLA for Application response time There are different techniques available to improve this behavior (WAN Network Accelerator like AccAD, Akamai, Riverbed, etc.) These can help but also there is no guarantee 2014 SAP AG or an SAP affiliate company. All rights reserved. 16
Unpredictable Response Times Factors which make Cloud Environment so well accepted (cost effective) Overbooking / Over commitment of Hardware resources Short Term availability You pay only while you use the Infrastructure Can be easily extended Elasticity Availability everywhere and anywhere leads to more or less unpredictable Application response times Response time Windows e.g., 2-6 Sec instead of static one Response time dependent from other factors not under customer control (e.g., Christmas business, everybody competes for existing hardware resources) SLA s can improve this situation, customers can demand this for higher costs Higher Risk for more flexible and cost effective Cloud Infrastructure Customer will / can accept for some business / application. We have to make this transparent. Applications can be optimized to deal better with this circumstance 2014 SAP AG or an SAP affiliate company. All rights reserved. 17
Low Total-Cost-of-Operations versus Excellent Performance Virtualization and Over-commitment of resources Power saving technologies Erratic response times New Challenges Copy on demand or lazy copy 2014 SAP AG or an SAP affiliate company. All rights reserved. 18
Performance Monitoring and Analysis Performance Monitoring is a big challenge Monitoring in virtualized Environments Hard do see resource over commitment Logging only sees local instance data, not whole environment Monitoring is/will being included in SAP System Monitoring Currently not all KPI s can already be accessed, concept is available and will be implemented over time Monitoring partly with Cloud provider specific tools possible Performance Analysis Due to the fact that monitoring is critical, analysis is critical as well Internet Network Analysis almost impossible. We will implement own Network counters in SAP Frontends to measure the Network time, however analyzing there the time is spent is very costly 2014 SAP AG or an SAP affiliate company. All rights reserved. 19
What can you? What can a Developer do, to get the best Performance for the Application? Make use of the Performance Standard programming Guidelines Especially take care about the Network Issues (transfer less data and very important avoid any unnecessary round-trips. Try simulating slow Networks and see how your Application behaves Avoid synchronous Calls to other Systems, as these Systems can be in a Cloud as well Always assume the worst case. Performance in the Cloud does vary. Can your application deal with this? Adapt and Test Application in Cloud Environment What is already done to make sure SAP Customer can run Software successfully in a cloud? There is a Cloud provider Certification Process in which all known aspects are evaluated. The Cloud provider has to fulfill requirements before SAP Software is released for their Cloud Environment. There are also SLA s which must be fulfilled. 2014 SAP AG or an SAP affiliate company. All rights reserved. 20
Sizing and Benchmarking in the Cloud Environments
Sizing and Benchmarking in Cloud Environments Sizing SAP Applications in Cloud Environments The standard procedures for sizing SAP Applications are also valid for Cloud Environments There is a note for cloud provider specific issues (like specific system setup, etc.) available SAP Note 1380654 SAP support in cloud environments A list of the "Cloud Services Providers" who are certified by SAP is available at: http://www.sap.com/partners/partnerwithsap/cloud-services/index.epx Benchmarks The SAP Standard Application Benchmarks can be used Currently there are results for SAP SD available, others are in progress Further Information's can be found here: SAP Standard Benchmarks - www.sap.com/benchmark 2014 SAP AG or an SAP affiliate company. All rights reserved. 22
Sizing and Benchmarking in Cloud Environments 2014 SAP AG or an SAP affiliate company. All rights reserved. 23
Thank you Contact information: William Adams Performance and Scalability Group - SAP AG william.adams@sap.com 2014 SAP AG or an SAP affiliate company. All rights reserved.
2014 SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP AG or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP AG s or its affiliated companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. 2014 SAP AG or an SAP affiliate company. All rights reserved. 25