GCP Architecture Framework Flashcards
https://cloud.google.com/architecture/frameworkWhat is the foundational category from the Google Cloud Architecture Framework that provides design recommendations and describes best practices and principles to help you define the architecture, components, modules, interfaces, and data on a cloud platform to satisfy your system requirements?
System design is the foundational category of the Google Cloud Architecture Framework. This category provides design recommendations and describes best practices and principles to help you define the architecture, components, modules, interfaces, and data on a cloud platform to satisfy your system requirements. You also learn about Google Cloud products and features that support system design.
https://cloud.google.com/architecture/framework
https://cloud.google.com/architecture/frameworkThe Google Cloud Architecture Framework provides what type of recommendations and describes?
…… best practices to help architects, developers, administrators, and other cloud practitioners design and operate a cloud topology that’s secure, efficient, resilient, high-performing, and cost-effective.
https://cloud.google.com/architecture/framework
What are the Google Cloud Architecture Framework categories (also known as pillars)?
The design guidance in the Architecture Framework applies to applications built for the cloud and for workloads migrated from on-premises to Google Cloud, hybrid cloud deployments, and multi-cloud environments.
The Google Cloud Architecture Framework is organized into six categories (also known as pillars), as shown in the following diagram:
Google Cloud Architecture Framework
architecture System design
This category is the foundation of the Google Cloud Architecture Framework. Define the architecture, components, modules, interfaces, and data needed to satisfy cloud system requirements, and learn about Google Cloud products and features that support system design.
construction Operational excellence
Efficiently deploy, operate, monitor, and manage your cloud workloads.
security Security, privacy, and compliance
Maximize the security of your data and workloads in the cloud, design for privacy, and align with regulatory requirements and standards.
restore Reliability
Design and operate resilient and highly available workloads in the cloud.
payment Cost optimization
Maximize the business value of your investment in Google Cloud.
speed Performance optimization
Design and tune your cloud resources for optimal performance.
https://cloud.google.com/architecture/framework
???????? Which category is the foundational category of the Google Cloud Architecture Framework. This category provides design recommendations and describes best practices and principles to help you define the architecture, components, modules, interfaces, and data on a cloud platform to satisfy your system requirements.
System Design is this category.
You also learn about Google Cloud products and features that support system design.
https://cloud.google.com/architecture/frameworkhttps://cloud.google.com/architecture/framework/system-design
What are the core principles of system design?
Document everything
When you start to move your workloads to the cloud or build your applications, a major blocker to success is lack of documentation of the system. Documentation is especially important for correctly visualizing the architecture of your current deployments.
Simplify your design and use fully managed services
Simplicity is crucial for system design. If your architecture is too complex to understand, it will be difficult to implement the design and manage it over time. Where feasible, use fully managed services to minimize the risks, time, and effort associated with managing and maintaining baseline systems.
Decouple your architecture
Decoupling is a technique that’s used to separate your applications and service components into smaller components that can operate independently. For example, you might break up a monolithic application stack into separate service components. In a decoupled architecture, an application can run its functions independently, regardless of the various dependencies.
Use a stateless architecture
A stateless architecture can increase both the reliability and scalability of your applications.
Stateful applications rely on various dependencies to perform tasks, such as locally cached data. Stateful applications often require additional mechanisms to capture progress and restart gracefully. Stateless applications can perform tasks without significant local dependencies by using shared storage or cached services. A stateless architecture enables your applications to scale up quickly with minimum boot dependencies. The applications can withstand hard restarts, have lower downtime, and provide better performance for end users.
https://cloud.google.com/architecture/framework/system-design
What deployment best practices should you consider when deploying a GCP solution (system design best practice)?
Deploy over multiple regions
Select regions based on geographic proximity
Use Cloud Load Balancing to serve global users
Use the Cloud Region Picker to support sustainability
Compare pricing of major resources
https://cloud.google.com/architecture/framework/system-design
What are 2 ways to design resilient services?
Ensure you standardize deployments and incorporate automation wherever possible
Using architectural standards and deploying with automation helps you standardize your builds, tests, and deployments, which helps to eliminate human-induced errors for repeated processes like code updates and provides confidence in testing before deployment. Understand your operational tools portfolio
https://cloud.google.com/architecture/framework/system-design
What is the high level overview of the design process:
- Understand the overarching goals.
- Identify and itemize objectives.
- Categorize and prioritize objectives.
- Analyze objectives.
- Determine preliminary options.
- Refine options.
- Identify your final solution.
https://cloud.google.com/architecture/framework/system-design
How do you identify the architecture?
Identify Goals
Use existing patterns or designs
Google provides resources at the Cloud Architecture Center that can form the basis for your solution design.
For example, there’s a reference architecture diagram for migrating an on premises data center to Google Cloud
Take each sentence in your case study, and rewrite it as an objective. An objective could be an existing architectural
or a task that needs to be completed.
https://cloud.google.com/architecture/framework/system-design/principles
When you categorize requirements, what are the categories?
business requirements
technical requirements
As we discussed in module 1, we can use the business and technical requirements as watchpoints to use when deciding what we can use to implement a solution.
solution requirements
The solution components may act as equivalents to the existing infrastructure or may replace the existing infrastructure with new components and functionality to achieve Dress4Win’s goals.
After you develop the solution approach, how do you work with the product information?
Professional Cloud Architect, because they will determine howto best use the resources available to you in Google Cloud.
It often helps to start at with a broad approach and decide what products to use, like we did in the last module.
Next, focus on the different products, services, and practices and decide how best implement them in Google Cloud.
What are 5 generic steps for an architect to follow when designing a cloud solution?
Designing a solution infrastructure that meets business requirements
Designing a solution infrastructure that meets technical requirements
Designing network, storage, compute, and other resources
Creating a migration plan
Envisioning future solution improvements
What are core principles that an architect must consider in analyzing data for a solution during the system design aspect?
Identify the pros/cons of the different alternatives:
Dataflow lets you write complex transformations in a serverless approach, but you must rely on an opinionated version of configurations for compute and processing needs.
Alternatively, Dataproc lets you run the same transformations, but you manage the clusters and fine-tune the jobs yourself.
-Processing strategy
In your system design, think about which processing strategy your teams use, such as extract, transform, load (ETL) or extract, load, transform (ELT). Your system design should also consider whether you need to process batch analytics or streaming analytics. Google Cloud provides a unified data platform, and it lets you build a data lake or a data warehouse to meet your business needs.
https://cloud.google.com/architecture/framework/system-design/data-analytics
When you create your system design, you can group the Google Cloud data analytics services around the general data movement in any system, or around the data lifecycle.
The data lifecycle includes the following stages and example services:
Ingestion includes services such as Pub/Sub, Storage Transfer Service, Transfer Appliance, Cloud IoT Core, and BigQuery.
Storage includes services such as Cloud Storage, Bigtable, Memorystore, and BigQuery.
Processing and transformation includes services such as Dataflow, Dataproc, Dataprep, Cloud Data Loss Prevention (Cloud DLP), and BigQuery.
Analysis and warehousing includes services such as BigQuery.
Reporting and visualization includes services such as Looker Studio and Looker.
The following stages and services run across the entire data lifecycle:
Data integration includes services such as Data Fusion.
Metadata management and governance includes services such as Data Catalog.
Workflow management includes services such as Cloud Composer.
https://cloud.google.com/architecture/framework/system-design/data-analytics
What are the different data services that an architect can use during each stage of the data lifecycle? (System Design - Analyze data)
What are the data ingestion best practices an architect should consider during the system design phase?
Determine the data source for ingestion
Data typically comes from another cloud provider or service, or from an on-premises location:
To ingest data from other cloud providers, you typically use Cloud Data Fusion, Storage Transfer Service, or BigQuery Transfer Service.
For on-premises data ingestion, consider the volume of data to ingest and your team’s skill set. If your team prefers a low-code, graphical user interface (GUI) approach, use Cloud Data Fusion with a suitable connector, such as Java Database Connectivity (JDBC). For large volumes of data, you can use Transfer Appliance or Storage Transfer Service.
Consider how you want to process your data after you ingest it. For example, Storage Transfer Service only writes data to a Cloud Storage bucket, and BigQuery Data Transfer Service only writes data to a BigQuery dataset. Cloud Data Fusion supports multiple destinations.
https://cloud.google.com/architecture/framework/system-design/data-analytics
How do architects determine which services to use for data ingestion during the system design phase?
Identify streaming or batch data services to use:
Consider how you need to use your data and identify where you have streaming or batch use cases.
Pub/Sub - used for a global streaming service that has low latency requirements
BigQuery - used when you have a need for analytics and reporting uses.
Kafka to BigQuery Dataflow template- used
if you need to stream data from a system like Apache Kafka in an on-premises or other cloud environment.
Storage Transfer Service -
used for batch workloads. the first step is usually to ingest data into Cloud Storage. Use the gsutil tool or ingest data.
Big Query Transfers
Apart from using above tools, you also have following data pipeline options to load data into BigQuery:
Cloud Dataflow
Dataflow is a fully managed service on GCP built using the open source Apache Beam API with support for various data sources — files, databases, message based and more. With Dataflow you can transform and enrich data in both batch and streaming modes with the same code. Google provides prebuilt Dataflow templates for batch jobs.
Cloud Dataproc
Dataproc is a fully managed service on GCP for Apache Spark and Apache Hadoop services. Dataproc provides BigQuery connector enabling Spark and Hadoop applications to process data from BigQuery and write data to BigQuery using its native terminology.
Cloud Logging
This is not a data pipeline option but Cloud Logging (previously known as Stackdriver) provides an option to export log files into BigQuery. See Exporting with the Logs Viewer for more information and reference guide on exporting logs to BigQuery for security and access analytics.
https://cloud.google.com/architecture/framework/system-design/data-analytics
How can you get around Querying Without Loading Data
As mentioned in the beginning of this post, you don’t need to load data into BigQuery before running queries in the following situations:
Public Datasets: Public datasets are datasets stored in BigQuery and shared with the public. For more information, see BigQuery public datasets.
Shared Datasets: You can share datasets stored in BigQuery. If someone has shared a dataset with you, you can run queries on that dataset without loading the data.
External data sources (Federated): You can skip the data loading process by creating a table based on an external data source.
https://cloud.google.com/blog/topics/developers-practitioners/bigquery-explained-data-ingestion
What services allow you to ingest data using automation?
Ingest data with automated tools
Manually moving data from other systems into the cloud can be a challenge. If possible, use tools that let you automate the data ingestion processes.
Cloud Data Fusion
provides connectors and plugins to bring data from external sources with a drag-and-drop GUI.
Data Flow or BigQuery
If your teams want to write some code, you can automate data ingestion.
Pub/Sub
Helps in both a low-code or code-first approach.
Storage Transfer Service-
To ingest data into storage buckets, use gsutil for data sizes of up to 1 TB. To ingest amounts of data larger than 1 TB, use .
What services do you use to regularly ingest data on a schedule?
Storage Transfer Service and BigQuery Data Transfer Service both let you schedule ingestion jobs. For fine-grain control of the timing of ingestion or the source and destination system, use a workflow-management system like Cloud Composer. If you want a more manual approach, you can use Cloud Scheduler and Pub/Sub to trigger a Cloud Function.
If you want to manage the Compute infrastructure, you can use the gsutil command with cron for data transfer of up to 1 TB. If you use this manual approach instead of Cloud Composer, follow the best practices to script production transfers.sd
https://cloud.google.com/architecture/framework/system-design/data-analytics
How do architects pick the right datastore based on their needs?
Identify which of the following common use cases for your data to pick which Google Cloud product to use:
Data use case Product recommendation
File-based Filestore
Object-based Cloud Storage
Low latency Bigtable
Time series Bigtable
Online cache Memorystore
Transaction processing Cloud SQL
Business intelligence (BI) & analytics BigQuery Batch processing Cloud Storage
Bigtable if incoming data is time series and you need low latency access to it.
BigQuery if you use SQL.
https://cloud.google.com/architecture/framework/system-design/data-analytics
What would an architect use when you need to ingest data from multiple sources?
Use Dataflow to ingest data from multiple sources
To ingest data from multiple sources, such as Pub/Sub, Cloud Storage, HDFS, S3, or Kafka, use Dataflow. Dataflow is a managed serverless service that supports Dataflow templates, which lets your teams run templates from different tools.
Dataflow Prime provides horizontal and vertical autoscaling of machines that are used in the execution process of a pipeline. It also provides smart diagnostics and recommendations that identify problems and suggest how to fix them.
https://cloud.google.com/architecture/framework/system-design/data-analytics
What is the System design category of the architecture framework?
This category is the foundation of the Google Cloud Architecture Framework. Define the architecture, components, modules, interfaces, and data needed to satisfy cloud system requirements, and learn about Google Cloud products and features that support system design.
https://cloud.google.com/architecture/framework
What is the Operational excellence category?
Efficiently deploy, operate, monitor, and manage your cloud workloads.
https://cloud.google.com/architecture/framework
What is the Security, privacy, and compliance category of the architecture framework?
Maximize the security of your data and workloads in the cloud, design for privacy, and align with regulatory requirements and standards.
https://cloud.google.com/architecture/framework