| name | google-cloud-solution-agentic-analytics-spark-knowledge-catalog |
| metadata | {"category":"MultiProductSolutions"} |
| description | Discovers requirements and generates guidance to design and deploy a governed, secure agentic-analytics solution for data that's distributed across Google Cloud, other cloud providers, or on-premises. Data that's outside Google Cloud (such as data from Databricks, Snowflake, Salesforce, SAP, or Oracle systems) is accessed through federation mechanisms such as Apache Iceberg, other "zero-copy ETL" methods, or remote query push-down. Use this skill when designing an architecture for efficient analytics across large volumes of structured and unstructured data that's located in multiple systems and environments, including other cloud providers and on-premises. |
Agentic analytics across cloud providers and data types
This skill provides a workflow to design and implement a governed, secure
pipeline for agentic analytics solution across structured and unstructured data
that's distributed across Google Cloud, on-premises systems, and other cloud
providers.
Overview of the workflow
The workflow consists of the following phases:
- Phase 1: Requirements discovery. Gather detailed requirements related to
the cloud workload or use case that the user needs assistance for.
- Phase 2: Solution architecture. Use the requirements that were gathered
in Phase 1 to generate a detailed solution architecture for the cloud
workload or use case.
- Phase 3: Solution validation. Create a plan to validate the generated
solution, generate validation instructions and scripts, and run the
validation.
- Phase 4: Solution packing and presentation. Consolidate the generated
content and present the solution.
Important notes about the workflow:
- Strict phase separation: During Phase 1 (Requirements discovery), when
you ask the user clarifying questions, DON'T recommend, propose, or outline
any architectural designs, technical decompositions, cloud services, or
component mappings.
- When you can skip certain phases: If the user's prompt indicates that a
specific phase or task in this workflow is already completed or approved
(e.g., "requirements discovery stage is completed", "product selection is
approved", or "architecture is confirmed"), DON'T repeat that phase or task.
Instead, skip directly to the requested task (such as generating the
technical decomposition, recommending products, or compiling the solution
guide).
Phase 1: Requirements discovery and analysis
-
Request the user to describe the functional requirements (business
processes, activities, and use cases) of their workload. Ask the user the
following questions, one question at a time:
- What are your primary inventory data sources? Are they unstructured
(e.g., PDF flavor recipes, invoices) or structured (e.g., historical
sales in Iceberg)?
- Where are these sources hosted? Are they split across AWS S3, Azure
Blob, Google Cloud Storage, or databases like AlloyDB?
- How do you manage and federate metadata across your data
sources within Google Cloud and in external locations (such as other
cloud providers)?
- What are your analytical and computational requirements to join, clean,
and run forecast models over large-scale distributed data?
- What types of natural language prompts do your data scientists or
operational agents expect to execute in their agentic IDE (VS Code or
Antigravity IDE)?
-
Request the user to describe the non-functional requirements of their
workload.
The following are examples of questions you can ask to gather non-functional
requirements:
- Security, privacy, and compliance: What data privacy rules,
regulatory compliance (e.g., GDPR, HIPAA), or data governance
requirements must the system adhere to?
- Reliability: What are your uptime, high-availability,
fault-tolerance, and disaster recovery objectives (RTO/RPO)?
- Performance: What target query latencies and SLA expectations does
your workload require?
- Operations: What operational monitoring metrics do your data
scientists and engineers need?
- Cost & Sustainability: Do you have specific budget constraints and
data egress/transfer cost requirements?
-
Ask the user whether the workload currently runs on other cloud providers or
on-premises.
- If the user answers "yes", then ask the user to describe the
architecture of the current deployment.
- If the user answer "no", then proceed to the next step.
-
Request the user to describe dependencies, if any, on other workloads,
products, or tools. The following are examples of questions that you can
ask to get information about the dependencies:
- Do you have any upstream or downstream dependencies on external systems
(e.g., identity providers, data curation platforms, CI/CD pipelines, or
active data catalogs)?
- Are there any requirements for your general data-engineering software
delivery lifecycle (e.g., version control, testing, data quality
assurance)? Provide the path to a directory or examples of these
artifacts.
-
Review the input that the user has provided so far, and check whether there
are any ambiguities or contradictions.
Phase 2: Solution architecture
Ground all generated content
For each task in this phase, to ensure that the generated content aligns with
the latest and official Google Cloud guidance, ground the generated content by
using the following resources:
Task 2.1: Identify Google Cloud products and features required for the workload.
- For each component in the confirmed technical decomposition, identify the
appropriate Google Cloud products and features, based on the guidance in the
following resources and adjusted suitably based on the approved technical
decomposition:
references/product-selection-guidance.md
https://github.com/google/skills/blob/main/skills/cloud/google-cloud-solution-architecture/references/decision-making-guides.md
- Present the generated product recommendations and ask the user to approve
the recommendations.
- If the user requests changes, then make the required changes.
- Repeat steps 2 and 3 until the user approves the product recommendations.
- After the user approves the product recommendations, proceed to Task 2.2.
Task 2.2: Generate an architecture diagram.
- Generate an architecture diagram in Mermaid format:
https://github.com/mermaid-js/mermaid.
- Present the generated diagram to the user and ask the user to approve the
architecture diagram.
- If the user requests changes, then make the required changes.
- Repeat steps 2 and 3 until the user approves the architecture diagram.
- After the user approves the architecture diagram, proceed to Task 2.3.
Task 2.3: Generate an architecture description.
- Generate a description that explains the purpose of each component, the
relationships between the components, and the task flow or data flow.
- Present the generated architecture description to the user and ask the user
to approve the description.
- If the user requests any changes, then make the required changes.
- Repeat steps 2 and 3 until the user approves the architecture description.
- After the user approves the architecture description, proceed to Task 2.4.
Task 2.4: Generate design recommendations.
-
Generate design recommendations and best practices to optimally configure
each component in the architecture based on the workload's requirements.
Important:
- When you generate design recommendations, consider the following:
- Functional requirements that were gathered in Phase 1.
- Non-functional requirements that were gathered in Phase 1.
- Align the generated design recommendations with the recommendations in
references/design-recommendations.md.
- To generate design recommendations for Knowledge Catalog, use the
resources that are listed in
references/knowledge-catalog-documentation.md
- To generate guidance for the non-functional requirements, use the
following skills:
google-cloud-waf-security
google-cloud-waf-reliability
google-cloud-waf-cost-optimization
google-cloud-waf-operational-excellence
google-cloud-waf-performance-optimization
google-cloud-waf-sustainability
-
Present the generated recommendations to the user and ask whether the user
needs any changes.
-
If the user needs changes, then make the required changes.
-
Repeat steps 2 and 3 until the user confirms that the generated design
recommendations meet their requirements.
-
Proceed to Task 2.5.
Task 2.5: Generate deployment guidance.
-
Generate deployment guidance, including code and instructions to enable the
user to deploy the solution.
Important:
- The guidance must provide steps for deployment prerequisites, including
setting up the Google Cloud project, enabling billing, enabling the
required APIs, and setting up the required roles and permissions.
- Use the following resources as the technical foundation for the
deployment guidance that you generate:
-
Present the generated deployment guidance to the user and ask whether the
user needs any changes.
-
If the user requests changes, then make the required changes.
-
Repeat steps 2 and 3 until the user confirms that the generated deployment
guidance meets their requirements.
-
Proceed to Phase 3.
Phase 3: Solution validation
- Create a plan to validate the generated solution. The plan must outline the
steps to verify that the generated solution meets the workload's
requirements.
- Present the validation plan to the user and request feedback or approval.
- If the user requests changes, update the plan as required.
- Repeat steps 2 and 3 until the user approves the validation plan.
- Generate scripts or commands using tools like
curl or gcloud to perform
the steps in the approved validation plan.
- Request permission from the user to perform the validation checks.
- If the user gives permission, run the validation checks and troubleshoot any
deployment issues.
- When all the validation checks pass, proceed to Phase 4.
Phase 4: Solution packaging and presentation
- Consolidate the text artifacts that were generated in Phase 2 and Phase 3
into a single Markdown file named
solution-architecture-guide.md, based on
the template in assets/output-template.md.
- Present the consolidated solution-architecture-guide.md to the user.
- Request the user's permission to write the code files in the user's
workspace.
- After the user gives permission, write the code files in the user's
workspace.
Supporting resources