Introduction to Performance Engineering in Cloud:
Performance Engineering is a collection of techniques that helps us to understand how system is operating. Performance Engineering covers the full life cycle of a system.
In Cloud many aspects of traditional software systems to be ignored and allows scaling and growth of a system to take place automatically. We will be in to real danger if we will not consider regarding the special characteristics of cloud and evaluating the best possible methods that are needed for Cloud success.
Importance of Performance Engineering in Cloud:
Due to versatile demands of the current market, Complexity and the dynamic nature of applications Performance Engineering in Cloud has become a challenging task.
In today’s world, each second matters for business success (milliseconds means millions). If a website goes down for some time, everyone will opt for alternative websites to buy the same product. Maintaining good performance is very much important in cloud era. When application performance is good, business works well.
Performance Engineering plays a key role in maintaining business SLA’S with partners, clients, end users and consumers to Keep them happy. Performance issues may lead to business and revenue loss if not taken care properly.
Introduction to SAP S4HANA:
- SAP S/4HANA is the next-generation business suite
- Built on advanced in-memory platform
- SAP Fiori user experience (UX)
- Delivers massive simplifications and innovations
- Runs simple
Comparison of Traditional Servers (ex: On premise) vs cloud:
|Onpremise or Hosted||Public, Private or Hybrid clouds|
|We can ignore certain aspects such as network latency and behavior of network infrastructure||Network latency and network infrastructure Plays a key role|
|Customer will have control on physical resources||Physical resources are shared except in some cases for private clouds|
|Focus on performance or capacity with a good degree of accuracy and highlight the main performance bottleneck||Measure up to the actual replica of the geographical distribution of users and their behaviour|
Performance Challenges in Cloud:
- Performance Monitoring:
In Cloud Security plays a key role. Performance monitoring and analysis techniques to be developed such that performance metrics can be easily obtained, analyzed and understood in the context of these Cloud technologies.
It should store monitoring data from large numbers of customers systems. This in itself will provide opportunities in terms of data analytics
- Resource utilization:
It is Important to measure the resource utilization in Cloud in an automated manner such that performance utilization metrics can be collected efficiently. It gives a view on how well hardware is getting utilized when we have different workloads is a major challenge in cloud. This understanding is very much required to maximize the efficiency in Cloud. Research is needed to have the utilization analysis of different workloads in Cloud. Such analysis can be taken as input to maximize the system utilization, Balance workloads.
- Root cause of performance bottle neck:
In cloud identifying Performance bottle neck is not straight forward due to complexity. So we have to understand the complete architecture in order to find out the root cause. As Cloud works with internet, Bandwidth and network latency plays a crucial role.
Performance monitoring should be there all the time in cloud environment. Whenever there is a issue during peak interval i.e. (More concurrent users log in happens suddenly), We will analyze during the time interval and see what could be the possible reasons by having different traces in place.
- Wide Area Network (WAN) provides data communication between company and the cloud services provider, which is needed to test end-to-end service.
- Datacenter infrastructure provides the efficient use of resources to ensure service efficiency.
- Monitoring infrastructure in the datacenter is the basis for service assurance, which also needs to operate efficiently.
Tips to improve S4HANA Performance in Cloud Environment:
- Round trips to the NW Gateway from the client should be minimum
- Bandwidth and Network Latency
- WTS should be used if we have high latency and low bandwidth
- Network Latency
- Low latency , High Bandwidth, High performing hardware can perform better locally
- Huge Performance gain with buffer accesses (10times – 100 times)
- Cache static and dynamic files (Cache is money)
User gets the static file from browser cache or a caching server close to them on the Internet. These are sometimes big files, so caching reduces latency
- Replace ORDERBY with SORT
- Use SELECT … FOR ALL ENTRIES instead of lots of SELECTs
- Priority is to optimize the performance, later think about parallelization
- Use shared objects for data that is relevant across user contexts, e.g. catalogs, meta data repositories
- Define and use appropriate secondary indexes
- Keep the resource consumption in backend at a minimum to ensure good response time
- asynchronous prefetching of business data is preferred
- Splitting the data that is retrieved into multiple requests. Load important data first, display it and then retrieve the remaining data e.g. pictures asynchronously
- CPU and RAM have huge impacts on your performance
- Features in HANA STUDIO will help us to find out the root cause happening in HANA DB
- SAT/ST12 will provide us an outlook what is happening from the backend application layer
- STAD: The Business Transaction Analysis (Transaction STAD) delivers workload statistics across business transactions
- Httpwatch/ Network traces can provide information regarding the client side
- Dynatrace can be used for cloud application performance monitoring
- Enable Compression for Static Resources:On compressing content on server, the static file sizes will be reduced to improve the performance and helps us to save bandwidth and costs as well
- Use a DevOps approach:The key for having high application performance in the cloud is to continuously monitor, track issues and having a process so that issues can be quickly responded
- Use a load balancer:Load Balancer provided the path to the traffic to a place where performance is good. It also provides the data on which instances are running slowly. Performance and scalability will be taken care.
- Optimization Efforts on the Wide Area Network (WAN):WAN optimization is needed to control, secure, and accelerate the application traffic and unlock the promises in cloud environment. Designed solutions can auto-scale applications on demand and balance workloads across multiple clouds
- Fiori UX: Only necessary roles to be added
Today’s fast moving online world demands that companies have the right performance solution to be successful. Creating a poor customer experience can result in lost revenue, failed customer retention, and a viral spread of poor brand visibility.
We expect a lot from our online experiences. We want websites them to be fast. That’s because fast websites can make customers happy. Web Performance is User Experience, So everyone should plan their strategy for their future growth such a way to make the Applications runs with good performance. If things go wrong from a performance perspective with your application, ultimately the blame will be on your shoulders, so do your due diligence.