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
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:
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
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
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.