Intrigued by the art of cloud architecture? Discover how to design, develop, and manage robust, secure, scalable, and dynamic solutions on Google Cloud as you prepare for the Professional Cloud Architect exam!
The design must support the organization's goals, not just the technical needs. This means understanding the business objectives, such as reducing costs, improving speed to market, or enabling new features. The architecture should translate these goals into cloud choices. For example, a requirement to cut costs might lead to selecting managed services that reduce operational work or using preemptible VMs for batch jobs. A need for rapid experimentation might favor serverless options like Cloud Run or Cloud Functions that let developers deploy without managing infrastructure.
Key business considerations include budget constraints, compliance needs, and the existing team's skills. The design must fit within the financial model, whether it's a fixed budget or a pay-as-you-go model. Compliance requirements dictate where data can be stored and how it must be protected, which influences the choice of regions and specific services like Cloud KMS. The team's expertise affects the choice between fully managed services and more configurable options; a team skilled in Kubernetes might choose Google Kubernetes Engine (GKE), while another might prefer the simpler management of App Engine.
This focuses on the performance, reliability, and integration needs of the application itself. Technical requirements specify how the system must behave, such as response time under load, data durability, or uptime guarantees. The architect selects services that match these specifications. For a high-throughput data processing application, you might choose Pub/Sub for messaging and Dataflow for streaming analytics. For a relational database needing high availability, Cloud SQL with a failover replica would be a fit.
The design also ensures all the system's components work together. This involves defining how data flows between services, where the trust boundaries are for security, and what the dependencies are. For instance, a web front-end might send user requests to a load balancer, which distributes traffic to a pool of compute instances. Those instances then read and write data to a database. The database should not be exposed directly to the internet, creating a clear security boundary. The order of operations matters: the database must be available before the application instances start, or they will fail their health checks.
This is about making specific choices for the three core building blocks of any cloud architecture. For networking, you design the virtual private cloud (VPC) layout, including how subnets are organized for public and private tiers. You plan how traffic flows: internet traffic enters through a Cloud Load Balancer, which routes to backend services in private subnets. Services that need outbound internet access might use Cloud NAT, while connections between projects or on-premises networks use VPC peering or Cloud VPN. The network design creates the pathways and security perimeters for all other resources.
For storage, you select the right type of storage based on how the data is used. Frequently accessed website files go into Cloud Storage buckets, which can be fronted by a CDN. Structured application data fits Cloud SQL or Firestore. Large-scale analytics data belongs in BigQuery. The choice balances cost, latency, and query capabilities. Data lifecycle policies can automatically move older data to cheaper storage classes, like Cloud Storage Nearline, to manage costs over time.
For compute, you decide how your application code runs. The main options are Compute Engine VMs for full control, Google Kubernetes Engine (GKE) for containerized applications, App Engine for a fully managed platform, and serverless options like Cloud Run and Cloud Functions. The decision depends on the need for scalability, operational overhead, and runtime environment. A scaling policy ties compute to demand, adding more instances when CPU usage rises and removing them when it falls.
A migration plan is a detailed guide for moving an existing system to the cloud. It starts with an assessment of the current environment to understand what is being moved. Architectural diagrams visualize both the current state and the target cloud design, showing the new layout of networks, servers, and data stores. These diagrams help everyone understand the data flow and dependencies before the move begins.
The plan breaks the migration into phases, often starting with a non-critical application to test the process. It includes steps for transferring data, which might involve tools like Storage Transfer Service or database migration services. The plan also outlines how to switch users from the old system to the new one, whether through a gradual canary release or a single cutover event. Key documents list the resources needed, the team responsibilities, and a rollback plan in case something goes wrong, ensuring the migration is organized and predictable.
After a solution is running, the architect looks ahead to how it can evolve. This involves monitoring the system's performance and costs using tools like Cloud Monitoring and Cloud Billing reports to identify areas for improvement. For example, if a database is consistently a bottleneck, the future plan might include splitting it or moving to a more scalable option like Cloud Spanner.
Improvements also come from adopting new cloud services or features that become available. The plan might include moving from manually scaled VMs to an autoscaling container platform like GKE to reduce management work. Another improvement could be enhancing security by implementing a zero-trust access model with BeyondCorp Enterprise. The goal is to create a roadmap that makes the system more efficient, resilient, and aligned with changing business needs over time.
Prepare and test your skills
Prepare and test your skills
Key business considerations include budget constraints, compliance needs, and the existing team's skills. The design must fit within the financial model, whether it is a fixed budget or a pay-as-you-go model. Compliance requirements dictate where data can be stored and how it must be protected, which influences the choice of regions and specific services like Cloud KMS.
Preemptible VMs are suitable for batch jobs where interruption is acceptable, as they are significantly cheaper than standard VMs. A requirement to cut costs might lead to selecting preemptible VMs for batch processing workloads that can handle being stopped at any time.
Storage selection depends on how the data is used. Frequently accessed website files go into Cloud Storage buckets, structured application data fits Cloud SQL or Firestore, and large-scale analytics data belongs in BigQuery. The choice balances cost, latency, and query capabilities, with data lifecycle policies able to automatically move older data to cheaper storage classes.
Migration should follow a phased approach, often starting with a non-critical application to test the process. The plan includes steps for transferring data using tools like Storage Transfer Service or database migration services, and outlines how to switch users from the old system through either a gradual canary release or a single cutover event.