This document in the Google Cloud Architecture Framework provides an overview of the performance optimization process.
Performance optimization is a continuous process, not a one-time activity. The following diagram shows the stages in the performance optimization process:
The following is an overview of the stages in the performance optimization process:
Define performance requirements
Before you start to design and develop the applications that you intend to deploy or migrate to the cloud, determine the performance requirements. Define the requirements as granularly as possible for each layer of the application stack: frontend load balancing, web or applications servers, database, and storage. For example, for the storage layer of the stack, decide on the throughput and I/O operations per second (IOPS) that your applications need.
Design and deploy your applications
Design your applications by using elastic and scalable design patterns that can help you meet the performance requirements. Consider the following guidelines for designing applications that are elastic and scalable:
- Architect the workloads for optimal content placement.
- Isolate read and write traffic.
- Isolate static and dynamic traffic.
- Implement content caching. Use data caches for internal layers.
- Use managed services and serverless architectures.
Google Cloud provides open source tools that you can use to benchmark the performance of Google Cloud services with other cloud platforms.
Monitor and analyze performance
After you deploy your applications, continuously monitor performance by using logs and alerts, analyze the data, and identify performance issues. As your applications grow and evolve, reassess your performance requirements. You might have to redesign some parts of the applications to maintain or improve performance.
Based on the performance of your applications and changes in requirements, configure the cloud resources to meet the current performance requirements. For example, resize the resources or set up autoscaling. When you configure the resources, evaluate opportunities to use recently released Google Cloud features and services that can help further optimize performance.
The performance optimization process doesn't end at this point. Continue the cycle of monitoring performance, reassessing requirements when necessary, and adjusting the cloud resources to maintain and improve performance.
- Monitor and analyze performance.
- Optimize compute performance.
- Optimize storage performance.
- Optimize networking performance.
- Optimize database performance.
- Optimize analytics performance.