Cloud Bloghttps://cloud.google.com/blog/Cloud BlogenTue, 18 Feb 2025 18:12:51 +0000https://cloud.google.com/blog/static/blog/images/google.a51985becaa6.pngCloud Bloghttps://cloud.google.com/blog/How to use gen AI for better data schema handling, data quality, and data generationhttps://cloud.google.com/blog/products/data-analytics/how-gemini-in-bigquery-helps-with-data-engineering-tasks/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In the realm of data engineering, generative AI models are quietly revolutionizing how we handle, process, and ultimately utilize data. For example, large language models (LLMs) can help with data schema handling, data quality, and even data generation. </span></p> <p><span style="vertical-align: baseline;">Building upon the </span><a href="https://cloud.google.com/blog/products/data-analytics/introducing-ai-driven-bigquery-data-preparation?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">recently released Gemini in BigQuery Data preparation</span></a><span style="vertical-align: baseline;"> capabilities, this blog showcases areas where gen AI models are making a significant impact in data engineering with automated solutions for schema management, data quality automation, and generation of synthetic and structured data from diverse sources, providing practical examples and code snippets. </span></p> <h3 role="presentation"><strong style="vertical-align: baseline;">1. Data schema handling: Integrating new datasets</strong></h3> <p><span style="vertical-align: baseline;">Data movement and maintenance is an ongoing challenge across all data engineering teams. Whether it's moving data between systems with different schemas or integrating new datasets into existing data products, the process can be complex and error-prone. This is often exacerbated when dealing with legacy systems; in fact, 32% of organizations cite migrating the data and the app as their biggest challenge, according to </span><a href="https://info.flexera.com/CM-REPORT-State-of-the-Cloud?utm_source=google&amp;utm_medium=ppc&amp;utm_content=state_of_cloud_extension&amp;lead_source=PPC&amp;cq_cmp=21426659424&amp;cq_term=flexera&amp;cq_plac=&amp;cq_net=g&amp;cq_plt=gp&amp;gad_source=1&amp;gclid=CjwKCAiA34S7BhAtEiwACZzv4Tj6d10yuBf7ynZFBbzY19V2kGFnbJgRwr1JCEJqi_aMO15VHts1RxoChUYQAvD_BwE" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Flexera's 2024 State of the Cloud Report</span></a><span style="vertical-align: baseline;">. </span></p> <p><span style="vertical-align: baseline;">Gen AI models offer a powerful solution by assisting in automating schema mapping and transformation on an ongoing basis. Imagine migrating customer data from a legacy CRM system to a new platform, and combining it with additional external datasets in BigQuery. The schemas likely differ significantly, requiring intricate mapping of fields and data types. </span><a href="https://gemini.google.com/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Gemini</span></a><span style="vertical-align: baseline;">, our most capable AI model family to date, can analyze both schemas and generate the necessary transformation logic, significantly reducing manual effort and potential errors.</span></p> <p><span style="vertical-align: baseline;">A common approach to data schema handling that we’ve seen from data engineering teams involves creating a lightweight application that receives messages from Pub/Sub, retrieves relevant dataset information from BigQuery and Cloud Storage, and uses the Vertex AI Gemini API to map source fields to target fields and assign a confidence score. Here is example code showing a </span><a href="https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/FunctionDeclaration"><span style="text-decoration: underline; vertical-align: baseline;">FunctionDeclaration</span></a><span style="vertical-align: baseline;"> to perform the mapping-confidence task:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;set_source_field_mapping_confidence_levels = generative_models.FunctionDeclaration(\r\n name=&quot;set_source_field_mapping_confidence_levels&quot;,\r\n description=&quot;&quot;&quot;Sets the mapping confidence values for each source field for a given target field.\r\n\r\nHere is a general example to help you understand how to use the set_source_field_mapping_confidences_tool correctly. This is only an example to show the source and target field structures.:\r\n\r\nAssuming you had previously decided on the following mapping confidence levels (but it is important that you come up with your own values for mapping condifence level rather than specifically using these values):\r\na mapping confidence level of 2 for the field with source_field_unique_ref=158\r\na mapping confidence level of 1 for the field with source_field_unique_ref=159\r\na mapping confidence level of 1 for the field with source_field_unique_ref=1290\r\na mapping confidence level of 1 for the field with source_field_unique_ref=579\r\na mapping confidence level of 1 for the field with source_field_unique_ref=638\r\na mapping confidence level of 1 for the field with source_field_unique_ref=970\r\na mapping confidence level of 1 for the field with source_field_unique_ref=3317\r\na mapping confidence level of 3 for the field with source_field_unique_ref=160\r\na mapping confidence level of 1 for the field with source_field_unique_ref=1910\r\na mapping confidence level of 5 for the field with source_field_unique_ref=2280\r\n\r\nThen this function would be used to set the mapping confidence levels for each of the source fields, where your input parameter source_field_mapping_confidences would be:\r\nsource_field_mapping_confidences = [\r\n {\&#x27;source_field_unique_ref\&#x27;:158,\&#x27;mapping_confidence_level\&#x27;:\&#x27;2\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:159,\&#x27;mapping_confidence_level\&#x27;:\&#x27;2\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:1290,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:579,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:638,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:970,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:3317,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:160,\&#x27;mapping_confidence_level\&#x27;:\&#x27;3\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:1910,\&#x27;mapping_confidence_level\&#x27;:\&#x27;1\&#x27;},\r\n {\&#x27;source_field_unique_ref\&#x27;:2280,\&#x27;mapping_confidence_level\&#x27;:\&#x27;5\&#x27;}\r\n]&quot;&quot;&quot;,\r\n\r\n parameters={\r\n &quot;type&quot;: &quot;object&quot;,\r\n &quot;properties&quot;: {\r\n &quot;source_field_mapping_confidences&quot;: {\r\n &quot;type&quot;: &quot;array&quot;,\r\n &quot;description&quot;: &quot;A List of objects where each object in the list contains the source field\&#x27;s source_field_unique_ref, the mapping_confidence_level for that source field and the reason for applying that mapping_confidence_level.&quot;,\r\n &quot;items&quot;: {\r\n &quot;type&quot;: &quot;object&quot;,\r\n &quot;properties&quot;: {\r\n &quot;source_field_unique_ref&quot;: {\r\n &quot;type&quot;: &quot;integer&quot;,\r\n &quot;description&quot;: &quot;The reference ID for the source field.&quot;\r\n },\r\n &quot;mapping_confidence_level&quot;: {\r\n &quot;type&quot;: &quot;string&quot;,\r\n &quot;enum&quot;: [&quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;],\r\n &quot;description&quot;: &quot;The confidence level for the mapping (an integer between 1 and 5).&quot;\r\n },\r\n &quot;mapping_confidence_level_reason&quot;: {\r\n &quot;type&quot;: &quot;string&quot;,\r\n &quot;description&quot;: &quot;The reason why the source field should have this mapping confidence level value&quot;\r\n }\r\n },\r\n &quot;required&quot;: [&quot;source_field_unique_ref&quot;, &quot;mapping_confidence_level&quot;, &quot;mapping_confidence_level_reason&quot;]\r\n }\r\n },\r\n },\r\n &quot;required&quot;: [&quot;source_field_mapping_confidences&quot;],\r\n },\r\n )&#x27;), (&#x27;language&#x27;, &#x27;lang-py&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53dd34910&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">As seen in the above prompt, Gemini assigns confidence levels to each mapping, which are then stored in BigQuery. Once these are in BigQuery, the data engineering team can validate high-confidence mappings (and eventually choose to fully automate these if they feel comfortable), and investigate the low-confidence mappings. This pipeline of gen AI tasks could be deployed in an event-driven architecture or could run on a batch basis. However, there’s usually a final step required, where a human approves the final output (this could eventually become fully automated over time, given the rapid release cadence of improvements in gen AI models). Here is an example architecture / workflow: </span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_BlI8CAw.max-1000x1000.png" alt="image1"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3 role="presentation"><strong style="vertical-align: baseline;">2. Data quality: Enhancing accuracy and consistency</strong></h3> <p><span style="vertical-align: baseline;">In today's data-driven world, poor data quality can cost businesses millions. From inaccurate customer insights leading to misguided marketing campaigns, to flawed financial reporting that impacts investment decisions, the consequences of bad data are significant. Gen AI models offer a new approach to data quality, going beyond traditional rule-based systems to identify subtle inconsistencies that can wreak havoc on your data pipelines. For example, imagine a system that can automatically detect and correct errors that would typically require hours of manual review or creation of intensive ReGex expressions.</span></p> <p><span style="vertical-align: baseline;">Gemini can augment your existing data quality checks in several ways:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Deduplication:</strong><span style="vertical-align: baseline;"> Consider a scenario where you need to deduplicate customer profiles. Gemini can analyze various fields, such as names, addresses, and phone numbers, to identify potential duplicates, even when there are minor variations in spelling or formatting. For example, Gemini can recognize that "Robert Smith" and "Bob Smith" likely refer to the same individual, or that "123 Main St." and "123 Main Street" represent the same address. In contrast to traditional methods like fuzzy matching, which are cumbersome to code and don’t always produce ideal results, using an LLM can provide a simpler and more effective solution.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Standardization:</strong><span style="vertical-align: baseline;"> Gemini excels at standardizing data formats. Instead of relying on intricate regular expressions to validate data formats, Gemini can be used with prompt engineering, RAG, or fine-tuning to understand and enforce data quality rules in a more human-readable and maintainable way. This is particularly useful for fields like dates, times, and addresses, where variations in format can hinder analysis.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Subtle error detection:</strong><span style="vertical-align: baseline;"> Gemini can identify subtle inconsistencies that might be missed by traditional methods. These include:</span></p> </li> <ul> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Variations in abbreviations (e.g., "St." vs "Street")</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Different spellings of the same name (e.g., "Catherine" vs. "Katherine")</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Use of nicknames (e.g., "Bob" vs. "Robert")</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Incorrectly formatted phone numbers (e.g., missing area codes)</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Inconsistent use of capitalization and punctuation</span></p> </li> </ul> </ul> <p><span style="vertical-align: baseline;">Let's illustrate this with a common example of address validation. We have a table named </span><code style="vertical-align: baseline;">customer_addresses</code><span style="vertical-align: baseline;"> with the following format, and we want to check if the </span><code style="vertical-align: baseline;">address_state</code><span style="vertical-align: baseline;"> column is a valid US state and convert it into the standard two-letter abbreviation:</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1a.max-1000x1000.jpg" alt="1"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Looking at the input data, you can easily identify some issues with the </span><code style="vertical-align: baseline;">address_state</code><span style="vertical-align: baseline;"> column. For example, 'Pennsylvaniaa' is misspelled, and 'Texas' is written out instead of using the standard two-letter abbreviation. While these errors are obvious to a human, they can be challenging for traditional data quality tools to catch because they rely on exact matches or rigid rules, missing these subtle variations.</span></p> <p><span style="vertical-align: baseline;">However, Gemini excels at understanding and interpreting human language, making it well suited for this task. With a simple prompt, Gemini can accurately identify these inconsistencies and standardize the state names into the correct format, going beyond rigid rules and adapting to nuances of the human language.</span></p> <p><span style="vertical-align: baseline;">Here's how you can use Gemini in BigQuery to perform this task, using the </span><a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-generate-text"><span style="text-decoration: underline; vertical-align: baseline;">BQML function ML. GENERATE_TEXT</span></a><span style="vertical-align: baseline;">, which lets you perform gen AI tasks on data stored in BigQuery using a remote connection to Gemini hosted in Vertex AI:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &quot;SELECT\r\n prompt,\r\n REPLACE(REPLACE(REPLACE(ml_generate_text_llm_result,&#x27;json&#x27;,&#x27;&#x27;),&#x27;\\n&#x27;,&#x27;&#x27;),&#x27;```&#x27;,&#x27;&#x27;) as\r\n ml_generate_text_llm_result,\r\n address_id,\r\n address_line1,\r\n address_line2,\r\n address_city,\r\n address_state,\r\n address_zipcode,\r\n address_country,\r\nFROM\r\n ML.GENERATE_TEXT( MODEL `bigquery_demo.gemini-pro`,\r\n (\r\n SELECT\r\n CONCAT( &#x27;Check if the given address_state field is as per ANSI 2-letter standard.If not,convert it into the recommended format.Also check if the address_state is a valid US state.Return only the output with input,output and is_valid_us_state fields. address_state:&#x27;, address_state) AS prompt,\r\n *\r\n FROM\r\n `bigquery_demo.customer_addresses` ),\r\n STRUCT (TRUE AS flatten_json_output));&quot;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53dd34400&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">This code sends each </span><code style="vertical-align: baseline;">address_state</code><span style="vertical-align: baseline;"> value to Gemini with a prompt asking it to validate and standardize the input. Gemini then returns a JSON response with the original input, the standardized output, and a boolean indicating whether the state is valid:</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2a.max-1000x1000.jpg" alt="2"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In this instance, Gemini has automated and streamlined our data quality process and reduced the complexity of the code. The first column contains the validation output — with a simple prompt, we are able to correctly identify the rows that have an invalid state column value and convert the state columns to a standard format. In the more traditional approach this would have taken multiple SQL expressions, external APIs, or joining with a lookup table.</span></p> <p><span style="vertical-align: baseline;">The above example is just a glimpse into how Gemini can improve data quality. But beyond basic validation and standardization, gen AI models also excel at more nuanced tasks. For instance, they can classify data errors by severity (low, medium, high) for prioritized action and effectively handle mixed-language text fields by detecting language discrepancies. For more detailed examples check out this </span><a href="https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/use-cases/applying-llms-to-data" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">code repo</span></a><span style="vertical-align: baseline;">, which includes how to leverage gen AI models for semantic search in BigQuery that you could use to identify duplicate records.</span></p> <p><strong style="vertical-align: baseline;">Important considerations for large datasets:</strong></p> <p><span style="vertical-align: baseline;">When working with large datasets, sending individual requests to an LLM like Gemini can become inefficient and may exceed usage quotas. To optimize performance and manage costs, consider batching requests and make sure your GCP project has sufficient API quotas.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud data analytics&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c048a30&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/bigquery/&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">3. Data generation: Unlocking insights from unstructured data</strong></h3> <p><span style="vertical-align: baseline;">Unstructured data like images, videos, and PDFs hold valuable information that has historically been difficult to translate into structured data use cases. Gemini’s multimodal</span><a href="https://developers.googleblog.com/en/new-features-for-the-gemini-api-and-google-ai-studio/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;"> industry-leading context window of up to 2 million tokens</span></a><span style="vertical-align: baseline;"> allows us to extract structured data for downstream usage.</span></p> <p><span style="vertical-align: baseline;">However, some gen AI models can be unreliable and prone to hallucinations, posing challenges for consistent data processing. To address this in practice, you can useGemini’s </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions"><span style="text-decoration: underline; vertical-align: baseline;">system instructions</span></a><span style="vertical-align: baseline;">, </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/control-generated-output"><span style="text-decoration: underline; vertical-align: baseline;">controlled generation</span></a><span style="vertical-align: baseline;">, </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/overview"><span style="text-decoration: underline; vertical-align: baseline;">grounding with Gemini</span></a><span style="vertical-align: baseline;">, and </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/enhancing-llm-quality-and-interpretability-with-the-vertex-gen-ai-evaluation-service?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">Vertex AI evaluation services</span></a><span style="vertical-align: baseline;">. System instructions guide the model's behavior, while controlled generation instructs the models to output in specific format such as JSON and enforces structured outputs adhering to a predefined schema. Evaluation lets you automate the selection process of the best response and provide associated quality metrics and explanations. Finally, grounding tethers the output to private or public up-to-date data, reducing the likelihood of the model inventing content. Then, the model’s structured data output can be integrated with BigQuery for downstream analysis and used in data pipelines and ML workflows, helping to ensure consistency and reliability in business applications. </span></p> <p><span style="vertical-align: baseline;">Let’s take a look at an example inspired by the </span><a href="https://ads.google.com/intl/en_uk/home/resources/articles/abcds-of-effective-video-ads/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">YouTube ABCDs</span></a><span style="vertical-align: baseline;"> where we use one of the latest Gemini models, </span><a href="https://deepmind.google/technologies/gemini/flash/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Flash 2.0</span></a><span style="vertical-align: baseline;">, to analyze an ad video on YouTube to see if it follows YouTube best practices, using the following prompt:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;from google import genai\r\nfrom google.genai import types\r\nimport base64\r\n\r\n\r\ndef generate():\r\n client = genai.Client(\r\n vertexai=True,\r\n project=&quot;YOUR_PROJECT_ID&quot;,\r\n location=&quot;us-central1&quot;,\r\n )\r\n\r\n\r\n text1 = types.Part.from_text(&quot;&quot;&quot;You are a creative expert who analyzes and labels video ads to answer\r\n specific questions about the content in the video and how it adheres to a set of features.\r\n Answer the following questions with either \\\\\\&quot;True\\\\\\&quot; or \\\\\\&quot;False\\\\\\&quot; and provide a detailed explanation to\r\n support your answer. The explanation should be thorough and logically sound, incorporating relevant\r\n facts and reasoning. Only base your answers strictly on what information is available in the video\r\n attached. Do not make up any information that is not part of the video.\r\n \r\n These are the questions that you have to answer for each feature:\r\n1. does the brand show in the first 5 seconds?\r\n2. is there consistent brand presence throughout the ad video?\r\n3. is there a clear call to action in the ad?&quot;&quot;&quot;)\r\n video1 = types.Part.from_uri(\r\n file_uri=&quot;https://www.youtube.com/watch?v=OMVpP-Zam1A&quot;,\r\n mime_type=&quot;video/*&quot;,\r\n )\r\n\r\n\r\n model = &quot;gemini-2.0-flash-exp&quot;\r\n contents = [\r\n types.Content(\r\n role=&quot;user&quot;,\r\n parts=[\r\n text1,\r\n video1\r\n ]\r\n )\r\n ]\r\n generate_content_config = types.GenerateContentConfig(\r\n temperature = 1,\r\n top_p = 0.95,\r\n max_output_tokens = 8192,\r\n response_modalities = [&quot;TEXT&quot;],\r\n safety_settings = [types.SafetySetting(\r\n category=&quot;HARM_CATEGORY_HATE_SPEECH&quot;,\r\n threshold=&quot;OFF&quot;\r\n ),types.SafetySetting(\r\n category=&quot;HARM_CATEGORY_DANGEROUS_CONTENT&quot;,\r\n threshold=&quot;OFF&quot;\r\n ),types.SafetySetting(\r\n category=&quot;HARM_CATEGORY_SEXUALLY_EXPLICIT&quot;,\r\n threshold=&quot;OFF&quot;\r\n ),types.SafetySetting(\r\n category=&quot;HARM_CATEGORY_HARASSMENT&quot;,\r\n threshold=&quot;OFF&quot;\r\n )],\r\n response_mime_type = &quot;application/json&quot;,\r\n response_schema = {&quot;type&quot;:&quot;ARRAY&quot;,&quot;items&quot;:{&quot;type&quot;:&quot;OBJECT&quot;,&quot;properties&quot;:{&quot;id&quot;:{&quot;type&quot;:&quot;STRING&quot;},&quot;name&quot;:{&quot;type&quot;:&quot;STRING&quot;},&quot;category&quot;:{&quot;type&quot;:&quot;STRING&quot;},&quot;criteria&quot;:{&quot;type&quot;:&quot;STRING&quot;},&quot;detected&quot;:{&quot;type&quot;:&quot;BOOLEAN&quot;},&quot;llm_explanation&quot;:{&quot;type&quot;:&quot;STRING&quot;}},&quot;required&quot;:[&quot;id&quot;,&quot;name&quot;,&quot;category&quot;,&quot;criteria&quot;,&quot;detected&quot;,&quot;llm_explanation&quot;]}},\r\n},\r\n )\r\n\r\n\r\n for chunk in client.models.generate_content_stream(\r\n model = model,\r\n contents = contents,\r\n config = generate_content_config,\r\n ):\r\n print(chunk, end=&quot;&quot;)\r\n\r\n\r\ngenerate()&#x27;), (&#x27;language&#x27;, &#x27;lang-py&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c48bcd0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">The resulting output can easily be ingested into BigQuery as structured data for further analytical and reporting uses:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;[{&quot;category&quot;: &quot;Brand Presence&quot;, &quot;criteria&quot;: &quot;Does the brand show in the first 5 seconds?&quot;, &quot;detected&quot;: true, &quot;id&quot;: &quot;brand_first_5_seconds&quot;, &quot;llm_explanation&quot;: &quot;The brand name Gemini shows up within the first 5 seconds of the video ad, clearly visible on the screen along with the text prompt that is shown.&quot;\r\n, &quot;name&quot;: &quot;Brand Visibility&quot;}, \r\n{&quot;category&quot;: &quot;Brand Presence&quot;, &quot;criteria&quot;: &quot;Is there consistent brand presence throughout the ad video?&quot;, &quot;detected&quot;: true, &quot;id&quot;: &quot;consistent_brand_presence&quot;, &quot;llm_explanation&quot;: &quot;The brand name Gemini remains consistently visible in the upper left corner of the screen throughout the duration of the video ad, ensuring brand awareness.&quot; , &quot;name&quot;: &quot;Consistent Branding&quot;}, \r\n{&quot;category&quot;: &quot;Call to Action&quot;, &quot;criteria&quot;: &quot;Is there a clear call to action in the ad?&quot;, &quot;detected&quot;: true, &quot;id&quot;: &quot;clear_call_to_action&quot;, &quot;llm_explanation&quot;: &quot;The video ad concludes by displaying a clear call to action directing viewers to GoogleStore.com to learn more, providing a direct path for engagement with the brand and product. &quot; , &quot;name&quot;: &quot;Call To Action&quot;}]&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c048820&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">There are also considerations for choosing the right model for the right task. For  example, larger videos or unstructured content may require using the 2M token context window, available from </span><a href="https://deepmind.google/technologies/gemini/pro/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Gemini Pro</span></a><span style="vertical-align: baseline;">, whereas other tasks may be fine using just 1M context window with </span><a href="https://deepmind.google/technologies/gemini/flash/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Gemini Flash</span></a><span style="vertical-align: baseline;">. </span></p> <p><span style="vertical-align: baseline;">You can also use Gemini to generate synthetic data that mimics real-world scenarios, augmenting your datasets and improving model performance. Synthetic data is artificially generated data that statistically mirrors real-world data while preserving privacy by excluding personally identifiable information (PII). This approach enables organizations to develop robust machine learning models and data-driven insights without the limitations and risks associated with using real-world data. The growing interest in synthetic data stems from its ability to address privacy concerns, overcome data scarcity, and facilitate test data generation across various industries. To learn more about synthetic data generation using gen AI, check out our in-depth blog about </span><a href="https://cloud.google.com/blog/products/data-analytics/create-synthetic-data-with-gretel-in-bigquery?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">Generating synthetic data in BigQuery</span></a><span style="vertical-align: baseline;"> with Gretel.</span></p> <h3><strong style="vertical-align: baseline;">Going to production: DataOps and the LLM pipeline</strong></h3> <p><span style="vertical-align: baseline;">Once you've successfully implemented LLM-powered data engineering solutions, you’re ready to integrate them into your production environment. Here are a few things you’ll need to address:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Scheduling and automation:</strong><span style="vertical-align: baseline;"> Leverage tools like Composer or Vertex AI Pipelines to schedule and automate gen AI tasks, to help ensure continuous data processing and analysis.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Model monitoring and evaluation:</strong><span style="vertical-align: baseline;"> Implementing an evaluation pipeline to monitor the performance of your gen AI models allows you to track accuracy, identify potential biases, and trigger retraining when necessary.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Version control:</strong><span style="vertical-align: baseline;"> Treat Gemini prompts and configurations as code, using version control systems to track changes and ensure reproducibility.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">The following resources are useful for integrating gen AI models into your data engineering production pipelines, and deliver robust, scalable, and reliable solutions: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/architecture/cicd-pipeline-for-data-processing"><span style="text-decoration: underline; vertical-align: baseline;">Use a CI/CD pipeline for data-processing workflows | Cloud Architecture Center</span></a><span style="vertical-align: baseline;"> </span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/discover/what-is-llmops?e=48754805&amp;hl=en"><span style="text-decoration: underline; vertical-align: baseline;">What is LLMOps (large language model operations)?</span></a></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/architecture/rag-capable-gen-ai-app-using-vertex-ai"><span style="text-decoration: underline; vertical-align: baseline;">Infrastructure for a RAG-capable generative AI application using Vertex AI and AlloyDB for PostgreSQL | Cloud Architecture Center</span></a></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Transform your data engineering processes with gen AI</strong></h3> <p><span style="vertical-align: baseline;">Gen AI is transforming the data engineering landscape, offering powerful capabilities for schema handling, data quality improvement, synthetic data generation, and data generation from unstructured sources. By embracing these advancements and adopting DataOps principles, get ready to unlock new levels of efficiency, accuracy, and insight from your data. Start experimenting with </span><a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-create-remote-model"><span style="text-decoration: underline; vertical-align: baseline;">Gemini in your own data pipelines</span></a><span style="vertical-align: baseline;"> and unlock the potential for greater consistency in data processing, insights from </span><a href="https://cloud.google.com/blog/products/data-analytics/generate-synthetic-data-with-bigquery-dataframes-and-llms"><span style="text-decoration: underline; vertical-align: baseline;">new data sources</span></a><span style="vertical-align: baseline;">, and ultimately, better business outcomes.</span></p></div> <div class="block-related_article_tout"> <div class="uni-related-article-tout h-c-page"> <section class="h-c-grid"> <a href="https://cloud.google.com/blog/products/data-analytics/introducing-ai-driven-bigquery-data-preparation/" data-analytics='{ "event": "page interaction", "category": "article lead", "action": "related article - inline", "label": "article: {slug}" }' class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6 h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"> <div class="uni-related-article-tout__inner-wrapper"> <p class="uni-related-article-tout__eyebrow h-c-eyebrow">Related Article</p> <div class="uni-related-article-tout__content-wrapper"> <div class="uni-related-article-tout__image-wrapper"> <div class="uni-related-article-tout__image" style="background-image: url('')"></div> </div> <div class="uni-related-article-tout__content"> <h4 class="uni-related-article-tout__header h-has-bottom-margin">BigQuery&#x27;s AI-assisted data preparation is now in preview</h4> <p class="uni-related-article-tout__body">BigQuery data preparation is an AI-first solution that streamlines and simplifies the data preparation process as part of Gemini in BigQu...</p> <div class="cta module-cta h-c-copy uni-related-article-tout__cta muted"> <span class="nowrap">Read Article <svg class="icon h-c-icon" role="presentation"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"></use> </svg> </span> </div> </div> </div> </div> </a> </section> </div> </div>Tue, 18 Feb 2025 18:00:00 +0000https://cloud.google.com/blog/products/data-analytics/how-gemini-in-bigquery-helps-with-data-engineering-tasks/AI & Machine LearningData AnalyticsarticleHow to use gen AI for better data schema handling, data quality, and data generationGooglehttps://cloud.google.com/blog/products/data-analytics/how-gemini-in-bigquery-helps-with-data-engineering-tasks/Deb LeeAI/ML Customer EngineerJaideep SethiCustomer EngineerCloud CISO Perspectives: New AI, cybercrime reports underscore need for security best practiceshttps://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-new-ai-cybercrime-reports-underscore-need-security-best-practices/<div class="block-paragraph"><p data-block-key="eucpw">Welcome to the first Cloud CISO Perspectives for February 2025. Stephanie Kiel, our head of cloud security policy, government affairs and public policy, discusses two parallel and important security conversations she had at the Munich Security Conference, following our new reports on AI and cybercrime.</p><p data-block-key="40gse">As with all Cloud CISO Perspectives, the contents of this newsletter are posted to the <a href="https://cloud.google.com/blog/products/identity-security/">Google Cloud blog</a>. If you’re reading this on the website and you’d like to receive the email version, you can <a href="https://inthecloud.withgoogle.com/google-cloud-ciso-newsletter/signup.html" target="_blank">subscribe here</a>.</p><p data-block-key="ktoc"><i>--Phil Venables, VP, TI Security &amp; CISO, Google Cloud</i></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Get vital board insights with Google Cloud&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c13c1c0&gt;), (&#x27;btn_text&#x27;, &#x27;Visit the hub&#x27;), (&#x27;href&#x27;, &#x27;https://cloud.google.com/solutions/security/board-of-directors?utm_source=cloud_sfdc&amp;utm_medium=email&amp;utm_campaign=FY24-Q2-global-PROD941-physicalevent-er-CEG_Boardroom_Summit&amp;utm_content=-&amp;utm_term=-&#x27;), (&#x27;image&#x27;, &lt;GAEImage: GCAT-replacement-logo-A&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph"><h3 data-block-key="hswvv">New AI, cybercrime reports underscore need for security best practices</h3><p data-block-key="6bufk"><i>By Stephanie Kiel, head of cloud security policy, government affairs and public policy, Google Cloud</i></p><p data-block-key="e6n31">Artificial intelligence has altered the world in a way that few technologies have, from how citizens procure goods, to the delivery of education and health services, to how digital networks are protected. Faced with operational pressures and resource constraints, malicious actors are turning to new methods of scaling their operations — including experimenting with AI and mobilizing cybercriminal communities by mixing ransomware development with intelligence collection.</p></div> <div class="block-paragraph_with_image"><div class="article-module h-c-page"> <div class="h-c-grid uni-paragraph-wrap"> <div class="uni-paragraph h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6 h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"> <figure class="article-image--wrap-small " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Stephanie_Kiel_crop.max-1000x1000.jpg" alt="Stephanie Kiel crop"> </a> <figcaption class="article-image__caption "><p data-block-key="nj7d4">Stephanie Kiel, head of cloud security policy, government affairs and public policy, Google Cloud</p></figcaption> </figure> <p data-block-key="0jyqm">These two evolutionary examples underscore the need for organizations to continue to prioritize and review security fundamentals as part of their risk-management posture.</p><p data-block-key="66k8f">We shared two new research reports at the Munich Security Conference last week on the <a href="https://cloud.google.com/blog/topics/threat-intelligence/adversarial-misuse-generative-ai">adversarial misuse of Gemini and AI capabilities</a>, and recommendations for policymakers on confronting the <a href="https://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat">global national security threat of financially-motivated cybercrime</a>.</p><p data-block-key="6lc0f">These reports follow our publication from last year’s Munich conference on <a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-building-better-cyber-defenses-with-ai/">building better network defenses with AI</a>.</p> </div> </div> </div> </div> <div class="block-paragraph"><p data-block-key="dnpuq">Together these two new reports highlight four important themes:</p><ul><li data-block-key="cmusm">Adversarial actors will continue to seek opportunities to use new technologies to their advantage.</li><li data-block-key="7csqk">Policymakers should consider mechanisms to enable bold and responsible innovation in the service of defense.</li><li data-block-key="9g95g">Innovation can help with defense, but strong network resilience practices should also be prioritized.</li><li data-block-key="9hnfk">Collaboration across sectors and stakeholders remains key as organizations develop and implement their own risk management plans.</li></ul><p data-block-key="38hke"><b>Adversaries and innovation</b></p><p data-block-key="5nh11">As technological advances occur, it is necessary to keep in mind that opportunistic malicious actors will also want to use them to their advantage. Our adversarial misuse of Gemini report suggests that threat actors are using Gemini for productivity gains, but Gemini’s built-in safeguards have prevented them from using Google’s AI capabilities for more disruptive purposes.</p></div> <div class="block-pull_quote"><div class="uni-pull-quote h-c-page"> <section class="h-c-grid"> <div class="uni-pull-quote__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6 h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"> <div class="uni-pull-quote__inner-wrapper h-c-copy h-c-copy"> <q class="uni-pull-quote__text">As these new technologies are adopted broadly, it is essential to keep in mind the importance of resilience and security best practices.</q> </div> </div> </section> </div> </div> <div class="block-paragraph"><p data-block-key="lyli0">This underscores both the importance of safe and secure development of AI capabilities and enabling the use of such capabilities to the greatest extent possible in the service of cybersecurity.</p><p data-block-key="2spok"><b>Enabling defense</b></p><p data-block-key="3sttk">While malicious actors work to apply AI capabilities for nefarious purposes, we believe the scales of AI still <a href="https://services.google.com/fh/files/misc/how-ai-can-reverse-defenders-dilemma.pdf" target="_blank">tip in the favor of network defense</a>. Similarly, network defenders can use AI capabilities to improve secure software development and deployment practices. Generative AI can help optimize the bandwidth of cyber defenders where the workforce is limited, and implement solutions where defenders are not available.</p><p data-block-key="3lsmq">Google has been working on such capabilities, and is building tools to <a href="https://cloud.google.com/architecture/framework/security/use-ai-for-security#enhance_threat_detection_and_response_with_ai">simplify security for experts and non-experts</a>. We have publicly shared other work under development, such as research published late last year on using large language models to <a href="https://googleprojectzero.blogspot.com/2024/10/from-naptime-to-big-sleep.html" target="_blank">catch zero-day vulnerabilities</a> in real-world code. Our teams are <a href="https://cloud.google.com/security/products/threat-intelligence?e=48754805&amp;hl=en">also actively using AI for threat analysis</a>.</p><p data-block-key="707c"><b>Continued importance of traditional best practices</b></p><p data-block-key="876dt">As these new technologies are adopted broadly, it is essential to keep in mind the importance of resilience and security best practices.</p><p data-block-key="92o14">While we track how threat actors use new technologies such as generative AI, organizations need to shore up defenses against known, longstanding malicious tactics, techniques, and procedures, and to develop risk management strategies accordingly. There is no substitute for a strong foundation based on robust adoption of cybersecurity measures, and support for initiatives that enhance the resilience of digital systems (including uptake of new security technologies, where possible).</p><p data-block-key="d1svl"><b>Collaboration to drive defense</b></p><p data-block-key="aura9"><a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-the-high-value-of-cross-industry-communication/">Collaboration across sectors and stakeholders</a> is critical for defense as well. Countries must work with each other and the private sector on systemic solutions for achieving broader success against malicious cyber activity, as highlighted in our new cybercrime report.</p><p data-block-key="1888o">The stakes are high. When hospitals are locked out of critical systems, <a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-how-google-is-helping-to-improve-rural-healthcare-cybersecurity/">patient care suffers</a>. When water delivery is disrupted, entire <a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-why-water-security-cant-wait">communities are left vulnerable</a>. The effects of cybercrime extend far beyond stolen money or data breaches; they erode public trust, and destabilize essential services. Continued malicious cyberattacks demand strong, collaborative action.</p><p data-block-key="aa7l6">We look forward to continued partnership with customers, governments, and other stakeholders to drive advantages for network defense.</p><p data-block-key="as36k"><i>You can read here our reports on the</i> <a href="https://cloud.google.com/blog/topics/threat-intelligence/adversarial-misuse-generative-ai"><i>adversarial misuse of Gemini</i></a><i>, and the</i> <a href="https://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat"><i>national security threat of cybercrime</i></a><i>.</i></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Join the Google Cloud CISO Community&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c13c520&gt;), (&#x27;btn_text&#x27;, &#x27;Learn more&#x27;), (&#x27;href&#x27;, &#x27;https://rsvp.withgoogle.com/events/ciso-community-interest?utm_source=cgc-blog&amp;utm_medium=blog&amp;utm_campaign=2024-cloud-ciso-newsletter-events-ref&amp;utm_content=-&amp;utm_term=-&#x27;), (&#x27;image&#x27;, &lt;GAEImage: GCAT-replacement-logo-A&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph"><h3 data-block-key="4bd61"><b>In case you missed it</b></h3><p data-block-key="dsd5j">Here are the latest updates, products, services, and resources from our security teams so far this month:</p><ul><li data-block-key="47idu"><b>Next ‘25 can help elevate your cybersecurity skills. Here’s how</b>: From red teaming to tabletop exercises to the SOC Arena, Next '25 has something for security pros and newcomers alike. <a href="https://cloud.google.com/blog/products/identity-security/why-you-should-check-out-our-security-hub-at-next25"><b>Read more</b></a>.</li><li data-block-key="5boqv"><b>How Google manages vulnerability detection and remediation</b>: How does Google handle vulnerabilities? Ana Oprea shares core practices behind Google’s vulnerability management program, as part of our new "How Google Does It" series. <a href="https://cloud.google.com/transform/how-google-does-it-vulnerability-detection-remediation"><b>Read more</b></a>.</li><li data-block-key="c6smt"><b>Safeguarding users and strengthening national security</b>: AI holds immense possibilities for cybersecurity — and also economic and national security. We’re offering new recommendations for policymakers, threat research on the adversarial misuse of AI, and insights on the role AI will play in national security, as well as initiatives designed to safeguard users and strengthen cyber defense in the AI era. <a href="https://blog.google/technology/safety-security/ai-and-security-safeguarding-users-and-strengthening-national-security/" target="_blank"><b>Read more</b></a>.</li><li data-block-key="5a0f9"><b>5 ways Google Cloud can help you minimize credential theft risk</b>: Here’s five ways to protect your cloud deployments from threat actors exploiting compromised cloud identities. <a href="https://cloud.google.com/blog/products/identity-security/5-ways-google-cloud-can-help-you-minimize-credential-theft-risk"><b>Read more</b></a>.</li><li data-block-key="1jjal"><b>Secure-by-design blueprint for a high-assurance web framework</b>: Following years of work where we’ve reduced the number of critical web vulnerabilities such as XSS in Google applications by more than order of magnitude, we’re proposing a new, detailed blueprint based on how we created this high-assurance web framework that almost completely eliminates exploitable web vulnerabilities. <a href="https://bughunters.google.com/blog/6644316274294784/secure-by-design-google-s-blueprint-for-a-high-assurance-web-framework" target="_blank"><b>Read more</b></a>.</li><li data-block-key="13g4"><b>Our 2024 Responsible AI report</b>: Our sixth annual Responsible AI Progress Report details how we govern, map, measure, and manage AI risk throughout the AI development lifecycle. The report highlights the progress we have made over the past year building governance structures for our AI product launches. <a href="https://blog.google/technology/ai/responsible-ai-2024-report-ongoing-work/" target="_blank"><b>Read more</b></a>.</li><li data-block-key="8t9tr"><b>$15 million to support hands-on cybersecurity education</b>: Google.org is announcing support for universities across Europe, the Middle East and Africa that will help expand access to cybersecurity education for thousands of students. <a href="https://blog.google/outreach-initiatives/google-org/cybersecurity-program/" target="_blank"><b>Read more</b></a>.</li><li data-block-key="f298u"><b>The paradox of more tools, but less security</b>: Discover the key findings of Google's global security study of more than 2,000 IT and security professionals at our March 6 webinar with Google security experts. <a href="https://cloudonair.withgoogle.com/events/the-security-paradox-more-tools-less-security?utm_source=cloud_sfdc&amp;utm_medium=email&amp;utm_campaign=FY25-Q1-global-GOO29365-onlineevent-er-security-paradox-webinar&amp;utm_content=ciso_newsletter&amp;utm_term=-" target="_blank"><b>Register here</b></a>.</li></ul><p data-block-key="cuqr3">Please visit the Google Cloud blog for more security stories <a href="https://cloud.google.com/blog/products/identity-security">published this month</a>.</p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Learn something new&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c17f910&gt;), (&#x27;btn_text&#x27;, &#x27;Watch the video&#x27;), (&#x27;href&#x27;, &#x27;https://www.youtube.com/watch?v=NtANWZPHUak&#x27;), (&#x27;image&#x27;, &lt;GAEImage: GCAT-replacement-logo-A&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph"><h3 data-block-key="29tyz"><b>Threat Intelligence news</b></h3><ul><li data-block-key="1f7pn"><b>Cybercrime, the multifaceted national security threat</b>: In this report, Google Threat Intelligence Group (GTIG) discusses the current state of cybercrime, emphasizing why these attacks must be considered a national security threat. We also share our approach for tackling this challenge. <a href="https://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat"><b>Read more</b></a>.</li><li data-block-key="95h05"><b>Adversarial misuse of generative AI</b>: GTIG reports on how advanced persistent threat and coordinated information operations actors are attempting to misuse Gemini. <a href="https://cloud.google.com/blog/topics/threat-intelligence/adversarial-misuse-generative-ai?e=48754805"><b>Read more</b></a>.</li><li data-block-key="eo2km"><b>ScatterBrain and the unmasking of PoisonPlug's obfuscator</b>: China-nexus threat actors are evading detection and analysis by using a backdoor that employs a custom obfuscating compiler we call ScatterBrain. <a href="https://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat"><b>Read more</b></a>.</li><li data-block-key="ard6b"><b>Exploring third-party installer abuse in CVE-2023-6080</b>: Building upon the insights shared in a <a href="https://cloud.google.com/blog/topics/threat-intelligence/privileges-third-party-windows-installers/">previous Mandiant blog post</a>, this case study explores the ongoing challenge of securing third-party Windows installers. <a href="https://cloud.google.com/blog/topics/threat-intelligence/cve-2023-6080-third-party-installer-abuse/"><b>Read more</b></a>.</li><li data-block-key="emg85"><b>Using capa rules for Android malware detection</b>: To combat new security challenges, the Android Security and Privacy Team has partnered with Mandiant FLARE to extend the open-source binary analysis tool capa to analyze native ARM ELF files targeting Android systems. <a href="https://cloud.google.com/blog/topics/threat-intelligence/capa-rules-android-malware-detection/"><b>Read more</b></a>.</li><li data-block-key="4k55u"><b>Strategic threat intelligence for financial institutions</b>: We recently shared insights from Google Threat Intelligence at a webinar for financial institutions, including on threat actors, malicious campaigns, malware, and exploited CVEs. <a href="https://www.googlecloudcommunity.com/gc/Community-Blog/Strategic-Threat-Intelligence-for-Financial-Institutions/ba-p/860756" target="_blank"><b>Read more</b></a>.</li></ul><p data-block-key="8ptfa">Please visit the Google Cloud blog for more threat intelligence stories <a href="https://cloud.google.com/blog/topics/threat-intelligence/">published this month</a>.</p></div> <div class="block-paragraph"><h3 data-block-key="rcfc5"><b>Now hear this: Google Cloud Security and Mandiant podcasts</b></h3><ul><li data-block-key="5900e"><b>Everything you were afraid to ask about cloud security surprises</b>: Or Brokman, strategic Google Cloud engineer, talks about common cloud security mistakes and why they keep happening, with hosts Anton Chuvakin and Tim Peacock. <a href="https://cloud.withgoogle.com/cloudsecurity/podcast/ep210-cloud-security-surprises-real-stories-real-lessons-real-oh-no-moments/" target="_blank"><b>Listen here</b></a><b>.</b></li><li data-block-key="86av9"><b>Navigating the new security landscape with ‘virtual’ cloud CISOs</b>: Beth Cartier, former CISO, vCISO, and founder of Initiative Security, explores AI, cybersecurity, resilience, and whether today’s organizations are addressing all three properly, with Anton and guest host Marina Kaganovich. <a href="https://cloud.withgoogle.com/cloudsecurity/podcast/ep209-vciso-in-the-cloud-navigating-the-new-security-landscape-and-dont-forget-resilience/" target="_blank"><b>Listen here</b></a><b>.</b></li><li data-block-key="588pb"><b>Defender's Advantage: Agentic AI in cybersecurity</b>: Steph Hay, senior director, Gemini Product and UX, Google Cloud Security, joins host Luke McNamara to discuss agentic AI and its implications for security disciplines. <a href="https://www.youtube.com/watch?v=TtwD7LzgcLA&amp;list=PLjiTz6DAEpuINUjE8zp5bAFAKtyGJvnew" target="_blank"><b>Listen here</b></a><b>.</b></li><li data-block-key="ccgea"><b>Behind the Binary: Shaping the world of reverse engineering</b>: Security researcher Saumil Shah discusses the evolution of reverse engineering tools and techniques, shares insights on the importance of continuous learning, and why he started his own security conference. <a href="https://www.youtube.com/watch?v=ivP6pxL5N1w" target="_blank"><b>Listen here</b></a><b>.</b></li></ul><p data-block-key="f7t8s">To have our Cloud CISO Perspectives post delivered twice a month to your inbox, <a href="https://go.chronicle.security/cloudciso-newsletter-signup" target="_blank">sign up for our newsletter</a>. We’ll be back in February with more security-related updates from Google Cloud.</p></div>Tue, 18 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-new-ai-cybercrime-reports-underscore-need-security-best-practices/Cloud CISOSecurity & IdentityarticleCloud CISO Perspectives: New AI, cybercrime reports underscore need for security best practiceshttps://storage.googleapis.com/gweb-cloudblog-publish/images/Cloud_CISO_Perspectives_header_4_Blue.max-600x600.pngGooglehttps://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-new-ai-cybercrime-reports-underscore-need-security-best-practices/Phil VenablesVP, TI Security & CISO, Google CloudStephanie Kielhead of cloud security policy, government affairs and public policy, Google CloudBigQuery ML is now compatible with open-source gen AI modelshttps://cloud.google.com/blog/products/data-analytics/run-open-source-llms-on-bigquery-ml/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">BigQuery Machine Learning allows you to use large language models (LLMs), like Gemini, to perform tasks such as entity extraction, sentiment analysis, translation, text generation, and more on your data using familiar SQL syntax.</span></p> <p><span style="vertical-align: baseline;">Today, we are extending this capability with support for any open-source LLM from the Vertex AI Model Garden — including any models you deploy from Hugging Face and including OSS models you might have tuned. This greatly expands the model choice available to developers.</span></p> <p><span style="vertical-align: baseline;">In this post, we use the Meta Llama 3.3 70B model to illustrate how this integration works. However, you can use any of 170K+ </span><a href="https://huggingface.co/models?pipeline_tag=text-generation&amp;sort=trending" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">text generation</span></a><span style="vertical-align: baseline;"> models available on Hugging Face by following the same steps. We've also got a tutorial </span><a href="https://github.com/GoogleCloudPlatform/generative-ai/blob/main/open-models/use-cases/bigquery_ml_llama_inference.ipynb" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">notebook</span></a><span style="vertical-align: baseline;"> ready for you, or you can jump right into the steps below.</span></p> <h3><strong style="vertical-align: baseline;">Using Open-Source Software (OSS) models with BigQuery ML</strong></h3> <p><strong style="vertical-align: baseline;">1. Host the model on a Vertex endpoint<br/></strong><span style="vertical-align: baseline;">First, choose a </span><span style="font-style: italic; vertical-align: baseline;">text -generation</span><span style="vertical-align: baseline;"> model from </span><a href="https://huggingface.co/models?pipeline_tag=text-generation&amp;sort=trending" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Hugging Face</span></a><span style="vertical-align: baseline;">. Then, navigate to </span><strong style="vertical-align: baseline;">Vertex AI Model Garden</strong><span style="vertical-align: baseline;"> &gt; </span><strong style="vertical-align: baseline;">Deploy from Hugging Face</strong><span style="vertical-align: baseline;">. Enter the model URL and optionally modify the endpoint name, deployment region, and machine spec for the deployment endpoint.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--medium h-c-grid__col h-c-grid__col--4 h-c-grid__col--offset-4 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_NoOazAg.max-1000x1000.png" alt="1"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Alternatively, you can search for </span><strong style="vertical-align: baseline;">‘Llama 3.3’</strong><span style="vertical-align: baseline;"> from the Vertex AI Model Garden UI, accept the terms, and deploy the model endpoint. You can also do this step programmatically (see the tutorial </span><a href="https://github.com/GoogleCloudPlatform/generative-ai/blob/main/open-models/use-cases/bigquery_ml_llama_inference.ipynb" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">notebook</span></a><span style="vertical-align: baseline;"> here).</span></p> <p><strong style="vertical-align: baseline;">Note:</strong><span style="vertical-align: baseline;"> To use LLama models, you need to agree to </span><strong style="vertical-align: baseline;">LLAMA 3.3 COMMUNITY LICENSE AGREEMENT</strong><span style="vertical-align: baseline;"> on the LLama 3.3 Model Card in Hugging Face or accept terms in the Vertex Model Garden UI. You need to complete this step before deploying the model.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud data analytics&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c05b190&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/bigquery/&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><strong style="vertical-align: baseline;">2. Create a remote model in BigQuery<br/></strong><span style="vertical-align: baseline;">Model deployment takes several minutes. After the deployment is complete, create a remote model in BigQuery using a SQL statement like following:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &quot;CREATE OR REPLACE MODEL bqml_tutorial.llama_3_3_70b\r\nREMOTE WITH CONNECTION `LOCATION.CONNECTION_ID&#x27;\r\nOPTIONS\r\n(endpoint=&#x27;https://&lt;region&gt;-aiplatform.googleapis.com/v1/projects/&lt;project_name&gt;/locations/&lt;region&gt;/endpoints/&lt;endpoint_id&gt;&#x27;\r\n)&quot;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c4cf5e0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">To allow BigQuery to connect to a remote endpoint you need to provide a ‘Connection’. If you don’t already have a connection you can create one following the instructions </span><a href="https://cloud.google.com/bigquery/docs/bigquery-ml-remote-model-tutorial#create_a_cloud_resource_connection"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;">. Replace the placeholder endpoint in the above code sample with the endpoint URL. You can get information on endpoint_id from the console via Vertex AI &gt; Online Prediction&gt;Endpoints&gt;Sample Request.</span></p> <p><strong style="vertical-align: baseline;">3. Perform inference<br/></strong><span style="vertical-align: baseline;">You are now ready to perform inference against this model from BigQuery ML.</span><span style="vertical-align: baseline;">For this scenario, take this medical transcripts dataset as an example. It has unstructured and varied raw transcripts capturing history, diagnosis and treatment provided of patients visiting a medical facility. A sample transcript looks like the image below:</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Bautcsb.max-1000x1000.png" alt="2"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><strong><span style="vertical-align: baseline;">Create a table</span></strong></p> <p><span style="vertical-align: baseline;">To analyze this data in BigQuery, first create a table.</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &quot;LOAD DATA OVERWRITE bqml_tutorial.medical_transcript\r\nFROM FILES( format=&#x27;NEWLINE_DELIMITED_JSON&#x27;,uris = [&#x27;gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl&#x27;] )&quot;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c4cfac0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><strong><span style="vertical-align: baseline;">Perform inference</span></strong></p> <p><span style="vertical-align: baseline;">You can now use your Llama model to extract structured data from the unstructured transcripts in your table. Say you want to extract the patient's age, gender and list of diseases for each entry. You can do so with a SQL statement like the following and save the derived insights to a table. </span><span style="vertical-align: baseline;">Include the information you want to extract and its schema in the model prompt.</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;CREATE TEMP FUNCTION ExtractOutput(s STRING)\r\nRETURNS STRING\r\nAS (\r\n SUBSTR(s, INSTR(s, &quot;Output:&quot;)+8)\r\n);\r\n\r\n\r\nCREATE OR REPLACE TABLE bqml_tutorial.medical_transcript_analysis_results AS (\r\nSELECT\r\n ExtractOutput(ml_generate_text_llm_result) AS generated_text, * EXCEPT(ml_generate_text_llm_result)\r\nFROM\r\n ML.GENERATE_TEXT( MODEL `bqml_tutorial.llama_3_3_70b`,\r\n (\r\n SELECT\r\n CONCAT(\&#x27;Extract the Gender, Age (in years), and Disease information from the following medical transcript. Return **only** a JSON in the following schema: \\n{ &quot;Age&quot;: Int, &quot;Gender&quot;: &quot;String&quot;, &quot;Disease&quot;: [&quot;String&quot;]}. If Age, Gender, or Disease information is not found, return `null` for that field. Summarize the disease(s) in 1 to 5 words. If the patient has multiple diseases, include them in a comma-separated list within the &quot;Disease&quot; field. Do not include any other text or labels in your response.**. \\n\&#x27;, input_text) AS prompt\r\n FROM\r\n bqml_tutorial.medical_transcript\r\n ),\r\n STRUCT(\r\n 0 AS temperature,\r\n 0.001 AS top_p,\r\n 1 AS top_k,\r\n 128 AS max_output_tokens,\r\n TRUE AS flatten_json_output))\r\n);\r\n\r\n\r\nSELECT * FROM bqml_tutorial.medical_transcript_analysis_results;&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c4cf9a0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">The output returned from this Llama endpoint includes the input prompt so we also wrote and used a ExtractOutput function to help us parse the output. The output table with the results in the ‘generated_text’ column is as follows: </span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Zw0bZ9p.max-1000x1000.png" alt="3"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><strong><span style="vertical-align: baseline;">Perform analytics on results</span></strong></p> <p><span style="vertical-align: baseline;">You can now perform all sorts of analytics on this data. For example, answer ‘What are the most common diseases in females with age 30+ in our sample?’ using a simple SQL query. You can see that ‘Hypertension’, ‘Arthritis’ and ‘Hyperlipidemia’ are most common.</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &quot;WITH\r\n parsed_data AS (\r\n SELECT\r\n JSON_EXTRACT_SCALAR(generated_text, &#x27;$.Gender&#x27;) AS gender,\r\n CAST(JSON_EXTRACT_SCALAR(generated_text, &#x27;$.Age&#x27;) AS INT64) AS age,\r\n JSON_EXTRACT_ARRAY(generated_text, &#x27;$.Disease&#x27;) AS diseases,\r\n FROM\r\n bqml_tutorial.medical_transcript_analysis_test)\r\n\r\nSELECT\r\n disease,\r\n count(*) AS occurrence\r\nFROM\r\n parsed_data, UNNEST(diseases) AS disease\r\nWHERE\r\n LOWER(gender) = &#x27;female&#x27;\r\n AND age &gt;= 30\r\nGROUP BY\r\n disease\r\nORDER BY\r\n occurrence DESC\r\nLIMIT 3;&quot;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c4cf6a0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Get started today</strong></h3> <p><span style="vertical-align: baseline;">Try out BigQuery with your own preferred open model or a tuned/distilled model with the BigQuery and Vertex Model Garden integration today. Learn more in our </span><a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-create-remote-model-open"><span style="text-decoration: underline; vertical-align: baseline;">documentation</span></a><span style="vertical-align: baseline;">.</span></p></div>Tue, 18 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/data-analytics/run-open-source-llms-on-bigquery-ml/AI & Machine LearningData AnalyticsarticleBigQuery ML is now compatible with open-source gen AI modelsGooglehttps://cloud.google.com/blog/products/data-analytics/run-open-source-llms-on-bigquery-ml/Vaibhav SethiProduct ManagerJasper XuSoftware Engineer, Google CloudDeep dive into AI with Google Cloud’s global generative AI roadshowhttps://cloud.google.com/blog/topics/developers-practitioners/attend-the-google-cloud-genai-roadshow/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">The AI revolution isn't just about large language models (LLMs) - it's about building real-world solutions that change the way you work. </span><span style="vertical-align: baseline;">Google's global AI roadshow offers an immersive experience that's designed to empower you, the developer, to push the boundaries of what's possible with AI. The global roadshow is a hands-on event. Forget the abstract concepts; we're diving into code, deployment, and complex architectures. </span></p> <p><span style="vertical-align: baseline;">Across the globe, we're hosting dynamic events to provide practical, code-level engagement with Google's most advanced AI technologies. These events will show you how to leverage everything from Google’s cloud infrastructure to the latest Gemini 2.0 models. Whether you're a seasoned engineer looking to optimize your system, a developer seeking to build cutting-edge applications, or a startup founder ready to innovate, this roadshow is your direct line to the future of AI development.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud developer tools&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53ccbef10&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><span style="vertical-align: baseline;">Unlocking the power of AI: What awaits you</span></h3> <p><span style="vertical-align: baseline;">This global roadshow is structured to provide both foundational knowledge and specialized deep dives. We're tailoring each event to address the specific needs and interests of our global community. Our roadshow covers the core pillars of modern AI development:</span></p> <p><strong style="vertical-align: baseline;">Cloud infrastructure for AI:</strong><span style="vertical-align: baseline;"> Gain expertise in leveraging Google Cloud to build, deploy, and scale AI solutions. Learn how services like Cloud Run provide the bedrock for flexible and robust AI applications.</span></p> <p><strong style="vertical-align: baseline;">Advanced generative models</strong><span style="vertical-align: baseline;">: Master the use of powerful LLMs such as Gemini 2.0. Dive into techniques for integrating them into a variety of workflows, from real-time voice and video applications to advanced search capabilities and image or video object detection.</span></p> <p><strong style="vertical-align: baseline;">Responsible AI development</strong><span style="vertical-align: baseline;">: Learn how to utilize robust evaluation frameworks to build safe and trustworthy AI solutions. Understand how to mitigate challenges such as hallucinations, outdated information, and chaotic output formats.</span></p> <p><strong style="vertical-align: baseline;">Multi-agent systems:</strong><span style="vertical-align: baseline;"> Discover the complexities of building systems with interactive AI agents. Gain practical experience in architecting dynamic and responsive AI workflows that are uniquely tailored to your specific needs.</span></p> <h3><span style="vertical-align: baseline;">Why this roadshow is a must-attend</span></h3> <p><span style="vertical-align: baseline;">You can access and grow your AI opportunities:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Deep technical content</strong><span style="font-style: italic; vertical-align: baseline;">:</span><span style="vertical-align: baseline;"> Go beyond surface-level knowledge with in-depth sessions led by Google's experts.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Practical hands-on experience</strong><span style="vertical-align: baseline;">: Gain real-world skills through interactive workshops and hands-on labs – bring your laptop and dive in!</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Networking with peers</strong><span style="vertical-align: baseline;">: Connect and collaborate with a global community of AI innovators and experts.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Cutting-edge tech</strong><span style="vertical-align: baseline;">: Stay at the forefront of the AI revolution and discover the latest advancements in Google's AI ecosystem.</span></p> </li> </ul> <h3><span style="vertical-align: baseline;">Ready to transform your AI journey?</span></h3> <p><span style="vertical-align: baseline;">Work with the tools, gain the expertise, and join the conversation that’s shaping the future of AI. Don't just witness the AI revolution – lead it. Find your closest event and secure your spot today!</span></p> <ul> <li role="presentation"><span style="vertical-align: baseline;">Bangalore</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Tue, 11 Feb </span></li> <li role="presentation"><span style="vertical-align: baseline;">Hyderabad</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Thu, 13 Feb</span></li> <li role="presentation"><span style="vertical-align: baseline;">Amsterdam </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-dev-cloud-day-amsterdam"><span style="text-decoration: underline; vertical-align: baseline;">Tue, 18 Feb </span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Munich </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-dev-cloud-day-munich?e=48754805&amp;hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 20 Feb</span></a><span style="vertical-align: baseline;"> </span></li> <li role="presentation"><span style="vertical-align: baseline;">Jakarta</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-cloud-labs-building-with-gemini-indonesia?e=48754805&amp;utm_source=sales_contacts&amp;utm_medium=email&amp;utm_campaign=FY25-Q1-apac-APA31030-physicalevent-er-Google-Cloud-Labs-ID_mc&amp;utm_content=invite-1&amp;utm_term=-"><span style="text-decoration: underline; vertical-align: baseline;">Fri, 21 Feb</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Surabaya</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://gdg.community.dev/events/details/google-gdg-surabaya-presents-generative-ai-in-action-roadshow-surabaya-2025/" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Sat, 22 Feb</span></a><span style="vertical-align: baseline;"> </span></li> <li role="presentation"><span style="vertical-align: baseline;">Zurich </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-dev-cloud-day-zurich"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 27 Feb </span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Bangkok</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://gdg.community.dev/events/details/google-gdg-cloud-bangkok-presents-generative-ai-in-action-and-chaiyogcp-season-5-kick-off-event/" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Sat, 1 Mar</span></a><span style="vertical-align: baseline;"> </span></li> <li role="presentation"><span style="vertical-align: baseline;">Gurgaon </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Sat, 1 Mar (RSVP Coming soon)</span></li> <li role="presentation"><span style="vertical-align: baseline;">Warsaw </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="http://cloud.google.com/events/google-dev-cloud-day-warsaw"><span style="text-decoration: underline; vertical-align: baseline;">Tue, 4 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">London </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-dev-cloud-day-london"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 6 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Toronto</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://rsvp.withgoogle.com/events/build-with-ai-toronto" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 6 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Singapore</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Fri, 7 Mar (RSVP Coming soon)</span></li> <li role="presentation"><span style="vertical-align: baseline;">NYC</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://rsvp.withgoogle.com/events/build-with-ai-nyc" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Tues, 11 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Paris </span><a href="https://cloudonair.withgoogle.com/events/build-with-gemini" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Tues, 11 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Istanbul</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/events/google-dev-cloud-day-istanbul"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 13 Mar </span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Bay Area</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://rsvp.withgoogle.com/events/build-with-ai-bayarea" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 13 Mar</span></a></li> <li role="presentation"><span style="vertical-align: baseline;">Stockholm </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Tue, 18 Mar (RSVP Coming soon)</span></li> <li role="presentation"><span style="vertical-align: baseline;">Seattle</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://rsvp.withgoogle.com/events/build-with-ai-seattle" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Tue, 18 Mar</span></a><span style="vertical-align: baseline;"> </span></li> <li role="presentation"><span style="vertical-align: baseline;">Milan </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">Thu, 20 Mar (RSVP Coming soon)</span></li> <li><span><span style="vertical-align: baseline;">Austin</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;"> </span><a href="https://rsvp.withgoogle.com/events/build-with-ai-aus" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Thu, 20 Mar</span></a><span style="vertical-align: baseline;"> </span></span></li> </ul></div>Fri, 14 Feb 2025 19:00:00 +0000https://cloud.google.com/blog/topics/developers-practitioners/attend-the-google-cloud-genai-roadshow/Developers & PractitionersarticleDeep dive into AI with Google Cloud’s global generative AI roadshowhttps://storage.googleapis.com/gweb-cloudblog-publish/images/1_-_GenAI_Roadshow.max-600x600.pngGooglehttps://cloud.google.com/blog/topics/developers-practitioners/attend-the-google-cloud-genai-roadshow/Christina LinDeveloper Relations Engineering ManagerChromeOS Flex: A Valentine’s Gift for Your PChttps://cloud.google.com/blog/products/chrome-enterprise/chromeos-flex-a-valentines-gift-for-your-pc/<div class="block-paragraph"><p data-block-key="bwa4v">Is your laptop starting to collect a bit of dust, slowing down, or just not acting the same as it used to? This Valentine’s day, you have an opportunity to give it the gift of a fresh start with ChromeOS Flex.</p><p data-block-key="9mknc">Think of ChromeOS Flex as your cupid, ready to rekindle the spark with your aging hardware. It’s Google’s no-cost, cloud-based operating system, designed to breathe new life into older PCs and Macs. Whether you’re already seeing performance decline, or you may even be ineligible for the upcoming Windows 11 upgrade, ChromeOS Flex can help modernize your device in minutes - all without breaking the bank. Sounds like true love, right?</p><p data-block-key="9ibnn"><b>So, what is ChromeOS Flex?</b></p><p data-block-key="4q19a">ChromeOS Flex is similar to the operating system found on Chromebooks, known for its speed, simplicity, and security. However, it’s tailored for installation on devices that weren’t designed for ChromeOS. You can take your existing Mac or PC, which may have become sluggish over time, and make it speedier, more user friendly, and more secure. In fact, there’s plenty of reasons to fall in love with ChromeOS Flex:</p><ul><li data-block-key="b223"><b>Speed</b>: Remember waiting ages for your old computer to start up? ChromeOS Flex boots up in seconds, letting you get started quickly.</li><li data-block-key="f9cgv"><b>Security</b>: ChromeOS Flex comes with built-in security features, protecting you from the latest malware, viruses, and other online threats.</li><li data-block-key="770ov"><b>Sustainability</b>: Instead of throwing away your old device, you can give it a new lease on life. It’s the environmentally friendly way to show your tech some love.</li><li data-block-key="1og5n"><b>Free</b>: That’s right–ChromeOS Flex is free to install. It really is the gift that keeps on giving.</li></ul><p data-block-key="8eb3j"><b>Ready to Flex? It’s just a few steps:</b></p><ol><li data-block-key="6rhe3"><b>Check compatibility</b>: First, make sure your device is compatible (it probably is). Google has a list of over <a href="https://support.google.com/chromeosflex/answer/11513094?hl=en" target="_blank">600 certified devices here</a>.</li><li data-block-key="55maf"><b>Create a bootable USB drive</b>: You’ll need a USB drive (at least 8GB) to create the installer. You can <a href="https://support.google.com/chromeosflex/answer/11552529?hl=en&amp;ref_topic=11551271&amp;sjid=16926309971509814563-NC" target="_blank">see how to create the bootable drive here</a>.</li><li data-block-key="eqefr"><b>Boot from the USB drive</b>: Insert the USB drive into your laptop, power it on, and <a href="https://support.google.com/chromeosflex/answer/11552352?hl=en&amp;ref_topic=11551271&amp;sjid=16926309971509814563-NC" target="_blank">use your boot key</a> to boot from the USB drive.</li><li data-block-key="2gljh"><b>Install ChromeOS Flex</b>: The rest is easy! Just follow the on-screen instructions to install ChromeOS Flex on your computer.</li></ol><p data-block-key="5risp">This Valentine’s day, give your old laptop a new lease on life with ChromeOS Flex. It’s the perfect way to show your tech some love, without breaking the bank or contributing to e-waste. And who knows, you might just fall in love with your old computer all over again!</p><p data-block-key="eipfr">Interested in learning even more about ChromeOS Flex? <a href="https://chromeos.google/products/chromeos-flex/" target="_blank">Check out our website</a>.</p></div>Fri, 14 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/chrome-enterprise/chromeos-flex-a-valentines-gift-for-your-pc/Chrome EnterprisearticleChromeOS Flex: A Valentine’s Gift for Your PChttps://storage.googleapis.com/gweb-cloudblog-publish/images/Post3_23952_ChromeOS_Flex_Valentines_Day_Soc.max-600x600.pngGooglehttps://cloud.google.com/blog/products/chrome-enterprise/chromeos-flex-a-valentines-gift-for-your-pc/Will SmithProduct Manager, ChromeOSWhere’s the beef? For São Paulo’s agricultural secretariat, it’s on Cloud SQL for SQL Serverhttps://cloud.google.com/blog/products/databases/sao-paulo-ranchers-raise-efficiency-with-cloud-sql-for-sql-server/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">When most people think of São Paulo, business and culture usually come to mind, not beef and chicken. But the state of São Paulo isn’t only home to the largest city in the hemisphere — it’s also the second largest producer of meat in a country that’s the second largest agricultural exporter in the world. Given the importance of agribusiness to Brazil’s economy, </span><a href="https://www.agricultura.sp.gov.br/" rel="noopener" target="_blank"><strong style="text-decoration: underline; vertical-align: baseline;">the Secretariat of Agriculture and Supply of the State of São Paulo</strong></a><strong style="vertical-align: baseline;"> (SAA-SP)</strong><span style="vertical-align: baseline;"> plays a fundamental role in the development of agribusiness across the region and, by extension, the country.</span></p> <p><span style="vertical-align: baseline;">With the mission of promoting the sustainable production of food, fibers and bioenergy, SAA-SP offers support to rural producers in several areas, such as technical assistance, research, agricultural defense, and access to markets. The Secretariat is also responsible for ensuring food security for the population, monitoring the quality of agricultural products and promoting nutritional education actions.</span></p> <p><span style="vertical-align: baseline;">As the world’s food systems have evolved and grown more complex, organizations have looked to technology to help meet the goals for food security and sustainability. In the case of SAA-SP, the secretariat needs to securely manage increasing amounts of confidential data and ensure its critical systems are available 24/7. These systems include the Rural Environmental Registry (a mandatory electronic registry for all rural properties), and GEDAVE (a management system for animal and plant monitoring).</span></p> <p><span style="vertical-align: baseline;">To give a sense of just how complex the system is, in one example, GEDAVE would handle controls for the management of poultry production, whereby each chick, after birth, needs to be transferred to a new location within 24 hours — and the entire process must be rigorously documented to ensure food safety.</span></p> <p><span style="vertical-align: baseline;">If it wanted to meet the needs not only of its aging IT infrastructure but also the needs of a growing global population in need of safe, reliable food sources, the SAA-SP knew it was time to modernize some of our most important systems.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud databases&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53c07a8e0&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/products?#databases&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">The growing pains:</strong></h3> <p><span style="vertical-align: baseline;">Our team in the Department of Systems Management sits within the Information Technology Coordination organization of the SAA-SP. We’re in charge of operating GEDAVE, which is a crucial system for SAA-SP that’s responsible for controlling and monitoring animal and plant health throughout the state of São Paulo. </span></p> <p><span style="vertical-align: baseline;">GEDAVE records and manages data on animal movement, plant production, use of pesticides, vaccination, pest and disease control, among other information relevant to São Paulo's agriculture. GEDAVE assists in issuing documents such as the Animal Transit Guide (GTA) and the Phytosanitary Certificate of Origin (CFO), which are essential for the trade of agricultural products.</span></p> <p><span style="vertical-align: baseline;">GEDAVE's back-end was developed in Java and connected to a SQL Server database. It contains sensitive information about rural producers, such as production data, management strategies, and financial information. Previously, this database was hosted on-premises, which caused a series of issues, including:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Difficulty in keeping the database up to date:</strong><span style="vertical-align: baseline;"> Applying patches and security updates in the on-premises environment required time and planning, resulting in periods of system unavailability, directly impacting producers who depend on SAA-SP services.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Complexity in performing regular backups:</strong><span style="vertical-align: baseline;"> Ensuring data security with regular and reliable backups was a complex and laborious process in the on-premises environment.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Challenging high availability:</strong><span style="vertical-align: baseline;"> Maintaining high availability of the on-premises database required investments in redundant and complex infrastructure, increasing management costs and complexity.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">In addition, SAA-SP needed to ensure the 24/7 availability of these systems to help producers meet market demands, including such complex issues as quality control for export and monitoring internal production.</span></p> <p><span style="vertical-align: baseline;">Data security was also crucial, as information on types of herds, vaccination strategies, pest control, among others, is highly sensitive and requires rigorous protection.</span></p> <h3><strong style="vertical-align: baseline;">Sowing the seeds of innovation:</strong></h3> <p><span style="vertical-align: baseline;">SAA-SP decided to modernize its data infrastructure to address these challenges, choosing Google Cloud. They felt the Google Cloud platform's high performance could ensure application availability and efficiency, while its ease of management would simplify database administration and allows the IT team to focus on other priorities.</span></p> <p><span style="vertical-align: baseline;">As a first step in this modernization, SAA-SP migrated its SQL Server database to </span><a href="https://cloud.google.com/sql/sqlserver"><span style="text-decoration: underline; vertical-align: baseline;">Cloud SQL for SQL Server on Google Cloud</span></a><span style="vertical-align: baseline;">. A crucial factor in the choice was the ease of enabling high availability (HA) in Cloud SQL for SQL Server. With just a few clicks, SAA-SP configured automatic database replication and failover, ensuring service continuity in the event of failures and compliance with SLAs, without the need for complex configurations. In addition, the migration to Cloud SQL for SQL Server was carried out quickly and easily, minimizing the impact on SAA-SP's operations.</span></p> <p><span style="vertical-align: baseline;">This strategic change brought a series of benefits, allowing Java applications to connect to a more modern, scalable and secure database environment.</span></p> <h3><strong style="vertical-align: baseline;">Harvesting success:</strong></h3> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Simplified updates:</strong><span style="vertical-align: baseline;"> Cloud SQL for SQL Server makes it easier to apply patches and updates, minimizing downtime and ensuring that systems are always protected with the latest versions of the software.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Automated backups:</strong><span style="vertical-align: baseline;"> The service offers automated and managed backups, ensuring data security and recovery in the event of failures.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Simplified high availability:</strong><span style="vertical-align: baseline;"> The simplified configuration of high availability in Cloud SQL for SQL Server reduced the effort of the IT team and ensured compliance with service SLAs.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Enhanced security: </strong><span style="vertical-align: baseline;">With data encryption at rest and in transit, Cloud SQL for SQL Server protects SAA-SP’s confidential information from unauthorized access.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">On-demand scalability:</strong><span style="vertical-align: baseline;"> SAA-SP can adjust Cloud SQL for SQL Server resources according to demand, ensuring optimal performance of Java applications, even during peak periods.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Focus on innovation:</strong><span style="vertical-align: baseline;"> SAA-SP’s IT team can now focus on strategic projects, such as developing new features for Java applications, instead of worrying about managing the data infrastructure.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Reduced IT costs:</strong><span style="vertical-align: baseline;"> The migration to Cloud SQL for SQL Server eliminated the need to invest in hardware and software to maintain the on-premises database, reducing operational costs.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Cultivating a future of innovation in agriculture with Cloud SQL for SQL Server:</strong></h3> <p><span style="vertical-align: baseline;">The migration to Cloud SQL for SQL Server was a strategic decision that allowed SAA-SP to overcome the challenges of on-premises data management and ensure the availability, security, and scalability of its critical systems. The ease of enabling high availability and the simplicity of the migration were determining factors for the success of the project.</span></p> <p><span style="vertical-align: baseline;">But more than that, Cloud SQL enabled innovation at SAA-SP, opening doors to integration with generative AI for more assertive and efficient analysis and decision-making. For example, SAA-SP is leveraging the power of Gemini with Looker to provide C-level executives with real-time data insights hosted on Cloud SQL, facilitating data-driven decisions. </span></p> <p><span style="vertical-align: baseline;">Furthermore, SAA-SP is empowering its customers with Gemini Database, allowing them to harness AI to enhance database performance and maintenance. </span></p> <p><span style="vertical-align: baseline;">SAA-SP plans to continue modernizing its infrastructure and services, undertaking:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Migration to microservices:</strong><span style="vertical-align: baseline;"> Launch an updated version of the microservices-based application to increase the flexibility, scalability and capacity of the system.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Data analysis with generative AI:</strong><span style="vertical-align: baseline;"> Enable the use of generative AI to perform predictive analysis and obtain real-time insights from Cloud SQL for SQL Server data, assisting in strategic decision-making for the agricultural sector.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Data management with Gemini:</strong><span style="vertical-align: baseline;"> Use Gemini to facilitate data management and analysis, extracting relevant information and simplifying access to complex data.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">SAA-SP’s move towards intelligent management of operations, coupled with the advancements in analysis, has consolidated SAA-SP's position as a reference in technology and innovation in the agricultural sector, driving the development of agribusiness across São Paulo and serving as a beacon for those around the world.</span></p> <h3><strong style="vertical-align: baseline;">Get Started:</strong></h3> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Discover how </span><a href="https://cloud.google.com/sql/sqlserver"><span style="text-decoration: underline; vertical-align: baseline;">Cloud SQL for SQL Server</span></a><span style="vertical-align: baseline;"> can enhance your application performance and ensure uninterrupted availability.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Read more on how others like </span><a href="https://cloud.google.com/blog/products/databases/ford-reduces-routine-database-management-with-google-cloud"><span style="text-decoration: underline; vertical-align: baseline;">Ford</span></a><span style="vertical-align: baseline;"> and </span><a href="https://cloud.google.com/blog/products/databases/visual-research-gives-a-digital-boost-to-real-estate-agencies"><span style="text-decoration: underline; vertical-align: baseline;">Visual Research</span></a><span style="vertical-align: baseline;"> are modernizing their workloads with Cloud SQL for SQL Server, resulting in high performance and cost reduction. </span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Ready to unlock the power of Cloud SQL? </span><a href="https://console.cloud.google.com/freetrial?redirectPath=sql" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Start a free trial today</span></a><span style="vertical-align: baseline;">!</span></p> </li> </ul></div>Fri, 14 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/databases/sao-paulo-ranchers-raise-efficiency-with-cloud-sql-for-sql-server/RetailConsumer Packaged GoodsSupply Chain & LogisticsDatabasesarticleWhere’s the beef? For São Paulo’s agricultural secretariat, it’s on Cloud SQL for SQL ServerGooglehttps://cloud.google.com/blog/products/databases/sao-paulo-ranchers-raise-efficiency-with-cloud-sql-for-sql-server/Michel Martins da SilvaDirector of Systems Management, São Paulo State Secretariat of Agriculture and SupplyRoseani Moraes PereiraDept. Director of User Support and Service, São Paulo State Secretariat of Agriculture and SupplyWith MultiKueue, grab GPUs for your GKE cluster, wherever they may behttps://cloud.google.com/blog/products/containers-kubernetes/using-multikueue-to-provision-global-gpu-resources/<div class="block-paragraph_advanced"><p style="text-align: justify;"><span style="vertical-align: baseline;">Artificial Intelligence (AI) and large language models (LLMs) are experiencing explosive growth, powering applications from machine translation to artistic creation. These technologies rely on intensive computations that require specialized hardware resources, like GPUs. But access to GPUs can be challenging, both in terms of availability and cost.</span></p> <p style="text-align: justify;"><span style="vertical-align: baseline;">For Google Cloud users, the introduction of </span><a href="https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler?e=4875480"><span style="text-decoration: underline; vertical-align: baseline;">Dynamic Workload Scheduler</span></a><span style="vertical-align: baseline;"> (DWS) transformed how you can access and use GPU resources, particularly within a Google Kubernetes Engine (GKE) cluster. Dynamic Workload Scheduler optimizes AI/ML resource access and spending by simultaneously scheduling necessary accelerators like TPUs and GPUs across various Google Cloud services, improving the performance of training and fine-tuning jobs.</span></p> <p style="text-align: justify;"><span style="vertical-align: baseline;">Further, Dynamic Workload Scheduler offers an easy and straightforward integration between </span><a href="https://cloud.google.com/kubernetes-engine/docs/tutorials/kueue-intro"><span style="text-decoration: underline; vertical-align: baseline;">GKE and Kueue</span><span style="vertical-align: baseline;">, a cloud-native job scheduler, making it easier </span></a><span style="vertical-align: baseline;">to access GPUs as quickly as possible, in a given region, for a given GKE cluster.</span></p> <p style="text-align: justify;"><span style="vertical-align: baseline;">But what if you want to deploy your workload in any available region, as soon as possible, as soon as DWS provides you the resources your workload needs? </span></p> <p><span style="vertical-align: baseline;">This is where </span><a href="https://kueue.sigs.k8s.io/docs/concepts/multikueue/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">MultiKueue</span></a><span style="vertical-align: baseline;">, a Kueue feature, comes into play. With MultiKueue, GKE, and Dynamic Workload Scheduler, you can wait for accelerators in multiple regions. Dynamic Workload Scheduler automatically provisions resources in the best GKE clusters as soon as they are available. By submitting workloads to a global queue, MultiKueue executes them in the region with available GPU resources, helping to optimize global resource usage, lowering costs, and speeding up processing.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud containers and Kubernetes&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf12b0&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectpath=/marketplace/product/google/container.googleapis.com&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h2 style="text-align: justify;"><strong style="vertical-align: baseline;">MultiKueue</strong></h2> <p style="text-align: justify;"><span style="vertical-align: baseline;">MultiKueue enables workload distribution across multiple GKE clusters in different regions. By identifying clusters with available resources, MultiKueue simplifies the process of dispatching jobs to the optimal location.</span></p> <p style="text-align: justify;"><span style="vertical-align: baseline;">Dynamic Workload Scheduler on GKE Autopilot, our managed Kubernetes service that automatically handles the provisioning, scaling, security, and maintenance of your container infrastructure; it’s supported on GKE Autopilot 1.30.3. Let’s take a deeper look at how to set up and manage MultiKueue with Dynamic Workload Scheduler, so you can obtain GPU resources faster.  </span></p> <h3><strong style="vertical-align: baseline;">MultiKueue cluster roles</strong></h3> <p><span style="vertical-align: baseline;">MultiKueue provides two distinct cluster roles: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Manager cluster - Establish and maintain the connection with the worker clusters, as well as create and monitor remote objects (workloads or jobs) while keeping the local ones in sync.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Worker cluster - A simple standalone Kueue cluster that lets you execute the job submitted by the manager cluster.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Creating a MultiKueue cluster</strong></h3> <p><span style="vertical-align: baseline;">In this example we create four GKE Autopilot clusters:  </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">One manager cluster in europe-west4</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Three worker clusters in </span></p> </li> <ul> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">europe-west4</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">us-east4</span></p> </li> <li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">asia-southeast1</span></p> </li> </ul> </ul> <p><span style="vertical-align: baseline;">Let’s take a look at how this works in the following step-by-step example. You can access the files for this example in this </span><a href="https://github.com/GoogleCloudPlatform/ai-on-gke/tree/main/tutorials-and-examples/workflow-orchestration/dws-multiclusters-example" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">github repository</span></a><span style="vertical-align: baseline;">.</span></p> <p role="presentation"><span style="vertical-align: baseline;">1. </span><strong style="vertical-align: baseline;">Clone github repository</strong></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;git clone https://github.com/GoogleCloudPlatform/ai-on-gke.git\r\ncd ai-on-gke/tutorials-and-examples/workflow-orchestration/dws-multiclusters-example&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf1730&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">2. </span><strong style="vertical-align: baseline;">Create GKE clusters</strong></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;terraform -chdir tf init\r\n terraform -chdir tf plan\r\n terraform -chdir tf apply -var project_id=&lt;YOUR PROJECT_ID&gt;&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf1670&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">This terraform script creates the required GKE clusters and adds four entries to your kubeconfig files: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">manager-europe-west4</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">worker-us-east4</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">worker-europe-west4</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">worker-asia-southeast1</span></p> </li> </ul> <p><span style="vertical-align: baseline;">Then you can switch between contexts easily with</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;kubectl config use-context &lt;context name&gt;&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf1490&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p>3. <strong style="vertical-align: baseline;">Install and configure MultiKueue</strong></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;./deploy-multikueue.sh&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf1460&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">This script: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Installs kueue in the four clusters</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Enables and configures MultiKueue in the manager cluster</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Creates a </span><a href="https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#gmp-pod-monitoring"><span style="text-decoration: underline; vertical-align: baseline;">podMonitoring</span></a><span style="vertical-align: baseline;"> resource for each clusters that enables kueue metrics to be sent to </span><a href="https://cloud.google.com/stackdriver/docs/managed-prometheus"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Managed Service for Prometheus</span></a></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Configures the connection between the manager cluster and the worker clusters</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Configures Kueue in the worker clusters</span></p> </li> </ul> <p><span style="vertical-align: baseline;">GKE clusters, Kueue with MultiKueue, and DWS are now configured and ready to use. Once you submit your jobs, the Kueue manager distributes them across the three worker clusters.</span></p> <p><span style="vertical-align: baseline;">In the </span><a href="https://raw.githubusercontent.com/leroyjb/multikueue-dws-integration/refs/heads/main/dws-multi-worker.yaml" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">dws-multi-worker.yaml</span></a><span style="vertical-align: baseline;"> file, you'll find the Kueue configuration for the worker clusters, including the manager configuration. </span></p> <p><span style="vertical-align: baseline;">The following script provides a basic example of how to set up the MultiKueue AdmissionCheck with three worker clusters.</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;apiVersion: kueue.x-k8s.io/v1beta1\r\nkind: AdmissionCheck\r\nmetadata:\r\n name: sample-dws-multikueue\r\nspec:\r\n controllerName: kueue.x-k8s.io/multikueue\r\n parameters:\r\n apiGroup: kueue.x-k8s.io\r\n kind: MultiKueueConfig\r\n name: multikueue-dws\r\n---\r\napiVersion: kueue.x-k8s.io/v1alpha1\r\nkind: MultiKueueConfig\r\nmetadata:\r\n name: multikueue-dws\r\nspec:\r\n clusters:\r\n - multikueue-dws-worker-asia\r\n - multikueue-dws-worker-us\r\n - multikueue-dws-worker-eu\r\n---&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf15e0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p>4. <strong style="vertical-align: baseline;">Submit jobs</strong></p> <p><span style="vertical-align: baseline;">Ensure you're using the manager kubecontext when submitting jobs.</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;kubectl config use-context manager-europe-west4\r\nkubectl create -f job-multi-dws-autopilot.yaml&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf1400&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">To observe how the MultiKueue admission check distributes jobs among worker clusters, you can submit the job creation request multiple times.</span></p> <p role="presentation"><strong style="vertical-align: baseline;">5. Get jobs status</strong></p> <p><span style="vertical-align: baseline;">To check the job status and determine the scheduled region, execute the following command</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;kubectl get workloads.kueue.x-k8s.io -o jsonpath=\&#x27;{range .items[*]}{.status.admissionChecks}{&quot;\\n&quot;}{end}\&#x27;&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf17c0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p>6. <strong style="vertical-align: baseline;">Delete resources</strong></p> <p><span style="vertical-align: baseline;">Finally, be sure to delete the four GKE clusters you created to try out this functionality:</span></p></div> <div class="block-code"><dl> <dt>code_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;code&#x27;, &#x27;terraform -chdir=tf destroy -var project_id=&lt;YOUR_PROJECT_ID&gt;&#x27;), (&#x27;language&#x27;, &#x27;&#x27;), (&#x27;caption&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf16a0&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">What’s next</strong></h3> <p><span style="vertical-align: baseline;">So that's how you can leverage MultiKueue, GKE, and DWS to streamline global job execution, optimize speed, and eliminate the need for manual node management! </span></p> <p><span style="vertical-align: baseline;">This setup also addresses the needs of those with data residency requirements, allowing you to dedicate subsets of clusters for different workloads and ensure compliance.</span></p> <p><span style="vertical-align: baseline;">To further enhance your setup, you can leverage advanced kueue features like team management with </span><a href="https://kueue.sigs.k8s.io/docs/concepts/local_queue/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">local kueue</span></a><span style="vertical-align: baseline;"> or </span><a href="https://kueue.sigs.k8s.io/docs/concepts/workload_priority_class/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">workload priority classes</span></a><span style="vertical-align: baseline;">. Additionally, you can gain valuable insights by creating a Grafana or Cloud Monitoring dashboard that utilizes Kueue metrics, which are automatically handled by Google Managed Service for Prometheus via the PodMonitoring resources. </span></p></div>Fri, 14 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/containers-kubernetes/using-multikueue-to-provision-global-gpu-resources/AI & Machine LearningComputeContainers & KubernetesarticleWith MultiKueue, grab GPUs for your GKE cluster, wherever they may beGooglehttps://cloud.google.com/blog/products/containers-kubernetes/using-multikueue-to-provision-global-gpu-resources/Jean-Baptiste LeroyCustomer EngineerAccelerate your cloud journey using a well-architected, principles-based frameworkhttps://cloud.google.com/blog/products/application-modernization/well-architected-framework-to-accelerate-your-cloud-journey/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In today's dynamic digital landscape, building and operating secure, reliable, cost-efficient and high-performing cloud solutions is no easy feat. Enterprises grapple with the complexities of cloud adoption, and often struggle to bridge the gap between business needs, technical implementation, and operational readiness. This is where the </span><a href="https://cloud.google.com/architecture/framework"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Architecture Framework</span></a><span style="vertical-align: baseline;"> comes in. The framework provides comprehensive guidance to help you design, develop, deploy, and operate efficient, secure, resilient, high-performing, and cost-effective Google Cloud topologies that support your security and compliance requirements.</span></p> <h3><strong style="vertical-align: baseline;">Who should use the Architecture Framework?</strong></h3> <p><span style="vertical-align: baseline;">The Architecture Framework caters to a broad spectrum of cloud professionals. Cloud architects, developers, IT administrators, decision makers and other practitioners can benefit from years of subject-matter expertise and knowledge both from within Google and from the industry. The framework distills this vast expertise and presents it as an easy-to-consume set of recommendations. </span></p> <p><span style="vertical-align: baseline;">The recommendations in the Architecture Framework are organized under five, business-focused pillars.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/af-infographic.max-1000x1000.jpg" alt="af-infographic"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">We recently revamped the guidance in all the pillars and perspectives of the Architecture Framework to center the recommendations around a core set of design principles.</span></p> <div align="left"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"><table><colgroup><col/><col/><col/><col/><col/></colgroup> <tbody> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><a href="https://cloud.google.com/architecture/framework/operational-excellence"><strong style="text-decoration: underline; vertical-align: baseline;">Operational excellence</strong></a></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><a href="https://cloud.google.com/architecture/framework/security"><strong style="text-decoration: underline; vertical-align: baseline;">Security, privacy, and compliance</strong></a></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><a href="https://cloud.google.com/architecture/framework/reliability"><strong style="text-decoration: underline; vertical-align: baseline;">Reliability</strong></a></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><a href="https://cloud.google.com/architecture/framework/cost-optimization"><strong style="text-decoration: underline; vertical-align: baseline;">Cost optimization</strong></a></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><a href="https://cloud.google.com/architecture/framework/performance-optimization"><strong style="text-decoration: underline; vertical-align: baseline;">Performance optimization</strong></a></p> </td> </tr> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Operational readiness</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Incident management</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Resource optimization</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Change management</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Continuous improvement</span></p> </li> </ul> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Security by design</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Zero trust</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Shift-left security</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Preemptive cyber-defense</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Secure and responsible AI</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">AI for security</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Regulatory, privacy, and compliance needs</span></p> </li> </ul> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">User-focused goals</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Realistic targets</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">HA through redundancy</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Horizontal scaling</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Observability</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Graceful degradation</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Recovery testing</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Thorough postmortems</span></p> </li> </ul> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Spending aligned with business value</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Culture of cost awareness</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Resource optimization</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Continuous optimization</span></p> </li> </ul> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Resource allocation planning</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Elasticity</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Modular design</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Continuous  improvement</span></p> </li> </ul> </td> </tr> </tbody> </table></div> </div> </div> </div> </div> </div> </div> <p><span style="vertical-align: baseline;">In addition to the above pillars, the Architecture Framework provides cross-pillar perspectives that present recommendations for selected domains, industries, and technologies like </span><a href="https://cloud.google.com/architecture/framework/perspectives/ai-ml"><span style="text-decoration: underline; vertical-align: baseline;">AI and machine learning (ML)</span></a><span style="vertical-align: baseline;">.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Try Google Cloud for free&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdf8070&gt;), (&#x27;btn_text&#x27;, &#x27;Get started for free&#x27;), (&#x27;href&#x27;, &#x27;https://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Benefits of adopting the Architecture Framework</strong></h3> <p><span style="vertical-align: baseline;">The Architecture Framework is much more than a collection of design and operational recommendations. The framework empowers you with a structured principles-oriented design methodology that unlocks many advantages:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Enhanced security, privacy, and compliance:</strong><span style="vertical-align: baseline;"> Security is paramount in the cloud. The Architecture Framework incorporates industry-leading security practices, helping ensure that your cloud architecture meets your security, privacy, and compliance requirements.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Optimized cost:</strong><span style="vertical-align: baseline;"> The Architecture Framework lets you build and operate cost-efficient cloud solutions by promoting a cost-aware culture, focusing on resource optimization, and leveraging built-in cost-saving features in Google Cloud.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Resilience, scalability, and flexibility:</strong><span style="vertical-align: baseline;"> As your business needs evolve, the Architecture Framework helps you design cloud deployments that can scale to accommodate changing demands, remain highly available, and be resilient to disasters and failures.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Operational excellence:</strong><span style="vertical-align: baseline;"> The Architecture Framework promotes operationally sound architectures that are easy to operate, monitor, and maintain.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Predictable and workload-specific performance:</strong><span style="vertical-align: baseline;"> The Architecture Framework offers guidance to help you build, deploy, and operate workloads that provide predictable performance based on your workloads’ needs.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">The Architecture Framework also includes cross-pillar perspectives for selected domains, industries, and technologies like </span><a href="https://cloud.google.com/architecture/framework/perspectives/ai-ml"><span style="text-decoration: underline; vertical-align: baseline;">AI and machine learning (ML)</span></a><span style="vertical-align: baseline;">.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">The principles and recommendations in the Google Cloud Architecture Framework are aligned with Google and industry best practices like Google’s </span><a href="https://sre.google/sre-book/introduction/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Site Reliability Engineering (SRE) practices</span></a><span style="vertical-align: baseline;">, </span><a href="https://dora.dev/capabilities/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">DORA capabilities</span></a><span style="vertical-align: baseline;">, the Google </span><a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36299.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">HEART framework for user-centered metrics</span></a><span style="vertical-align: baseline;">, the </span><a href="https://www.finops.org/framework/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">FinOps framework</span></a><span style="vertical-align: baseline;">, </span><a href="https://slsa.dev/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Supply-chain Levels for Software Artifacts (SLSA)</span></a><span style="vertical-align: baseline;">, and Google's </span><a href="https://safety.google/cybersecurity-advancements/saif/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Secure AI Framework (SAIF)</span></a><span style="vertical-align: baseline;">.</span></p> <p><span style="vertical-align: baseline;">Embrace the Architecture Framework to transform your Google Cloud journey, and get comprehensive guidance on security, reliability, cost, performance, and operations — as well as targeted recommendations for specific industries and domains like AI and ML. To learn more, visit </span><a href="https://cloud.google.com/architecture/framework"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Architecture Framework</span></a><span style="vertical-align: baseline;">.</span></p></div>Fri, 14 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/application-modernization/well-architected-framework-to-accelerate-your-cloud-journey/Application DevelopmentCost ManagementDevOps & SREApplication ModernizationarticleAccelerate your cloud journey using a well-architected, principles-based frameworkGooglehttps://cloud.google.com/blog/products/application-modernization/well-architected-framework-to-accelerate-your-cloud-journey/Kumar DhanagopalCross-Product Solution DeveloperWhat’s new with Google Cloudhttps://cloud.google.com/blog/topics/inside-google-cloud/whats-new-google-cloud/<div class="block-paragraph"><p data-block-key="kgod7">Want to know the latest from Google Cloud? Find it here in one handy location. Check back regularly for our newest updates, announcements, resources, events, learning opportunities, and more. </p><hr/><p data-block-key="ru1z9"><b>Tip</b>: Not sure where to find what you’re looking for on the Google Cloud blog? Start here: <a href="https://cloud.google.com/blog/topics/inside-google-cloud/complete-list-google-cloud-blog-links-2021">Google Cloud blog 101: Full list of topics, links, and resources</a>.</p><hr/><p data-block-key="b0lnw"></p></div> <div class="block-paragraph_advanced"><h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 10 - Feb 14</h3> <ul> <li><strong>[Webinar] Generative AI for Software Delivery: Strategies for IT Leaders: </strong>Generative AI is transforming the way organizations build and deploy software. <strong>Join Google Cloud experts on February 26th</strong> to learn how organizations can leverage AI to streamline their software delivery, including: the role of gen AI in software development, how to use gen AI for migration and modernization, best practices for integrating gen AI into your existing workflows, and real-world applications of gen AI in software modernization and migration through live demos. <a href="https://cloudonair.withgoogle.com/events/generative-ai-for-software-delivery" rel="noopener" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" target="_blank">Register here.</a></li> </ul> <h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Feb 3 - Feb 7</h3> <ul> <li>SQL is great but not perfect. We’d like to invite you to reimagine how you write SQL with Google’s newest invention: pipe syntax (public available to all BigQuery and Cloud Logging users)! This new extension to GoogleSQL brings a modern, streamlined approach to data analysis. Now you can write simpler, shorter and more flexible queries for faster insights. Check out this <a href="https://www.youtube.com/watch?v=mW2CLYr6w4M" rel="noopener" target="_blank">video</a> to learn more. </li> </ul> <h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 13 - Jan 17</h3> <ul> <li><strong>C4A virtual machines with Titanium SSD</strong>—the first Axion-based, general-purpose instance with Titanium SSD<strong>, </strong>are now generally available. C4A virtual machines with Titanium SSDs are custom designed by Google for cloud workloads that require real-time data processing, with low-latency and high-throughput storage performance. Titanium SSDs enhance storage security and performance while offloading local storage processing to free up CPU resources. Learn more <a href="https://cloud.google.com/blog/products/compute/first-google-axion-processor-c4a-now-ga-with-titanium-ssd" rel="noopener" target="_blank">here</a>.</li> </ul> <h3 data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'>Jan 6 - Jan 10</h3> <div data-draftjs-conductor-fragment='{"blocks":[{"key":"865rk","text":"Week of Dec 16 - Dec 20","type":"header-three","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}}],"entityMap":{}}'> <ul> <li><strong>A look back on a year of Earth Engine advancements: </strong>2024 was a landmark year for Google Earth Engine, marked by significant advancements in platform management, cloud integration, and core functionality and increased interoperability between Google Cloud tools and services. Here’s a <a href="https://cloud.google.com/blog/topics/sustainability/look-back-at-a-year-of-earth-engine-advancements" rel="noopener" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;" target="_blank">round up of 2024’s top Earth Engine launches</a><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;">.</span></li> <li><strong>Get early access to our new Solar API data and features: </strong>We're excited to announce that we are working on 2 significant expansions to the Solar API from Google Maps Platform and are looking for trusted testers to help us bring them to market. These include improved and expanded buildings coverage and greater insights for existing solar installations with Detected Arrays. <a href="https://mapsplatform.google.com/resources/blog/early-access-unlock-expanded-coverage-and-greater-insights-in-the-solar-api/?linkId=12083502" rel="noopener" target="_blank">Learn more.</a></li> <li><a href="https://startup.google.com/programs/accelerator/women-founders/europe" rel="noopener" target="_blank"><strong>Google for Startups Accelerator: Women Founders</strong></a> applications are now open for women-led startups headquartered in Europe and Israel! <a href="https://cloud.google.com/blog/topics/startups/google-for-startups-accelerator-for-women-led-tech-startups" rel="noopener" target="_blank">Discover</a> why this program could be the perfect fit for your startup and apply before January 24th, 2025.</li> <li><strong>Best of N: Generating High-Quality Grounded Answers with Multiple Drafts - </strong>We are excited to announce that <a href="https://cloud.google.com/generative-ai-app-builder/docs/check-grounding" rel="noopener" target="_blank">Check Grounding API</a> has released a new helpfulness score feature. Building on top of our existing groundedness score, we now enable users to implement Best of N to improve RAG response quality without requiring extensive model retraining. Learn more about Best of N and how it can help you <a href="https://medium.com/@amattapalli/best-of-n-generating-high-quality-grounded-answers-with-multiple-drafts-396101ac04d3" rel="noopener" target="_blank">here</a>!</li> </ul> </div></div>Fri, 14 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/topics/inside-google-cloud/whats-new-google-cloud/Google CloudInside Google CloudarticleWhat’s new with Google Cloudhttps://storage.googleapis.com/gweb-cloudblog-publish/original_images/52_-_Whats_new.jpgGooglehttps://cloud.google.com/blog/topics/inside-google-cloud/whats-new-google-cloud/Google Cloud Content & Editorial Announcing Wasm support in Go 1.24https://cloud.google.com/blog/products/application-development/go-1-24-expands-support-for-wasm/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Earlier this week, we released </span><a href="https://go.dev/dl/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Go 1.24</span></a><span style="vertical-align: baseline;">, the latest version of Google’s open-source programming language for productively building scalable, production-ready backend and cloud-based systems.</span></p> <p><span style="vertical-align: baseline;">There’s </span><a href="https://go.dev/doc/go1.24" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">a lot to love about Go 1.24</span></a><span style="vertical-align: baseline;">, including support for post-quantum cryptography, a weak pointer implementation, and substantial performance improvements to the Go runtime. Go 1.24 also significantly expands its capabilities for </span><a href="https://webassembly.org/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">WebAssembly</span></a><span style="vertical-align: baseline;"> (Wasm), a binary instruction format that provides for the execution of high-performance, low-level code at speeds approaching native performance. With a new `go:wasmexport` compiler directive and the ability to build a reactor for the WebAssembly System Interface (WASI), developers can now export functions from their Go code to Wasm — including in long-running applications — fostering deeper integrations with Wasm hosts and unlocking new possibilities for Go-based Wasm applications.</span></p> <p><span style="vertical-align: baseline;">These additions represent a significant step forward in Go’s Wasm story. For some types of applications, like those running at the edge, Wasm is critical to serving performance-critical use cases. Now, developers can leverage Go’s signature capabilities to ensure that these use cases are also scalable, secure, and production-ready.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Try Google Cloud for free&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdfabe0&gt;), (&#x27;btn_text&#x27;, &#x27;Get started for free&#x27;), (&#x27;href&#x27;, &#x27;https://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">How does it work?</strong></h3> <p><span style="vertical-align: baseline;">Go first added support for compiling to Wasm in </span><a href="https://go.dev/doc/go1.11#wasm" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Go 1.11 via the `js/wasm`</span></a><span style="vertical-align: baseline;"> port, and added a new port for the </span><a href="https://go.dev/doc/go1.21#wasm" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">WASI preview 1 syscall API in Go 1.21</span></a><span style="vertical-align: baseline;">. Now, with Go 1.24, the new `go:wasmexport` compiler directive makes Go functions accessible to a Wasm host, enabling the host to call into a Go application like a plugin or other extension mechanism. And, with the new WASI reactor build flag, a Go application remains live after its initialization function finishes, helping to ensure that exported functions remain callable without requiring reinitialization — an important feature in long-running applications or services.</span></p> <p><span style="vertical-align: baseline;">For more details, be sure to check out </span><a href="https://go.dev/blog/wasmexport" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">this post</span></a><span style="vertical-align: baseline;"> from the Go blog and read more in the </span><a href="https://go.dev/cmd/compile#hdr-WebAssembly_Directives" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Go docs</span></a><span style="vertical-align: baseline;">.</span></p> <h3><strong style="vertical-align: baseline;">Run Wasm at the edge with Google Cloud</strong></h3> <p><span style="vertical-align: baseline;">Starting today, you can now run Go compiled Wasm plugins for applications built on Google Cloud at the edge. To do so, you need to leverage </span><a href="https://cloud.google.com/service-extensions/docs/overview"><span style="text-decoration: underline; vertical-align: baseline;">Service Extensions</span></a><span style="vertical-align: baseline;"> with Google Cloud’s Application Load Balancers. Service Extensions allows you to run your own custom code directly in the request/response path in a fully managed Google environment with optimal latency, so you can customize load balancers to meet your business requirements. All you need to do is provide the code — Google Cloud manages the rest.</span></p> <p><span style="vertical-align: baseline;">To get started with Service Extensions plugins and Go, take a look at our growing samples </span><a href="https://github.com/GoogleCloudPlatform/service-extensions/tree/main/plugins#getting-started" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">repository</span></a><span style="vertical-align: baseline;"> with a local testing toolkit and follow our </span><a href="https://cloud.google.com/service-extensions/docs/prepare-plugin-code"><span style="text-decoration: underline; vertical-align: baseline;">quickstart guide</span></a><span style="vertical-align: baseline;"> in the documentation.</span></p></div>Thu, 13 Feb 2025 19:00:00 +0000https://cloud.google.com/blog/products/application-development/go-1-24-expands-support-for-wasm/NetworkingApplication DevelopmentarticleAnnouncing Wasm support in Go 1.24Googlehttps://cloud.google.com/blog/products/application-development/go-1-24-expands-support-for-wasm/Cameron BalahanGroup Product ManagerArman RyeProduct ManagerOperationalizing generative AI apps with Apigeehttps://cloud.google.com/blog/products/api-management/using-apigee-api-management-for-ai/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Generative AI is now well  beyond the hype and into the realm of practical application. But while organizations are eager to build enterprise-ready gen AI solutions on top of large language models (LLMs), they face challenges in managing, securing, and scaling these deployments, especially when it comes to APIs. As part of the platform team, you may already be building a unified gen AI platform. Some common questions you might have  are: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">How do you ensure security and safety for your organization? As with any API, LLM APIs represent an attack vector. What are the LLM-specific considerations you need to worry about?</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">How do you stay within budget when your LLM adoption grows, while ensuring that each team has appropriate LLM capacity they need to continue to innovate and make your business more productive?</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">How do you put the right observability capabilities in place to understand your usage patterns, help troubleshoot issues, and capture compliance data? </span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">How do you give end users of your gen AI applications the best possible experience, i.e., provide  responses from the most appropriate models with minimal downtime?</span></p> </li> </ul> <p><a href="https://cloud.google.com/apigee?hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Apigee</span></a><span style="vertical-align: baseline;">, Google Cloud’s API management platform, has enabled our customers to address API challenges like these for over a decade. Here is an overview of the AI-powered digital value chain leveraging Apigee API Management.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_ai-digital-value-chain.max-1000x1000.png" alt="1 ai-digital-value-chain"> </a> <figcaption class="article-image__caption "><p data-block-key="2dotn">Figure 1: AI-powered Digital Value chain</p></figcaption> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Gen AI, powered by AI agents and LLMs, is changing how customers interact with businesses, creating a large opportunity for any business. </span><a href="https://cloud.google.com/apigee"><span style="text-decoration: underline; vertical-align: baseline;">Apigee</span></a><span style="vertical-align: baseline;"> streamlines the integration of gen AI agents into applications by bolstering their security, scalability, and governance through features like authentication, traffic control, analytics, and policy enforcement. It also manages interactions with LLMs, improving security and efficiency. Additionally, </span><a href="https://cloud.google.com/application-integration?e=48754805&amp;hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Application Integration</span></a><span style="vertical-align: baseline;">, an Integration-Platform-as-a-Service solution from Google cloud, offers pre-built connectors that allow gen AI agents to easily connect with databases and external systems, helping them fulfill user requests.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud AI and ML&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdff2e0&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/vertex-ai/&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">This blog details how Apigee’s customers have been using the product to address challenges specific to LLM APIs. We’re also releasing a comprehensive </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples?tab=readme-ov-file#llm-samples" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">set of reference solutions</span></a><span style="vertical-align: baseline;"> that enable you to get started on addressing these challenges yourself with Apigee. You can also view </span><a href="https://www.brighttalk.com/webcast/20303/635007?utm_source=Google&amp;utm_medium=brighttalk&amp;utm_campaign=635007" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">a webinar</span></a><span style="vertical-align: baseline;"> on the same topic, complete with product demos.</span></p> <h3><strong style="vertical-align: baseline;">Apigee as a proxy for agents </strong></h3></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Apigee_as_a_proxy_for_agents.max-1000x1000.png" alt="2 Apigee as a proxy for agents"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">AI agents leverage capabilities from LLMs to accomplish tasks for end-users. </span><span style="vertical-align: baseline;">These agents can be built using a variety of tools — from no-code and low-code platforms, to full-code frameworks like LangChain or LlamaIndex. Apigee acts as an intermediary between your AI application and its agents. It enhances security by</span><span style="vertical-align: baseline;"> allowing you to defend your LLM APIs against the</span><span style="vertical-align: baseline;"> </span><a href="https://services.google.com/fh/files/misc/mitigating_owasp_top_api_security_risks-with_apigee.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">OWASP Top 10 API Security risks</span></a><span style="vertical-align: baseline;">, manages user authentication and authorization, and optimizes performance through features like semantic caching. Additionally, Apigee enforces token limits to control costs and can even orchestrate complex interactions between multiple AI agents for advanced use cases.</span></p> <h3><strong style="vertical-align: baseline;">Apigee as a gateway between LLM application and models</strong></h3></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Apigee_as_a_model_gateway.max-1000x1000.png" alt="3 Apigee as a model gateway"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Depending on the task at hand, your AI agents might need to tap into the power of different LLMs. Apigee simplifies this by intelligently routing and managing failover of requests to the most suitable LLM using Apigee’s flexible configurations and templates. It also streamlines the onboarding of new AI applications and agents while providing robust access control for your LLMs. Beyond LLMs, agents often need to connect with databases and external systems to fully address users’ needs. Apigee’s robust API Management platform enables these interactions via managed APIs, and for more complex integrations, where custom business logic is required, you can leverage Google Cloud’s Application Integration platform. </span></p> <p><span style="vertical-align: baseline;">It's important to remember that these patterns aren't one-size-fits-all. Your specific use cases will influence the architecture pattern for an agent and LLM interaction. For example, you might not always need to route requests to multiple LLMs. In some scenarios, you could connect directly to databases and external systems from the Apigee agent proxy layer. The key is flexibility — Apigee lets you adapt the architecture to match your exact needs. </span></p> <p><span style="vertical-align: baseline;">Now let’s break down the specific areas where Apigee helps one by one:</span></p> <p><strong style="vertical-align: baseline;">AI safety<br/></strong><span style="vertical-align: baseline;">For any API managed with Apigee, you can call out to </span><a href="https://cloud.google.com/security-command-center/docs/model-armor-overview"><span style="text-decoration: underline; vertical-align: baseline;">Model Armor</span></a><span style="vertical-align: baseline;">, Google Cloud’s model safety offering that allows you to inspect every prompt and response to protect you against potential prompt attacks and help your LLMs respond within the guardrails you set. For example, you can specify that your LLM application does not provide answers about financial or political topics. </span></p> <p><strong style="vertical-align: baseline;">Latency and cost<br/></strong><span style="vertical-align: baseline;">Model response latency continues to be a major factor when building LLM-powered applications, and this will only get worse as more reasoning happens during inference. With Apigee, you can implement a semantic cache that allows you to cache responses to any model for semantically similar questions. This dramatically reduces the time end users need to wait for a response. </span></p> <p><span style="vertical-align: baseline;">In this solution, </span><a href="https://cloud.google.com/vertex-ai/docs/vector-search/overview"><span style="text-decoration: underline; vertical-align: baseline;">Vertex AI Vector Search</span></a><span style="vertical-align: baseline;"> and </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/embeddings/get-text-embeddings"><span style="text-decoration: underline; vertical-align: baseline;">Vertex AI Embeddings API</span></a><span style="vertical-align: baseline;"> process your prompts and help you identify similar prompts for which you can then retrieve a response from Apigee’s Cache. See </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples/tree/main/llm-semantic-cache" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Semantic Cache in Apigee</span></a><span style="vertical-align: baseline;"> reference solution to get started.</span></p> <p><strong style="vertical-align: baseline;">Performance<br/></strong><span style="vertical-align: baseline;">Different models are good at different things. For example, Gemini Pro models provide the highest quality answers, while Gemini Flash models excel at speed and efficiency. You can route users’ prompts to the best model for the job, depending on the use case or application. </span></p> <p><span style="vertical-align: baseline;">You can decide which model to use by specifying it in your API call and Apigee routes it to your desired model while keeping a consistent API contract. See this </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples/tree/main/llm-routing" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reference solution</span></a><span style="vertical-align: baseline;"> to get started.</span></p> <p><strong style="vertical-align: baseline;">Distribution and usage limits<br/></strong><span style="vertical-align: baseline;">With Apigee you can create a unified portal with self-service access to all the models in your organization. You can also set up usage limits by individual apps and developers to maintain capacity for those who need it, while also controlling overall costs. See how you can set up usage limits in Apigee using LLM token counts </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples/tree/main/llm-token-limits" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;">. </span></p> <p><strong style="vertical-align: baseline;">Availability</strong><span style="vertical-align: baseline;"> <br/></span><span style="vertical-align: baseline;">Due to the high computational demands of LLM inference, model providers regularly restrict the number of tokens you can use in a certain time window. If you reach a model limit, requests from your applications will get throttled, which could lead to your end users being locked out of the model. In order to prevent this, you can implement a circuit breaker in Apigee so that requests are re-routed to a model with available capacity. See this </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples/tree/main/llm-circuit-breaking" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reference solution</span></a><span style="vertical-align: baseline;"> to get started.</span></p> <p><strong style="vertical-align: baseline;">Reporting<br/></strong><span style="vertical-align: baseline;">As a platform team, you need visibility into usage of the various models you support as well as which apps are consuming how many tokens. You might want to use this data for internal cost reporting or to optimize. Whatever your motivation, with Apigee, you can build dashboards that let you see usage based on the actual tokens counts — the currency of LLM APIs. This way you can see the true usage volume across your applications. See this </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples/blob/main/llm-token-limits/README.md" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reference solution</span></a><span style="vertical-align: baseline;"> to get started. </span></p> <p><strong style="vertical-align: baseline;">Auditing and troubleshooting<br/></strong><span style="vertical-align: baseline;">Perhaps you need to log all interactions with LLMs (prompts, responses, RAG data) to meet compliance or troubleshooting requirements. Or perhaps you want to analyze response quality to continue to improve your LLM applications. With Apigee you can safely log any LLM interaction with Cloud Logging, de-identify it, and inspect it from a familiar interface. Get started </span><a href="https://github.com/ra2085/apigee-samples/tree/main/llm-logging%5C" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;">. </span></p> <p><strong style="vertical-align: baseline;">Security<br/></strong><span style="vertical-align: baseline;">With APIs increasingly seen as an attack surface, security is paramount to any API program. Apigee can act as a secure gateway for LLM APIs, allowing you to control access with API keys, OAuth 2.0, and JWT validation. This helps you enforce using enterprise security standards to authenticate users and applications that interact with your models. Apigee can also help prevent abuse and overload by enforcing rate limits and quotas, safeguarding LLMs from malicious attacks and unexpected traffic spikes. </span></p> <p><span style="vertical-align: baseline;">In addition to these security controls, you can also use Apigee to control the model providers and models that can be used. You can do this by creating policies that define the models that can be accessed by which users or applications. For example, you could create a policy that only allows certain users to access your most powerful LLMs, or you could create a policy that only allows certain applications to access your LLMs for specific tasks. This gives you granular control over how your LLMs are used, so they are only used for their intended purposes.</span></p> <p><span style="vertical-align: baseline;">But Apigee can offer even more advanced protection with its </span><a href="https://cloud.google.com/apigee/docs/api-security"><span style="text-decoration: underline; vertical-align: baseline;">Advanced API Security</span></a><span style="vertical-align: baseline;"> functionality. This allows you to defend your LLM APIs against the </span><a href="https://services.google.com/fh/files/misc/mitigating_owasp_top_api_security_risks-with_apigee.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">OWASP Top 10 API Security vulnerabilities</span></a><span style="vertical-align: baseline;">. </span></p> <p><span style="vertical-align: baseline;">By integrating Apigee with your LLM architecture, you create a secure and reliable environment for your AI applications to thrive.</span></p> <h3><strong style="vertical-align: baseline;">Ready to unlock the full potential of gen AI? </strong></h3> <p><span style="vertical-align: baseline;">Explore Apigee's comprehensive capabilities for operationalizing AI and start building secure, scalable, and efficient gen AI solutions today! Visit our </span><a href="https://github.com/GoogleCloudPlatform/apigee-samples?tab=readme-ov-file#samples-for-llm-serving-with-apigee" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Apigee generative AI samples page</span></a><span style="vertical-align: baseline;"> to learn more and get started, </span><a href="https://www.brighttalk.com/webcast/20303/635007?utm_source=Google&amp;utm_medium=brighttalk&amp;utm_campaign=635007" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">watch a webinar</span></a><span style="vertical-align: baseline;"> with more details, or contact us here!</span></p></div> <div class="block-related_article_tout"> <div class="uni-related-article-tout h-c-page"> <section class="h-c-grid"> <a href="https://cloud.google.com/blog/products/api-management/apigee-a-leader-in-2024-gartner-api-management-magic-quadrant/" data-analytics='{ "event": "page interaction", "category": "article lead", "action": "related article - inline", "label": "article: {slug}" }' class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6 h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"> <div class="uni-related-article-tout__inner-wrapper"> <p class="uni-related-article-tout__eyebrow h-c-eyebrow">Related Article</p> <div class="uni-related-article-tout__content-wrapper"> <div class="uni-related-article-tout__image-wrapper"> <div class="uni-related-article-tout__image" style="background-image: url('')"></div> </div> <div class="uni-related-article-tout__content"> <h4 class="uni-related-article-tout__header h-has-bottom-margin">Google Cloud Apigee named a Leader in the 2024 Gartner® Magic Quadrant™ for API Management</h4> <p class="uni-related-article-tout__body">For the ninth consecutive time, Gartner has named Google Cloud Apigee a Leader in the 2024 Gartner® Magic Quadrant™ for API Management.</p> <div class="cta module-cta h-c-copy uni-related-article-tout__cta muted"> <span class="nowrap">Read Article <svg class="icon h-c-icon" role="presentation"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"></use> </svg> </span> </div> </div> </div> </div> </a> </section> </div> </div>Thu, 13 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/api-management/using-apigee-api-management-for-ai/AI & Machine LearningAPI ManagementarticleOperationalizing generative AI apps with ApigeeGooglehttps://cloud.google.com/blog/products/api-management/using-apigee-api-management-for-ai/Michael VakocProduct ManagerRuben GonzalezCustomer EngineerEnhance Gemini model security with content filters and system instructionshttps://cloud.google.com/blog/products/ai-machine-learning/enhance-gemini-model-security-with-content-filters-and-system-instructions/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">As organizations rush to adopt generative AI-driven chatbots and agents, it’s important to reduce the risk of exposure to threat actors who force AI models to create harmful content.  </span></p> <p><span style="vertical-align: baseline;">We want to highlight two powerful capabilities of Vertex AI that can help manage this risk — </span><strong style="vertical-align: baseline;">content filters</strong><span style="vertical-align: baseline;"> and </span><strong style="vertical-align: baseline;">system instructions</strong><span style="vertical-align: baseline;">. Today, we’ll show how you can use them to </span><span style="vertical-align: baseline;">ensure consistent and trustworthy interactions.</span></p> <h3><strong style="vertical-align: baseline;">Content filters: Post-response defenses  </strong></h3> <p><span style="vertical-align: baseline;">By analyzing generated text and blocking responses that trigger specific criteria, </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-attributes"><span style="text-decoration: underline; vertical-align: baseline;">content filters</span></a><span style="vertical-align: baseline;"> can help block the output of harmful content. They function independently from Gemini models as part of a layered defense against threat actors who attempt to jailbreak the model. </span></p> <p><span style="vertical-align: baseline;">Gemini models on Vertex AI use two types of content filters:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Non-configurable safety filters</strong><span style="vertical-align: baseline;"> automatically block outputs containing prohibited content, such as child sexual abuse material (CSAM) and personally identifiable information (PII).</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Configurable content filters</strong><span style="vertical-align: baseline;"> allow you to define blocking thresholds in four harm categories (hate speech, harassment, sexually explicit, and dangerous content,) based on probability and severity scores. These filters are default off but you can configure them according to your needs.</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/RAI_diagram.max-1000x1000.jpg" alt="RAI diagram"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">It's important to note that, like any automated system, these filters can occasionally produce false positives, incorrectly flagging benign content. This can negatively impact user experience, particularly in conversational settings. System instructions (below) can help mitigate some of these limitations.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud AI and ML&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bd84d00&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/vertex-ai/&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">System instructions: Proactive model steering for custom safety</strong></h3> <p><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/safety-system-instructions"><span style="text-decoration: underline; vertical-align: baseline;">System instructions</span></a><span style="vertical-align: baseline;"> for Gemini models in Vertex AI provide direct guidance to the model on how to behave and what type of content to generate. By providing specific instructions, you can proactively steer the model away from generating undesirable content to meet your organization’s unique needs.</span></p> <p><span style="vertical-align: baseline;">You can craft system instructions to define content safety guidelines, such as prohibited and sensitive topics, and disclaimer language, as well as brand safety guidelines to ensure the model's outputs align with your brand's voice, tone, values, and target audience.</span></p> <p><span style="vertical-align: baseline;">System instructions have the following advantages over content filters:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">You can define specific harms and topics you want to avoid, so you’re not restricted to a small set of categories.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">You can be prescriptive and detailed. For example, instead of just saying “avoid nudity,” you can define what you mean by nudity in your cultural context and outline allowed exceptions.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">You can iterate instructions to meet your needs. For example, if you notice that the instruction “avoid dangerous content” leads to the model being excessively cautious or avoiding a wider range of topics than intended, you can make the instruction more specific, such as “don’t generate violent content” or “avoid discussion of illegal drug use.”</span></p> </li> </ul> <p><span style="vertical-align: baseline;">However, system instructions have the following limitations:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">They are theoretically more susceptible to zero-shot and other complex jailbreak techniques.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">They can cause the model to be overly cautious on borderline topics.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">In some situations, a complex system instruction for safety may inadvertently impact overall output quality.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">We recommend using both content filters and system instructions.</span></p> <h3><strong style="vertical-align: baseline;">Evaluate your safety configuration</strong></h3> <p><span style="vertical-align: baseline;">You can create your own evaluation sets, and test model performance with your specific configurations ahead of time. We recommend creating separate harmful and benign sets, so you can measure how effective your configuration is at catching harmful content and how often it incorrectly blocks benign content. </span></p> <p><span style="vertical-align: baseline;">Investing in an evaluation set can help reduce the time it takes to test the model when implementing changes in the future.</span></p> <h3><strong style="vertical-align: baseline;">How to get started </strong></h3> <p><span style="vertical-align: baseline;">Both content filters and system instructions play a role in ensuring safe and responsible use of Gemini. The best approach depends on your specific requirements and risk tolerance. To get started, check out </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-filters"><span style="text-decoration: underline; vertical-align: baseline;">content filters</span></a><span style="vertical-align: baseline;"> and </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/safety-system-instructions"><span style="text-decoration: underline; vertical-align: baseline;">system instructions for safety</span></a><span style="vertical-align: baseline;"> documentation.</span></p></div>Thu, 13 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/ai-machine-learning/enhance-gemini-model-security-with-content-filters-and-system-instructions/Security & IdentityAI & Machine LearningarticleEnhance Gemini model security with content filters and system instructionsGooglehttps://cloud.google.com/blog/products/ai-machine-learning/enhance-gemini-model-security-with-content-filters-and-system-instructions/Salah AhmedSenior Product Manager, Google CloudAnand IyerGroup Product Manager, Google CloudWhy you should check out our Next ‘25 Security Hubhttps://cloud.google.com/blog/products/identity-security/why-you-should-check-out-our-security-hub-at-next25/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Google Cloud Next 2025 is coming up fast, and it's shaping up to be a must-attend event for the cybersecurity community and anyone passionate about learning more about the threat landscape. We're going to offer an immersive experience packed with opportunities to connect with experts, explore innovative technologies, and hone your skills in the ever-evolving world of cloud security and governance, frontline threat intelligence, enterprise compliance and resilience, AI risk management, and incident response. </span></p> <p><span style="vertical-align: baseline;">Whether you're a seasoned security pro or just starting your security journey, Next '25 has something for you.</span></p> <h3><strong style="vertical-align: baseline;">Immerse yourself in the Security Hub</strong></h3> <p><span style="vertical-align: baseline;">The heart of our security presence at Next ‘25 will be the Security Hub, a dynamic space designed for engagement and exploration. Here, you can dive deep into the full portfolio of Google Cloud Security products, experience expanded demos, and get your most pressing questions answered by the engineers who build them. </span></p> <h3><strong style="vertical-align: baseline;">Experience the SOC Arena</strong></h3> <p><span style="vertical-align: baseline;">Step into our Security Operations Center (SOC) Arena for a front-row seat to real-world attack scenarios. Witness the latest hacker tactics and learn how Google Cloud equips cybersecurity teams with the data, AI, and scalable analytics needed to quickly detect and remediate attacks. Between SOC sessions, security experts and key partners will deliver lightning talks, sharing foundational insights and valuable resources to bolster your security knowledge.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud security products&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bd8d220&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Sharpen your skills in the Security Situation Room</strong></h3> <p><span style="vertical-align: baseline;">The Situation Room offers two unique avenues for boosting your security expertise:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Security Tabletop Workshop</strong><span style="vertical-align: baseline;">: Prepare your organization for challenging security incidents by participating in a realistic </span><a href="https://cloud.google.com/transform/the-empty-chair-guess-whos-missing-from-your-cybersecurity-tabletop-exercise"><span style="text-decoration: underline; vertical-align: baseline;">cybersecurity tabletop exercise</span></a><span style="vertical-align: baseline;">. Role-play different personas in a data breach, ransomware attack, and other simulated incidents, and explore potential responses, gaining insights into how your team might react, recognizing the opportunity to learn from varied perspectives and refine your approach through collaborative exploration. This exercise can help you identify vulnerabilities, evaluate incident response strategies, address gaps, foster collaboration, clarify roles, and ultimately reduce the potential impact of future attacks.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Birds of a Feather Sessions: </strong><span style="vertical-align: baseline;">These no-slide, discussion-focused sessions offer invaluable opportunities to connect with peers and Google Cloud Security experts. Dive into topics including securing AI, identity and access management, network security, and protection against fraud and abuse. Share challenges, discuss best practices, and explore cutting-edge trends in a collaborative environment as you network, learn, and contribute to the vibrant Google Cloud Security community.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Get hands-on in the Security Sandbox</strong></h3> <p><span style="vertical-align: baseline;">The Security Sandbox is where the action happens. Two interactive experiences await:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Capture the Flag (CTF)</strong><span style="vertical-align: baseline;">: Test your cybersecurity prowess in Google Threat Intelligence's CTF challenge. This unique game blends real-world data from CISA advisories, ransom notes, and Dark Web intelligence into a simulated threat hunt. <br/><br/></span><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;">Use industry-standard tools and data to navigate clues, analyze evidence, and solve puzzles. This CTF is designed for all skill levels, offering a chance to learn valuable techniques, experience the thrill of an investigation, and even win prizes.</span></p> </li> </ul> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">ThreatSpace</strong><span style="vertical-align: baseline;">: Step into Google Cloud's ThreatSpace, a digital training ground where you can experience real cyberattacks and practice your incident response skills in a safe environment. Mandiant's </span><a href="https://cloud.google.com/blog/transform/get-hacked-pro-use-red-teams-expose-security-shortcomings"><span style="text-decoration: underline; vertical-align: baseline;">red team</span></a><span style="vertical-align: baseline;"> will simulate attacks while their incident response team guides you through the investigation. Use Google Cloud Security tools including Security Operations and Threat Intelligence to uncover the attacker's methods and prevent further damage.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Connect and recharge at Coffee Talk</strong></h3> <p><span style="vertical-align: baseline;">Grab a coffee, snag a copy of "</span><a href="https://cloud.google.com/security/resources/defenders-advantage"><span style="text-decoration: underline; vertical-align: baseline;">Defenders Advantage</span></a><span style="vertical-align: baseline;">," and chat with Google Cloud Security experts. Learn how our products and services can empower your security strategy across the domains of intelligence, detection, response, validation, hunting, and mission control and get personalized advice for your organization.</span></p> <h3><strong style="vertical-align: baseline;">Register today</strong></h3> <p><span style="vertical-align: baseline;">Next '25 is your chance to immerse yourself in the world of cybersecurity, connect with industry leaders, and gain the knowledge and skills you need to stay ahead of the curve. To join us, </span><a href="https://cloud.withgoogle.com/next/25" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">register here</span></a><span style="vertical-align: baseline;">.</span></p></div>Wed, 12 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/identity-security/why-you-should-check-out-our-security-hub-at-next25/Security & IdentityarticleWhy you should check out our Next ‘25 Security Hubhttps://storage.googleapis.com/gweb-cloudblog-publish/images/GCN25_016C_DGAA_BlogHeader_2436x1200.max-600x600.jpgGooglehttps://cloud.google.com/blog/products/identity-security/why-you-should-check-out-our-security-hub-at-next25/Robert SadowskiDirector, Product Marketing, Security & TrustCybercrime: A Multifaceted National Security Threathttps://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat/<div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">Executive Summary</span></h2> <p><span style="vertical-align: baseline;">Cybercrime makes up a majority of the malicious activity online and occupies the majority of defenders' resources. In 2024, Mandiant Consulting responded to almost four times more intrusions conducted by financially motivated actors than state-backed intrusions. Despite this overwhelming volume, cybercrime receives much less attention from national security practitioners than the threat from state-backed groups. While the threat from state-backed hacking is rightly understood to be severe, it should not be evaluated in isolation from financially motivated intrusions. </span></p> <p><span style="vertical-align: baseline;">A hospital disrupted by a state-backed group using a wiper and a hospital disrupted by a financially motivated group using ransomware have the same impact on patient care. Likewise, sensitive data stolen from an organization and posted on a data leak site can be exploited by an adversary in the same way data exfiltrated in an espionage operation can be. These examples are particularly salient today, as criminals increasingly target and leak data from hospitals. Healthcare's share of posts on data leak sites has doubled over the past three years, even as the number of data leak sites tracked by Google Threat Intelligence Group has increased by nearly 50% year over year. The impact of these attacks mean that they must be taken seriously as a national security threat, no matter the motivation of the actors behind it.</span></p> <p><span style="vertical-align: baseline;">Cybercrime also facilitates state-backed hacking by allowing states to purchase cyber capabilities, or co-opt criminals to conduct state-directed operations to steal data or engage in disruption. Russia has drawn on criminal capabilities to fuel the cyber support to their war in Ukraine. GRU-linked APT44 (aka Sandworm), a unit of Russian military intelligence, has employed malware available from cybercrime communities to conduct espionage and disruptive operations in Ukraine and CIGAR (aka RomCom), a group that historically focused on cybercrime, has conducted espionage operations against the Ukrainian government since 2022. However, this is not limited to Russia. Iranian threat groups deploy ransomware to raise funds while simultaneously conducting espionage, and Chinese espionage groups often supplement their income with cybercrime. Most notably, North Korea uses state-backed groups to directly generate revenue for the regime. North Korea has heavily targeted cryptocurrencies, compromising exchanges and individual victims’ crypto wallets. </span></p> <p><span style="vertical-align: baseline;">Despite the overlaps in effects and collaboration with states, tackling the root causes of cybercrime requires fundamentally different solutions. Cybercrime involves collaboration between disparate groups often across borders and without respect to sovereignty. Any solution requires international cooperation by both law enforcement and intelligence agencies to track, arrest, and prosecute these criminals. Individual takedowns can have important temporary effects, but the collaborative nature of cybercrime means that the disrupted group will be quickly replaced by others offering the same service. Achieving broader success will require collaboration between countries and public and private sectors on systemic solutions such as increasing education and resilience efforts. </span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Cybercrime: A Multifaceted National Security Threat&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bd8e910&gt;), (&#x27;btn_text&#x27;, &#x27;Download now&#x27;), (&#x27;href&#x27;, &#x27;https://services.google.com/fh/files/misc/cybercrime-multifaceted-national-security-threat.pdf&#x27;), (&#x27;image&#x27;, &lt;GAEImage: cybercrime-cover&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">Stand-Alone Cybercrime is a Threat to Countries' National Security</span></h2> <p><span style="vertical-align: baseline;">Financially motivated cyber intrusions, even those without any ties to state goals, harm national security. A single incident can be impactful enough on its own to have a severe consequence on the victim and disrupt citizens' access to critical goods and services. The enormous volume of financially motivated intrusions occurring every day also has a cumulative impact, hurting national economic competitiveness and placing huge strain on cyber defenders, leading to decreased readiness and burnout.</span></p> <h3><span style="vertical-align: baseline;">A Single Financially-Motivated Operation Can Have Severe Effects</span></h3> <p><span style="vertical-align: baseline;">Cybercrime, particularly ransomware attacks, are a serious threat to critical infrastructure. Disruptions to energy infrastructure, such as the 2021 Colonial Pipeline </span><a href="https://www.nytimes.com/2021/05/08/us/politics/cyberattack-colonial-pipeline.html" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">attack</span></a><span style="vertical-align: baseline;">, a 2022 </span><a href="https://www.spglobal.com/commodity-insights/en/news-research/latest-news/crude-oil/020322-cyberattack-causes-chaos-at-key-european-oil-terminals" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">incident</span></a><span style="vertical-align: baseline;"> at the Amsterdam-Rotterdam-Antwerp refining hub, and the 2023 attack on </span><a href="https://www.bleepingcomputer.com/news/security/suncor-energy-cyberattack-impacts-petro-canada-gas-stations/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Petro-Canada</span></a><span style="vertical-align: baseline;">, have disrupted citizens' ability to access vital goods. While the impacts in these cases were temporary and recoverable, a ransomware attack during a weather emergency or other acute situation could have devastating consequences.</span></p> <p><span style="vertical-align: baseline;">Beyond energy, the ransomware attacks on the healthcare sector have had the most severe consequences on everyday people. At the height of the pandemic in early 2020, it appeared that ransomware groups might steer clear of hospitals, with multiple groups making statements to that effect, but the forbearance did not hold. Healthcare organizations' critical missions and the high impact of disruptions have led them to be perceived as more likely to pay a ransom and led some groups to increase their focus on targeting healthcare. The healthcare industry, especially hospitals, almost certainly continues to be a lucrative target for ransomware operators given the sensitivity of patient data and the criticality of the services that it provides.</span></p> <p><span style="vertical-align: baseline;">Since 2022, Google Threat Intelligence Group (GTIG) has observed a notable increase in the number of data leak site (DLS) victims from within the hospital subsector. Data leak sites, which are used to release victim data following data theft extortion incidents, are intended to pressure victims to pay a ransom demand or give threat actors additional leverage during ransom negotiations.</span><span style="vertical-align: baseline;"> </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">In July 2024, the Qilin (aka "AGENDA") DLS announced upcoming attacks targeting US healthcare organizations.</span><span style="vertical-align: baseline;"> They followed through with this threat by adding a regional medical center to their list of claimed victims on the DLS the following week, and adding multiple healthcare and dental clinics in August 2024.</span><span style="vertical-align: baseline;"> The ransomware operators have purportedly stated that they focus their targeting on sectors that pay well, and one of those sectors is healthcare.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation">In March 2024, the RAMP forum actor "badbone," who has been associated with INC ransomware, sought illicit access to Dutch and French medical, government, and educational organizations, stating that they were willing to pay 2–5% more for hospitals, particularly ones with emergency services.</p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/share-data-leak.max-1000x1000.png" alt="share of data leak in healthcare"> </a> </figure> </div> </div> </div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--medium h-c-grid__col h-c-grid__col--4 h-c-grid__col--offset-4 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/google-tracked-leaks.max-1000x1000.png" alt="google tracked leaks"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Studies from academics and internal hospital reviews have shown that the disruptions from ransomware attacks go beyond inconvenience and have led to life-threatening consequences for patients. Disruptions can impact not just individual hospitals but also the broader healthcare supply chain. Cyberattacks on companies that manufacture critical medications and life-saving therapies can have far-reaching consequences worldwide. </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A recent </span><a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4579292" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">study</span></a><span style="vertical-align: baseline;"> from researchers at the University of Minnesota - Twin Cities School of Public Health showed that among patients already admitted to a hospital when a ransomware attack takes place, "in-hospital mortality increases by 35 - 41%."</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Public </span><a href="https://www.bloomberg.com/news/articles/2025-01-14/nhs-ransomware-hack-caused-patient-harm-in-uk-data-shows" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reporting</span></a><span style="vertical-align: baseline;"> stated that UK National Health Service data showed a June 2024 ransomware incident at a contractor led to multiple cases of "long-term or permanent impact on physical, mental or social function or shortening of life-expectancy," with more numerous cases of less severe effects.</span></p> </li> </ul> <p><span style="vertical-align: baseline;">Ransomware operators are aware that their attacks on hospitals will have severe consequences and will likely increase government attention on them. Although some have devised strategies to mitigate the blowback from these operations, the potential monetary rewards associated with targeting hospitals continue to drive attacks on the healthcare sector.</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">The actor "FireWalker," who has recruited partners for REDBIKE (aka Akira) ransomware operations, indicated a willingness to accept access to government and medical targets, but in those cases a different ransomware called "FOULFOG" would be used.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Leaked private communications broadly referred to as the "ContiLeaks" reveal that the actors expected their plan to target the US healthcare system in the fall of 2020 to cause alarm, with one actor stating "there will be panic."</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/timeline-full.max-1000x1000.png" alt="timeline"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><span style="vertical-align: baseline;">Economic Disruption</span></h3> <p><span style="vertical-align: baseline;">On May 8, 2022, Costa Rican President Rodrigo Chaves </span><a href="https://www.bleepingcomputer.com/news/security/costa-rica-declares-national-emergency-after-conti-ransomware-attacks/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">declared</span></a><span style="vertical-align: baseline;"> a national emergency caused by CONTI ransomware attacks against several Costa Rican government agencies the month prior.</span><span style="vertical-align: baseline;"> These intrusions caused widespread </span><a href="https://www.washingtonpost.com/politics/2022/05/10/costa-rica-shows-damage-ransomware-can-do-country/%20https://www.wired.com/story/costa-rica-ransomware-conti/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">disruptions</span></a><span style="vertical-align: baseline;"> in government medical, tax, pension, and customs systems.</span><span style="vertical-align: baseline;"> With imports and exports halted, ports were </span><a href="https://www.crhoy.com/economia/importaciones-estan-paralizadas-debido-a-hackeo-de-hacienda/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">overwhelmed</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> and the country reportedly experienced </span><a href="https://www.larepublica.net/noticia/costa-rica-reporta-perdidas-por-125-millones-por-caos-en-aduanas" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">millions</span></a><span style="vertical-align: baseline;"> of dollars of losses.</span><span style="vertical-align: baseline;"> The remediation costs extended beyond Costa Rica; </span><a href="https://assets-global.website-files.com/660ab0cd271a25abeb800460/662a5a6baa3e24e7b6f323a4_LATAM%20CISO%20Report%202024.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Spain</span></a><span style="vertical-align: baseline;"> supported the immediate response efforts,</span><span style="vertical-align: baseline;"> and in 2023, the </span><a href="https://cr.usembassy.gov/united-states-announces-25-million-to-strengthen-costa-ricas-cybersecurity/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">US</span></a><span style="vertical-align: baseline;"> announced $25 million USD in cybersecurity aid to Costa Rica.</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">While the Costa Rica incident was exceptional, responding to a cybercrime incident can involve significant expenses for the affected entity, such as paying multi-million dollar ransom demands, loss of income due to system downtime, providing credit monitoring services to impacted clients, and paying remediation costs and fines. In just one example, a US healthcare organization </span><a href="https://www.unitedhealthgroup.com/content/dam/UHG/PDF/investors/2024/UNH-Q1-2024-Release.pdf872" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reported</span></a><span style="vertical-align: baseline;"> $872 million USD in "unfavorable cyberattack effects" after a disruptive incident. In the most extreme cases, these costs can contribute to organizations </span><a href="https://www.nbcnews.com/tech/security/illinois-hospital-links-closure-ransomware-attack-rcna85983" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">ceasing operations</span></a><span style="vertical-align: baseline;"> or </span><a href="https://nationalcioreview.com/articles-insights/extra-bytes/how-a-massive-cyberattack-drove-a-leading-firm-to-bankruptcy/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">declaring bankruptcy</span></a><span style="vertical-align: baseline;">.</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">In addition to the direct impacts to individual organizations, financial impacts often extend to taxpayers and can have significant impacts on the national economy due to follow-on effects of the disruptions. The US Federal Bureau of Investigation's Internet Crime Complaint Center (IC3) has </span><a href="https://www.ic3.gov/PSA/2024/PSA240911" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">indicated</span></a><span style="vertical-align: baseline;"> that between October 2013 and December 2023, business email compromise (BEC) operations alone led to $55 billion USD in losses. The cumulative effect of these cybercrime incidents can have an impact on a country's economic competitiveness. This can be particularly severe for smaller or </span><a href="https://en.unav.edu/web/global-affairs/cybercrime-and-the-outgrowing-impact-on-developing-nations.-costa-rica-in-the-background" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">developing countries</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> especially those with a less diverse economy.</span></p> <h3><span style="vertical-align: baseline;">Data Leak Sites Add Additional Threats</span></h3> <p><span style="vertical-align: baseline;">In addition to deploying ransomware to interfere with business operations, criminal groups have added the threat of leaking data stolen from victims to bolster their extortion operations. This now standard tactic has increased the volume of sensitive data being posted by criminals and created an opportunity for it to be obtained and exploited by state intelligence agencies. </span></p> <p><span style="vertical-align: baseline;">Threat actors post proprietary company data—including research and product designs—on data leak sites where they are accessible to the victims' competitors. GTIG has previously observed threat actors sharing tips for targeting valuable data for extortion operations. In our research, GTIG identified Conti "case instructions" indicating that actors should prioritize certain types of data to use as leverage in negotiations, including files containing confidential information, document scans, HR documents, company projects, and information protected by the General Data Protection Regulation (GDPR).</span></p> <p><span style="vertical-align: baseline;">The number of data leak sites has proliferated, with the number of sites tracked by GTIG almost doubling since 2022. Leaks of confidential business and personal information by extortion groups can cause embarrassment and legal consequences for the affected organization, but they also pose national security threats. If a company's confidential intellectual property is leaked, it can undermine the firm's competitive position in the market and undermine the host country's economic competitiveness. The wide-scale leaking of personally identifiable information (PII) also creates an opportunity for foreign governments to collect this information to facilitate surveillance and tracking of a country's citizens.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/new-dls-yoy.max-1000x1000.png" alt="new-dls-yoy"> </a> </figure> </div> </div> </div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/toll-combat-crime.max-1000x1000.png" alt="toll-combat-crime"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">Cybercrime</span><span style="vertical-align: baseline;"> D</span><span style="vertical-align: baseline;">irectly Supporting State Activity</span></h2> <p><span style="vertical-align: baseline;">Since the earliest computer network intrusions, financially motivated actors have conducted operations for the benefit of hostile governments. While this pattern has been consistent, the heightened level of cyber activity following Russia's war in Ukraine has shown that, in times of heightened need, the latent talent pool of cybercriminals can be paid or coerced to support state goals. Operations carried out in support of the state, but by criminal actors, have numerous benefits for their sponsors, including a lower cost and increased deniability. As the volume of financially motivated activity increases, the potential danger it presents does as well.</span></p> <h3><span style="vertical-align: baseline;">States as a Customer in Cybercrime Ecosystems</span></h3> <p><span style="vertical-align: baseline;">Modern cybercriminals are likely to specialize in a particular area of cybercrime and partner with other entities with diverse specializations to conduct operations. The specialization of cybercrime capabilities presents an opportunity for state-backed groups to simply show up as another customer for a group that normally sells to other criminals. Purchasing malware, credentials, or other key resources from illicit forums can be cheaper for state-backed groups than developing them in-house, while also providing some ability to blend in to financially motivated operations and attract less notice.</span></p> <h3><span style="vertical-align: baseline;">Russian State Increasingly Leveraging Malware, Tooling Sourced from Crime Marketplaces</span></h3></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/ru.max-1000x1000.png" alt="russia"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Google assesses that resource constraints and operational demands have contributed to Russian cyber espionage groups' increasing use of free or publicly available malware and tooling, including those commonly employed by criminal actors to conduct their operations. Following Russia's full-scale invasion of Ukraine, GTIG has observed groups suspected to be affiliated with Russian military intelligence services adopt this type of "low-equity" approach to managing their arsenal of malware, utilities, and infrastructure. The tools procured from financially motivated actors are more widespread and lower cost than those developed by the government. This means that if an operation using this malware is discovered, the cost of developing a new tool will not be borne by the intelligence agency; additionally, the use of such tools may assist in complicating attribution efforts. Notably, multiple threat clusters with links to Russian military intelligence have leveraged disruptive malware adapted from existing ransomware variants to target Ukrainian entities.</span><span style="vertical-align: baseline;"> </span></p> <h4><span style="vertical-align: baseline;">APT44 (Sandworm, FROZENBARENTS)</span></h4> <p><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt44-unearthing-sandworm"><span style="text-decoration: underline; vertical-align: baseline;">APT44</span></a><span style="vertical-align: baseline;">, a threat group sponsored by Russian military intelligence, almost certainly relies on a diverse set of Russian companies and criminal marketplaces to source and sustain its more frequently operated offensive capabilities.</span><span style="vertical-align: baseline;"> The group has used criminally sourced tools and infrastructure as a source of disposable capabilities that can be operationalized on short notice without immediate links to its past operations. Since Russia's full-scale invasion of Ukraine, APT44 has increased its use of such tooling, including malware such as DARKCRYSTALRAT (DCRAT), WARZONE, and RADTHIEF ("Rhadamanthys Stealer"),</span><span style="vertical-align: baseline;"> and bulletproof hosting infrastructure such as that provided by the Russian-speaking actor "yalishanda,"</span><span style="vertical-align: baseline;"> who advertises in cybercriminal underground communities.</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">APT44 campaigns in 2022 and 2023 deployed RADTHIEF against victims in Ukraine and Poland. In one campaign, spear-phishing emails targeted a Ukrainian drone manufacturer and leveraged SMOKELOADER, a publicly available downloader popularized in a Russian-language underground forum that is still frequently used in criminal operations, to load RADTHIEF.</span><span style="vertical-align: baseline;"> </span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">APT44 also has a history of deploying disruptive malware built upon known ransomware variants. In October 2022, a cluster we assessed with moderate confidence to be APT44 deployed PRESSTEA (aka Prestige) ransomware against logistics entities in Poland and Ukraine, a rare instance in which APT44 deployed disruptive capabilities against a NATO country. In June 2017, the group conducted an attack leveraging ETERNALPETYA (aka NotPetya), a wiper disguised as ransomware, timed to coincide with Ukraine's Constitution Day marking its independence from Russia. Nearly two years earlier, in late 2015, the group used a modified BLACKENERGY variant to </span><a href="https://www.cisa.gov/news-events/ics-alerts/ir-alert-h-16-056-01" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">disrupt</span></a><span style="vertical-align: baseline;"> the Ukrainian power grid.</span><span style="vertical-align: baseline;"> BLACKENERGY originally emerged as a distributed denial-of-service (DDoS) tool, with later versions sold in criminal marketplaces.</span></p> </li> </ul> <h4><span style="vertical-align: baseline;">UNC2589 (FROZENVISTA)</span></h4> <p><span style="vertical-align: baseline;">UNC2589, a threat cluster whose activity has been </span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-249a" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">publicly attributed</span></a><span style="vertical-align: baseline;"> to the Russian General Staff Main Intelligence Directorate (GRU)'s 161</span><span style="vertical-align: baseline;"><span style="vertical-align: super;">st</span></span><span style="vertical-align: baseline;"> Specialist Training Center (Unit 29155),</span><span style="vertical-align: baseline;"> has conducted full-spectrum cyber operations, including destructive attacks, against Ukraine. The actor is known to rely on </span><a href="https://www.microsoft.com/en-us/security/blog/2023/06/14/cadet-blizzard-emerges-as-a-novel-and-distinct-russian-threat-actor/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">non-military</span></a><span style="vertical-align: baseline;"> elements</span><span style="vertical-align: baseline;"> including cybercriminals and private-sector organizations to enable their operations, and GTIG has observed the use of a variety of malware-as-a-service tools that are prominently sold in Russian-speaking cybercrime communities.</span></p> <p><span style="vertical-align: baseline;">In January 2022, a month prior to the invasion, UNC2589 deployed PAYWIPE (also known as WHISPERGATE) and SHADYLOOK wipers against Ukrainian government entities in what may have been a preliminary strike, using the GOOSECHASE downloader and FINETIDE dropper to drop and execute SHADYLOOK on the target machine. US Department of Justice </span><a href="https://www.justice.gov/usao-md/pr/russian-national-charged-conspiring-russian-military-intelligence-destroy-ukrainian" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">indictments</span></a><span style="vertical-align: baseline;"> </span><a href="https://www.justice.gov/opa/pr/five-russian-gru-officers-and-one-civilian-charged-conspiring-hack-ukrainian-government" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">identified</span></a><span style="vertical-align: baseline;"> a Russian civilian, who GTIG assesses was a likely criminal contractor, as managing the digital environments used to </span><a href="https://rewardsforjustice.net/rewards/amin-stigal/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">stage</span></a><span style="vertical-align: baseline;"> the payloads</span><span style="vertical-align: baseline;"> used in the attacks. Additionally, CERT-UA</span><span style="vertical-align: baseline;"> </span><a href="https://cip.gov.ua/ua/news/informaciya-shodo-imovirnoyi-provokaciyi" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">corroborated</span></a><span style="vertical-align: baseline;"> GTIG's findings of strong similarities between SHADYLOOK and WhiteBlackCrypt ransomware (also tracked as WARYLOOK). GOOSECHASE and FINETIDE are also publicly available for purchase on underground forums.</span></p> <h4><span style="vertical-align: baseline;">Turla (SUMMIT)</span></h4> <p><span style="vertical-align: baseline;">In September 2022, GTIG </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/turla-galaxy-opportunity/"><span style="text-decoration: underline; vertical-align: baseline;">identified</span></a><span style="vertical-align: baseline;"> an operation leveraging a legacy ANDROMEDA infection to gain initial access to selective targets conducted by Turla, a cyber espionage group we assess to be sponsored by Russia's Federal Security Service (FSB).</span><span style="vertical-align: baseline;"> Turla re-registered expired command-and-control (C&amp;C or C2) domains previously used by ANDROMEDA, a common commodity malware that was widespread in the early 2010s, to profile victims; it then selectively deployed KOPILUWAK and QUIETCANARY to targets in Ukraine. The ANDROMEDA backdoor whose C2 was hijacked by Turla was first uploaded to VirusTotal in 2013 and spreads from infected USB keys. </span></p> <p><span style="vertical-align: baseline;">While GTIG has continued to observe ANDROMEDA infections across a wide variety of victims, GTIG has only observed suspected Turla payloads delivered in Ukraine. However, Turla's tactic of piggybacking on widely distributed, financially motivated malware to enable follow-on compromises is one that can be used against a wide range of organizations. Additionally, the use of older malware and infrastructure may cause such a threat to be overlooked by defenders triaging a wide variety of alerts.</span></p> <p><span style="vertical-align: baseline;">In December 2024, Microsoft </span><a href="https://www.microsoft.com/en-us/security/blog/2024/12/11/frequent-freeloader-part-ii-russian-actor-secret-blizzard-using-tools-of-other-groups-to-attack-ukraine/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reported</span></a><span style="vertical-align: baseline;"> on the use of Amadey bot malware related to cyber criminal activity to target Ukrainian military entities by Secret Blizzard, an actor that aligns approximately with what we track as Turla. While we are unable to confirm this activity, Microsoft's findings suggest that Turla has continued to leverage the tactic of using cybercrime malware.</span></p> <h4><span style="vertical-align: baseline;">APT29 (ICECAP)</span></h4> <p><span style="vertical-align: baseline;">In late 2021, GTIG </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/russian-targeting-gov-business/"><span style="text-decoration: underline; vertical-align: baseline;">reported</span></a><span style="vertical-align: baseline;"> on a campaign conducted by APT29, a threat group assessed to be sponsored by the Russian Foreign Intelligence Service (SVR), in which operators used credentials likely procured from an infostealer malware campaign conducted by a third-party actor to gain initial access to European entities. Infostealers are a broad classification of malware that have the capability or primary goal of collecting and stealing a range of sensitive user information such as credentials, browser data and cookies, email data, and cryptocurrency wallets.An analysis of workstations belonging to the target revealed that some systems had been infected with the CRYPTBOT infostealer shortly before a stolen session token used to gain access to the targets' Microsoft 365 environment was generated.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/screenshot.max-1000x1000.png" alt="An example of the sale of government credentials on an underground forum"> </a> <figcaption class="article-image__caption "><p data-block-key="5edbk">An example of the sale of government credentials on an underground forum</p></figcaption> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><span style="vertical-align: baseline;">Use of Cybercrime Tools by Iran and China </span></h3> <p><span style="vertical-align: baseline;">While Russia is the country that has most frequently been identified drawing on resources from criminal forums, they are not the only ones. For instance, in May 2024, GTIG identified a suspected Iranian group, UNC5203, using the aforementioned RADTHIEF backdoor in an operation using themes associated with the Israeli nuclear research industry.</span></p> <p><span style="vertical-align: baseline;">In multiple investigations, the Chinese espionage operator UNC2286 was observed ostensibly carrying out extortion operations, including using STEAMTRAIN ransomware, possibly to mask its activities. The ransomware dropped a JPG file named "Read Me.jpg" that largely copies the ransomware note delivered with DARKSIDE. However, no links have been established with the DARKSIDE ransomware-as-a-service (RaaS), suggesting the similarities are largely superficial and intended to lend credibility to the extortion attempt. Deliberately mixing ransomware activities with espionage intrusions supports the Chinese Government's public efforts to confound attribution by conflating cyber espionage activity and ransomware operations.</span></p> <h3><span style="vertical-align: baseline;">Criminals Supporting State Goals</span></h3> <p><span style="vertical-align: baseline;">In addition to purchasing tools for state-backed intrusion groups to use, countries can directly hire or co-opt financially motivated attackers to conduct espionage and attack missions on behalf of the state. Russia, in particular, has leveraged cybercriminals for state operations.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/attack.max-1000x1000.png" alt="attack"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><span style="vertical-align: baseline;">Current and Former Russian Cybercriminal Actors Engage in Targeted Activity Supporting State Objectives</span></h3> <p><span style="vertical-align: baseline;">Russian intelligence services have increasingly leveraged pre-existing or new relationships with cybercriminal groups to advance national objectives and augment intelligence collection. They have done so in particular since the beginning of Russia's full-scale invasion of Ukraine. GTIG judges that this is a combination of new efforts by the Russian state and the continuation of ongoing efforts for other financially motivated, Russia-based threat actors that had relationships with the Russian intelligence services that predated the invasion. </span><span style="vertical-align: baseline;"> In at least some cases, current and former members of Russian cybercriminal groups have carried out intrusion activity likely in support of state objectives. </span></p> <h4><span style="vertical-align: baseline;">CIGAR (UNC4895, RomCom)</span></h4> <p><span style="vertical-align: baseline;">CIGAR (also tracked as UNC4895 and publicly reported as RomCom) is a dual financial and espionage-motivated threat group. Active since at least 2019, the group historically conducted financially motivated operations before expanding into espionage activity that GTIG judges fulfills espionage requirements in support of Russian national interests following the start of Russia's full-scale invasion of Ukraine. CIGAR's ongoing engagement in both types of activity differentiates the group from threat actors like APT44 or UNC2589, which leverage cybercrime actors and tooling toward state objectives. While the precise nature of the relationship between CIGAR and the Russian state is unclear, the group's high operational tempo, constant evolution of its malware arsenal and delivery methods, and its access to and exploitation of multiple zero-day vulnerabilities suggest a level of sophistication and resourcefulness unusual for a typical cybercrime actor. </span></p> <p><span style="vertical-align: baseline;">Targeted intrusion activity from CIGAR dates back to late 2022, targeting Ukrainian military and government entities. In October 2022, CERT-UA </span><a href="https://cert.gov.ua/article/2394117" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reported</span></a><span style="vertical-align: baseline;"> on a phishing campaign that distributed emails allegedly on behalf of the Press Service of the General Staff of the Armed Forces of Ukraine, which led to the deployment of the group's signature RomCom malware.</span><span style="vertical-align: baseline;"> Two months later, in December 2022, CERT-UA </span><a href="https://cert.gov.ua/article/3349703" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">highlighted</span></a><span style="vertical-align: baseline;"> a RomCom operation targeting users of DELTA, a situational awareness and battlefield management system used by the Ukrainian military.</span></p> <p><span style="vertical-align: baseline;">CIGAR activity in 2023 and 2024 included the leveraging of zero-day vulnerabilities to conduct intrusion activity. In late June 2023, a phishing operation targeting European government and military entities used lures related to the Ukrainian World Congress, a nonprofit involved in advocacy for Ukrainian interests, and a then-upcoming NATO summit, to deploy the MAGICSPELL downloader, which exploited CVE-2023-36884 as a zero-day in Microsoft Word.</span><span style="vertical-align: baseline;"> In 2024, the group was </span><a href="https://www.welivesecurity.com/en/eset-research/romcom-exploits-firefox-and-windows-zero-days-in-the-wild/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reported</span></a><span style="vertical-align: baseline;"> to exploit the Firefox vulnerability CVE-2024-9680, chained together with the Windows vulnerability CVE-2024-49039, to deploy RomCom.</span><span style="vertical-align: baseline;"> </span></p> <h4><span style="vertical-align: baseline;">CONTI</span></h4> <p><span style="vertical-align: baseline;">At the outset of Russia's full-scale invasion of Ukraine, the CONTI ransomware group </span><a href="https://cyberscoop.com/conti-ransomware-russia-ukraine-critical-infrastructure/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">publicly</span></a><span style="vertical-align: baseline;"> announced its support for the Russian government,</span><span style="vertical-align: baseline;"> and subsequent leaks of server logs allegedly containing chat messages from members of the group revealed that at least some individuals were interested in conducting targeted attacks,and may have been taking targeting directions from a third party. GTIG further </span><a href="https://blog.google/threat-analysis-group/initial-access-broker-repurposing-techniques-in-targeted-attacks-against-ukraine/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">assessed</span></a><span style="vertical-align: baseline;"> that former CONTI members comprise part of an initial access broker group conducting targeted attacks against Ukraine </span><a href="https://cert.gov.ua/article/339662" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">tracked</span></a><span style="vertical-align: baseline;"> by CERT-UA as </span><a href="https://cert.gov.ua/article/39934" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">UAC-0098</span></a><span style="vertical-align: baseline;">.</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">UAC-0098 historically delivered the IcedID banking trojan, leading to human-operated ransomware attacks, and GTIG assesses that the group previously acted as an initial access broker for various ransomware groups including CONTI and Quantum. In early 2022, however, the actor shifted its focus to Ukrainian entities in the government and hospitality sectors as well as European humanitarian and nonprofit organizations. </span></p> <h3><span style="vertical-align: baseline;">Chinese-Language Operator Supports Espionage Goals </span></h3> <h4><span style="vertical-align: baseline;">UNC5174 ("Uteus")</span></h4> <p><span style="vertical-align: baseline;">UNC5174 uses the "Uteus" hacktivist persona who has claimed to be affiliated with China's Ministry of State Security, working as an access broker and possible contractor who conducts </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/initial-access-brokers-exploit-f5-screenconnect"><span style="text-decoration: underline; vertical-align: baseline;">for-profit intrusions</span></a><span style="vertical-align: baseline;">.</span><span style="vertical-align: baseline;"> UNC5174 has weaponized multiple vulnerabilities soon after they were publicly announced, attempting to compromise numerous devices before they could be patched. For example, in February 2024, UNC5174 was observed exploiting CVE-2024-1709 in ConnectWise ScreenConnect to compromise hundreds of institutions primarily in the US and Canada, and in April 2024, GTIG confirmed UNC5174 had weaponized CVE-2024-3400 in an attempt to exploit Palo Alto Network's (PAN's) GlobalProtect appliances. In both cases, multiple China-nexus clusters were identified leveraging the exploits, underscoring how UNC5174 may enable additional operators.</span></p></div> <div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">Hybrid Groups Enable Cheap Capabilities</span></h2> <p><span style="vertical-align: baseline;">Another form of financially motivated activity supporting state goals are groups whose main mission may be state-sponsored espionage are, either tacitly or explicitly, allowed to conduct financially motivated operations to supplement their income. This can allow a government to offset direct costs that would be required to maintain groups with robust capabilities. </span></p> <h3><span style="vertical-align: baseline;">Moonlighting Among Chinese Contractors</span><strong style="vertical-align: baseline;"> </strong></h3> <h4><span style="vertical-align: baseline;">APT41</span></h4> <p><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation"><span style="text-decoration: underline; vertical-align: baseline;">APT41</span></a><span style="vertical-align: baseline;"> is a prolific cyber operator working out of the People's Republic of China and most likely a contractor for the Ministry of State Security. In addition to state-sponsored espionage campaigns against a wide array of industries, APT41 has a long history of conducting financially motivated operations. The group's cybercrime activity has mostly focused on the video game sector, including ransomware deployment. APT 41 has also enabled other Chinese espionage groups, with digital certificates stolen by APT41 later employed by other Chinese groups. APT41's cybercrime has continued since GTIG's 2019 </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation"><span style="text-decoration: underline; vertical-align: baseline;">report</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> with the United States Secret Service </span><a href="https://www.nbcnews.com/tech/security/chinese-hackers-covid-fraud-millions-rcna59636" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">attributing</span></a><span style="vertical-align: baseline;"> an operation that stole millions in COVID relief funds to APT41, and GTIG </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt41-us-state-governments?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">identifying</span></a><span style="vertical-align: baseline;"> an operation targeting state and local governments.</span></p> <h3><span style="vertical-align: baseline;">Iranian Groups Deploy Ransomware for Disruption and Profit</span></h3> <p><span style="vertical-align: baseline;">Over the past several years, GTIG has observed Iranian espionage groups conducting ransomware operations and disruptive hack-and-leak operations. Although much of this activity is likely primarily driven by disruptive intent, some actors working on behalf of the Iranian government may also be seeking ways to monetize stolen data for personal gain, and Iran's declining economic climate may serve as an impetus for this activity.</span></p> <h4><span style="vertical-align: baseline;">UNC757</span><span style="font-style: italic; vertical-align: baseline;"> </span></h4> <p><span style="vertical-align: baseline;">In August 2024, the US Federal Bureau of Investigation (FBI), Cybersecurity and Infrastructure Security Agency (CISA), and Department of Defense Cybercrime Center (DC3) released a</span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-241a" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;"> joint advisory</span></a><span style="vertical-align: baseline;"> indicating that a group of Iran-based cyber actors known as UNC757 collaborated with ransomware affiliates including NoEscape, Ransomhouse, and ALPHV to gain network access to organizations across various sectors and then help the affiliates deploy ransomware for a percentage of the profits. The advisory further indicated that the group stole data from targeted networks likely in support of the Iranian government, and their ransomware operations were likely not sanctioned by the Government of Iran.</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">GTIG is unable to independently corroborate UNC757's reported collaboration with ransomware affiliates. However, the group has historical, suspected ties to the persona "nanash" that posted an advertisement in mid-2020 on a cybercrime forum claiming to have access to various networks, as well as hack-and-leak operations associated with the PAY2KEY ransomware and corresponding persona that targeted Israeli firms.</span><span style="vertical-align: baseline;"> </span></p> <h4><span style="vertical-align: baseline;">Examples of Dual Motive (Financial Gain and Espionage)</span></h4> <p><span style="vertical-align: baseline;">In multiple incidents, individuals who have conducted cyber intrusions on behalf of the Iranian government have also been identified conducting financially motivated intrusion. </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A 2020 US Department of Justice </span><a href="https://www.justice.gov/opa/pr/two-iranian-nationals-charged-cyber-theft-campaign-targeting-computer-systems-united-states" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">indictment</span></a><span style="vertical-align: baseline;"> indicated that two Iranian nationals conducted cyber intrusion operations targeting data "pertaining to national security, foreign policy intelligence, non-military nuclear information, aerospace data, human rights activist information, victim financial information and personally identifiable information, and intellectual property, including unpublished scientific research." The intrusions in some cases were conducted at the behest of the Iranian government, while in other instances, the defendants sold hacked data for financial gain.</span><span style="vertical-align: baseline;"> </span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">In 2017, the US DoJ </span><a href="https://www.justice.gov/usao-sdny/pr/acting-manhattan-us-attorney-announces-charges-against-iranian-national-conducting" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">indicted</span></a><span style="vertical-align: baseline;"> an Iranian national who attempted to extort HBO by threatening to release stolen content. The individual had previously worked on behalf of the Iranian military to conduct cyber operations targeting military and nuclear software systems and Israeli infrastructure.</span><span style="vertical-align: baseline;"> </span></p> </li> </ul> <h3><span style="vertical-align: baseline;">DPRK Cyber Threat Actors Conduct Financially Motivated Operations to Generate Revenue for Regime, Fund Espionage Campaigns</span></h3></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/dprk.max-1000x1000.png" alt="dprk"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Financially motivated operations are broadly prevalent among threat actors linked to the Democratic People's Republic of Korea (DPRK). These include groups focused on generating revenue for the regime as well as those that use the illicit funds to support their intelligence-gathering efforts. Cybercrime focuses on the cryptocurrency sector and blockchain-related platforms, leveraging tactics including but not limited to the creation and deployment of </span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-048a" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">malicious applications</span></a><span style="vertical-align: baseline;"> posing as cryptocurrency trading platforms</span><span style="vertical-align: baseline;"> and the airdropping of malicious non-fungible tokens (NFTs) that redirect the user to wallet-stealing phishing websites.</span><span style="vertical-align: baseline;"> A March 2024 United Nations (UN) </span><a href="https://documents.un.org/doc/undoc/gen/n24/032/68/pdf/n2403268.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">report</span></a><span style="vertical-align: baseline;"> estimated North Korean cryptocurrency theft between 2017 and 2023 at approximately $3 billion. </span></p> <h4><span style="vertical-align: baseline;">APT38</span></h4> <p><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt38-details-on-new-north-korean-regime-backed-threat-group"><span style="text-decoration: underline; vertical-align: baseline;">APT38</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> a financially motivated group aligned with the Reconnaissance General Bureau (RGB), was responsible for the attempted theft of vast sums of money from institutions worldwide, including via compromises targeting SWIFT systems. </span><a href="https://www.bloomberg.com/news/features/2017-08-03/a-baccarat-binge-helped-launder-the-world-s-biggest-cyberheist" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Public</span></a><span style="vertical-align: baseline;"> </span><a href="https://www.hindustantimes.com/pune-news/cosmos-online-theft-after-7th-arrest-sit-probe-covers-other-states/story-PlWSvlCLT0161H6OHS5E8O.html" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">reporting</span></a><span style="vertical-align: baseline;"> has associated the group with the use of money mules and casinos to withdraw and launder funds from fraudulent ATM and SWIFT transactions.</span><span style="vertical-align: baseline;"> In publicly reported heists alone, APT38's attempted thefts from financial institutions totaled over $1.1 billion USD, and by conservative estimates, successful operations have amounted to over $100 million USD. The group has also deployed destructive malware against target networks to render them inoperable following theft operations. While APT38 now appears to be defunct, we have observed evidence of its operators regrouping into other clusters, including those heavily targeting cryptocurrency and blockchain-related entities and other financials. </span></p> <h4><span style="vertical-align: baseline;">UNC1069 (CryptoCore), UNC4899 (TraderTraitor)</span></h4> <p><span style="vertical-align: baseline;">Limited indicators suggest that threat clusters GTIG tracks as UNC1069 (publicly referred to as </span><a href="https://www.clearskysec.com/cryptocore-lazarus-attribution/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">CryptoCore</span></a><span style="vertical-align: baseline;">) and UNC4899 (also reported as </span><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa22-108a" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">TraderTraitor</span></a><span style="vertical-align: baseline;">) are </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/north-korea-cyber-structure-alignment-2023/"><span style="text-decoration: underline; vertical-align: baseline;">successors</span></a><span style="vertical-align: baseline;"> to the now-defunct APT38. These clusters focus on financial gain, primarily by targeting cryptocurrency and blockchain entities. In December 2024, a </span><a href="https://www.fbi.gov/news/press-releases/fbi-dc3-and-npa-identification-of-north-korean-cyber-actors-tracked-as-tradertraitor-responsible-for-theft-of-308-million-from-bitcoindmmcom" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">joint statement</span></a><span style="vertical-align: baseline;"> released by the US FBI, DC3, and National Police Agency of Japan (NPA) reported</span><span style="vertical-align: baseline;"> on TraderTraitor's theft of cryptocurrency then valued at $308 million USD from a Japan-based company.</span></p> <h4><span style="vertical-align: baseline;">APT43 (Kimsuky)</span></h4> <p><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt43-north-korea-cybercrime-espionage"><span style="text-decoration: underline; vertical-align: baseline;">APT43</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> a prolific cyber actor whose collection requirements align with the mission of the RGB, funds itself through cybercrime operations to support its primary mission of collecting strategic intelligence, in contrast to groups focused primarily on revenue generation like APT38. While the group's espionage targeting is broad, it has demonstrated a particular interest in foreign policy and nuclear security, leveraging moderately sophisticated technical capabilities coupled with aggressive social engineering tactics against government organizations, academia, and think tanks. Meanwhile, APT43's financially motivated operations focus on stealing and laundering cryptocurrency to buy operational infrastructure. </span></p> <h4><span style="vertical-align: baseline;">UNC3782</span></h4> <p><span style="vertical-align: baseline;">UNC3782,</span><span style="vertical-align: baseline;"> a suspected North Korean threat actor active since at least 2022, conducts both financial crime operations against the cryptocurrency sector and espionage activity, including the </span><a href="https://www.reuters.com/technology/south-korea-launches-interagency-investigation-team-tackle-rising-crypto-crimes-2023-07-26/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">targeting</span></a><span style="vertical-align: baseline;"> of South Korean organizations attempting to combat cryptocurrency-related crimes,</span><span style="vertical-align: baseline;"> such as law firms and related government and media entities. UNC3782 has targeted users on cryptocurrency platforms including Ethereum, Bitcoin, Arbitrum, Binance Smart Chain, Cronos, Polygon, TRON, and Solana; Solana in particular constitutes a target-rich environment for criminal actors due to the platform's rapid growth.</span><span style="vertical-align: baseline;"> </span></p> <h4><span style="vertical-align: baseline;">APT45 (Andariel)</span></h4> <p><a href="https://cloud.google.com/blog/topics/threat-intelligence/apt45-north-korea-digital-military-machine"><span style="text-decoration: underline; vertical-align: baseline;">APT45</span></a><span style="vertical-align: baseline;">,</span><span style="vertical-align: baseline;"> a North Korean cyber operator active since at least 2009, has conducted espionage operations focusing on government, defense, nuclear, and healthcare and pharmaceutical entities. The group has also expanded its remit to financially motivated operations, and we suspect that it engaged in the development of ransomware, distinguishing it from other DPRK-nexus actors. </span></p> <h4><span style="vertical-align: baseline;">DPRK IT Workers</span><span style="vertical-align: baseline;"> </span></h4> <p><span style="vertical-align: baseline;">DPRK </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/mitigating-dprk-it-worker-threat"><span style="text-decoration: underline; vertical-align: baseline;">IT workers</span></a><span style="vertical-align: baseline;"> pose as non-North Korean nationals seeking employment at a wide range of organizations globally to generate revenue for the North Korean regime, enabling it to evade </span><a href="https://ofac.treasury.gov/media/923126/download?inline" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">sanctions</span></a><span style="vertical-align: baseline;"> and fund its weapons of mass destruction (WMD) and ballistic missiles programs.</span><span style="vertical-align: baseline;"> IT workers have also increasingly leveraged their privileged access at employer organizations to engage in or enable malicious intrusion activity and, in some cases, </span><a href="https://www.ic3.gov/PSA/2025/PSA250123" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">extort</span></a><span style="vertical-align: baseline;"> those organizations with threats of data leaks or sales of proprietary company information following the termination of their employment.</span><span style="vertical-align: baseline;">, </span></p> <p><span style="vertical-align: baseline;">While DPRK IT worker operations are widely reported to target US companies, they have increasingly expanded to Europe and other parts of the world. Tactics to evade detection include the use of </span><a href="https://www.justice.gov/opa/pr/fourteen-north-korean-nationals-indicted-carrying-out-multi-year-fraudulent-information" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">front companies</span></a><span style="vertical-align: baseline;"> and services of "</span><a href="https://www.justice.gov/opa/pr/charges-and-seizures-brought-fraud-scheme-aimed-denying-revenue-workers-associated-north" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">facilitators</span></a><span style="vertical-align: baseline;">," non-North Korean individuals who provide </span><a href="https://www.justice.gov/opa/pr/charges-and-seizures-brought-fraud-scheme-aimed-denying-revenue-workers-associated-north" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">services</span></a><span style="vertical-align: baseline;"> such as money and/or cryptocurrency laundering, assistance during the hiring process, and receiving and hosting company laptops to enable the workers remote access</span><span style="vertical-align: baseline;"> in exchange for a percentage of the workers' incomes.</span></p></div> <div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">A Comprehensive Approach is Required</span></h2> <p><span style="vertical-align: baseline;">We believe tackling this challenge will require a new and stronger approach recognizing the cybercriminal threat as a national security priority requiring international cooperation. While some welcome enhancements have been made in recent years, more must—and can—be done. The structure of the cybercrime ecosystem makes it particularly resilient to takedowns. Financially motivated actors tend to specialize in a single facet of cybercrime and regularly work with others to accomplish bigger schemes. While some actors may repeatedly team up with particular partners, actors regularly have multiple suppliers (or customers) for a given service. </span></p> <p><span style="vertical-align: baseline;">If a single ransomware-as-a-service provider is taken down, many others are already in place to fill in the gap that has been created. This resilient ecosystem means that while individual takedowns can disrupt particular operations and create temporary inconveniences for cybercriminals, these methods need to be paired with wide-ranging efforts to improve defense and crack down on these criminals' ability to carry out their operations. We urge policymakers to consider taking a number of steps:</span></p> <ul> <li><strong style="vertical-align: baseline;">Demonstrably elevate cybercrime as a national security priority</strong><span style="vertical-align: baseline;">: Governments must recognize cybercrime as a pernicious national security threat and allocate resources accordingly. This includes prioritizing intelligence collection and analysis on cybercriminal organizations, enhancing law enforcement capacity to investigate and prosecute cybercrime, and fostering international cooperation to dismantle these transnational networks.</span></li> <li><strong style="vertical-align: baseline;">Strengthen cybersecurity defenses</strong><span style="vertical-align: baseline;">: Policymakers should promote the adoption of robust cybersecurity measures across all sectors, particularly critical infrastructure. This includes incentivizing the implementation of security best practices, investing in research and development of advanced security technologies, enabling digital modernization and uptake of new technologies that can advantage defenders, and supporting initiatives that enhance the resilience of digital systems against attacks and related deceptive practices.</span></li> <li><strong style="vertical-align: baseline;">Disrupt the cybercrime ecosystem</strong><span style="vertical-align: baseline;">: Targeted efforts are needed to disrupt the cybercrime ecosystem by targeting key enablers such as malware developers, bulletproof hosting providers, and financial intermediaries such as cryptocurrency exchanges. This requires a combination of legal, technical, and financial measures to dismantle the infrastructure that supports cybercriminal operations and coordinated international efforts to enable the same.</span></li> <li><strong style="vertical-align: baseline;">Enhance international cooperation</strong><span style="vertical-align: baseline;">: cybercrime transcends national borders, necessitating strong international collaboration to effectively combat this threat. Policymakers should prioritize and resource international frameworks for cyber threat information sharing, joint investigations, and coordinated takedowns of cybercriminal networks, including by actively contributing to the strengthening of international organizations and initiatives dedicated to combating cybercrime, such as the Global Anti-Scams Alliance (GASA). They should also prioritize collective efforts to publicly decry malicious cyber activity through joint public attribution and coordinated sanctions, where appropriate. </span></li> <li><strong style="vertical-align: baseline;">Empower individuals and businesses</strong><span style="vertical-align: baseline;">: Raising awareness about cyber threats and promoting cybersecurity education is crucial to building a resilient society. Policymakers should support initiatives that educate individuals and businesses about online safety, encourage the adoption of secure practices, empower service providers to take action against cybercriminals including through enabling legislation, and provide resources for reporting and recovering from cyberattacks.</span></li> <li><strong style="vertical-align: baseline;">Elevate strong private sector security practices: </strong><span style="vertical-align: baseline;">Ransomware and other forms of cybercrime predominantly exploit insecure, often legacy technology architectures. Policymakers should consider steps to prioritize technology transformation, including the adoption of technologies/products with a strong security track record; diversifying vendors to mitigate risk resulting from overreliance on a single technology; and requiring interoperability across the technology stack.</span></li> </ul></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;The Evolution of Cybercrime&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bd8e970&gt;), (&#x27;btn_text&#x27;, &#x27;Watch now&#x27;), (&#x27;href&#x27;, &#x27;https://www.youtube.com/watch?v=NtANWZPHUak&#x27;), (&#x27;image&#x27;, &lt;GAEImage: evolution of cybercrime&gt;)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h2><span style="vertical-align: baseline;">About the Authors</span></h2> <p><span style="vertical-align: baseline;">Google Threat Intelligence Group brings together the Mandiant Intelligence and Threat Analysis Group (TAG) teams, and focuses on identifying, analyzing, mitigating, and eliminating entire classes of cyber threats against Alphabet, our users, and our customers. Our work includes countering threats from government-backed attackers, targeted 0-day exploits, coordinated information operations (IO), and serious cybercrime networks. We apply our intelligence to improve Google's defenses and protect our users and customers.</span></p></div>Tue, 11 Feb 2025 20:00:00 +0000https://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat/Threat IntelligencearticleCybercrime: A Multifaceted National Security ThreatGooglehttps://cloud.google.com/blog/topics/threat-intelligence/cybercrime-multifaceted-national-security-threat/Google Threat Intelligence Group Balance of power: A full-stack approach to power and thermal fluctuations in ML infrastructurehttps://cloud.google.com/blog/topics/systems/mitigating-power-and-thermal-fluctuations-in-ml-infrastructure/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">The recent explosion of machine learning (ML) applications has created unprecedented demand for power delivery in the data center infrastructure that underpins those applications. Unlike server clusters in the traditional data center, where tens of thousands of workloads coexist with uncorrelated power profiles, large-scale batch-synchronized ML training workloads exhibit substantially different power usage patterns. Under these new usage conditions, it is increasingly challenging to ensure the reliability and availability of the ML infrastructure, as well as to improve data-center </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/goodput-metric-as-measure-of-ml-productivity"><span style="text-decoration: underline; vertical-align: baseline;">goodput</span></a><span style="vertical-align: baseline;"> and energy efficiency. </span></p> <p><span style="vertical-align: baseline;">Google has been at the forefront of data center infrastructure design for several decades, with </span><a href="https://ieeexplore.ieee.org/document/10551740" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">a long list of innovations</span></a><span style="vertical-align: baseline;"> to our name. In this blog post, we highlight one of the key innovations that allowed us to manage unprecedented power and thermal fluctuations in our ML infrastructure. This innovation underscores the power of full codesign across the stack — from ASIC chip to data center, across both hardware and software. We also discuss the implications of this approach and propose a call to action for the broader industry. </span></p> <h3><strong style="vertical-align: baseline;">New ML workloads lead to new ML power challenges</strong></h3> <p><span style="vertical-align: baseline;">Today’s ML workloads require synchronized computation across tens of thousands of accelerator chips, together with their hosts, storage, and networking systems; these workloads often occupy one entire data-center cluster — or even multiples of them. The peak power utilization of these workloads could approach the rated power of all the underlying IT equipment, making power overscription much more difficult. Furthermore, power consumption rises and falls between idle and peak utilization levels much more steeply, due to the fact that the entire cluster’s power usage is now dominated by no more than a few large ML workloads. You can observe these power fluctuations when a workload launches or finishes, or when it is halted, then resumed or rescheduled. You may also observe a similar pattern when the workload is running normally, mostly attributable to alternating compute- and networking-intensive phases of the workload within a training step. Depending on the workload’s characteristics, these inter- and intra-job power fluctuations can occur very frequently. This can result in multiple unintended consequences on the functionality, performance, and reliability of the data center infrastructure.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_f9EbAew.max-1000x1000.png" alt="1"> </a> <figcaption class="article-image__caption "><p data-block-key="9vul9">Fig. 1. Large power fluctuations observed on cluster level with large-scale synchronized ML workloads</p></figcaption> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In fact, in our latest batch-synchronous ML workloads running on dedicated ML clusters, we observed power fluctuations in the tens of megawatts (MW), as shown in Fig.1. And compared to a traditional load variation profile, the ramp speed could be almost instantaneous, repeat as frequently as every few seconds, and last for weeks… or even months! </span></p> <p><span style="vertical-align: baseline;">Fluctuations of this kind pose the following risks:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Functionality and long-term reliability issues with rack and data center equipment, resulting in hardware-induced outages, reduced energy efficiency and increased operational/maintenance costs, including but not limited to rectifiers, transformers, generators, cables and busways</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Damage, outage, or throttling at the upstream utility, including violation of contractual commitments to the utility on power usage profiles, and corresponding financial costs</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Unintended and frequent triggering of the uninterrupted power supply (UPS) system from large power fluctuations, resulting in shortened lifetime of the UPS system</span></p> </li> </ul> <p><span style="vertical-align: baseline;">Large power fluctuations may also impact hardware reliability at a much smaller per-chip or per-system scale. Although the maximum temperature is well under control, power fluctuations may still translate into large and frequent temperature fluctuations, triggering various forms of interactions including warpage, changes to thermal interface material property, and electromigration.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Try Google Cloud for free&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bd9f610&gt;), (&#x27;btn_text&#x27;, &#x27;Get started for free&#x27;), (&#x27;href&#x27;, &#x27;https://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">A full-stack approach to proactive power shaping</strong></h3> <p><span style="vertical-align: baseline;">Due to the high complexity and large scale of our data-center infrastructure, we posited that </span><span style="font-style: italic; vertical-align: baseline;">proactively shaping a workload’s power profile</span><span style="vertical-align: baseline;"> could be more efficient than simply adapting to it. Google’s full codesign across the stack — from chip to data center, from hardware to software, and from instruction set to realistic workload — provides us with all the knobs we need to implement highly efficient end-to-end power management features to regulate our workloads’ power profiles and mitigate detrimental fluctuations. </span></p> <p><span style="vertical-align: baseline;">Specifically, we installed instrumentation in the TPU compiler to check on signatures in the workload that are linked with power fluctuations, such as sync flags. We then dynamically balance the activities of major compute blocks of the TPU around these flags to smooth out their utilization over time. This achieves our goal of mitigating power and thermal fluctuations with negligible performance overhead. In the future, we may also apply a similar approach to the workload’s starting and completion phases, resulting in a gradual, rather than abrupt, change in power levels. </span></p> <p><span style="vertical-align: baseline;">We’ve now implemented this compiler-based approach to shaping the power profile and applied it on realistic workloads. We measured the system’s total power consumption and a single chip’s hotspot temperature with, and without, the mitigation, as plotted in Fig. 2 and Fig. 3, respectively. In the test case, the magnitude of power fluctuations dropped by nearly 50% from the baseline case to the mitigation case. The magnitude of temperature fluctuations also dropped from ~20 C in the baseline case to ~10 C in the mitigation case. We measured the cost of the mitigation by the increase in average power consumption and the length of the training step. With proper tuning of the mitigation parameters, we can achieve the benefits of our design with small increases in average power with &lt;1% performance impact.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_x9eRU4h.max-1000x1000.png" alt="2"> </a> <figcaption class="article-image__caption "><p data-block-key="9vul9">Fig. 2. Power fluctuation with and without the compiler-based mitigation</p></figcaption> </figure> </div> </div> </div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_lWze6j1.max-1000x1000.jpg" alt="3"> </a> <figcaption class="article-image__caption "><p data-block-key="9vul9">Fig. 3. Chip temperature fluctuation with and without the compiler-based mitigation</p></figcaption> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">A call to action </strong></h3> <p><span style="vertical-align: baseline;">ML infrastructure is growing rapidly and expected to surpass traditional server infrastructure in terms of total power demand in the coming years. At the same time, ML infrastructure’s power and temperature fluctuations are unique and tightly coupled with the ML workload’s characteristics. Mitigating these fluctuations is just one example of many innovations we need to ensure reliable and high-performance infrastructure. In addition to the method described above, we’ve been investing in an array of innovative techniques to take on ever-increasing power and thermal challenges, including data center water cooling, vertical power delivery, power-aware workload allocation, and many more. </span></p> <p><span style="vertical-align: baseline;">But these challenges aren’t unique to Google. Power and temperature fluctuations in ML infrastructure are becoming a common issue for many hyperscalers and cloud providers as well as infrastructure providers. We need partners at all levels of the system to help: </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Utility providers to set forth a standardized definition of acceptable power quality metrics — especially in scenarios where multiple data centers with large power fluctuations co-exist within a same grid and interact with one another</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Power and cooling equipment suppliers to offer quality and reliability enhancements for electronics components, particularly for use-conditions with large and frequent power and thermal fluctuations</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Hardware suppliers and data center designers to create a standardized suite of solutions such as rack-level capacitor banks (RLCB) or on-chip features, to help establish an efficient supplier base and ecosystem</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">ML model developers to consider the energy consumption characteristics of the model, and consider adding low-level software mitigations to help address energy fluctuations</span></p> </li> </ul> <p><span style="vertical-align: baseline;">Google has been leading and advocating for industry-wide collaboration on these issues through forums such as Open Compute Project (OCP) to benefit the data center infrastructure industry as a whole. We look forward to continuing to share our learnings and collaborating on innovative new solutions together.</span></p> <hr/> <p><sup><em><span style="vertical-align: baseline;">A special thanks to Denis Vnukov, Victor Cai, Jianqiao Liu, Ibrahim Ahmed, Venkata Chivukula, Jianing Fan, Gaurav Gandhi, Vivek Sharma, Keith Kleiner, Mudasir Ahmad, Binz Roy, Krishnanjan Gubba Ravikumar, Ashish Upreti and Chee Chung from Google Cloud for their contributions.</span></em></sup></p></div>Tue, 11 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/topics/systems/mitigating-power-and-thermal-fluctuations-in-ml-infrastructure/SystemsarticleBalance of power: A full-stack approach to power and thermal fluctuations in ML infrastructureGooglehttps://cloud.google.com/blog/topics/systems/mitigating-power-and-thermal-fluctuations-in-ml-infrastructure/Houle GanTechnical Lead ManagerParthasarathy RanganathanVP, Engineering FellowNetworking support for AI workloadshttps://cloud.google.com/blog/products/networking/cross-cloud-network-solutions-support-for-ai-workloads/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">At Google Cloud, we strive to make it easy to deploy AI models onto our infrastructure. In this blog we explore how the </span><a href="https://cloud.google.com/solutions/cross-cloud-network?hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Cross-Cloud Network</span></a><span style="vertical-align: baseline;"> solution supports your AI workloads.</span></p> <h3><strong style="vertical-align: baseline;">Managed and Unmanaged AI options</strong></h3> <p><span style="vertical-align: baseline;">Google Cloud provides both managed (Vertex AI) and do-it-yourself (DIY) approaches for running AI workloads. </span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Vertex AI:</strong><span style="vertical-align: baseline;"> A fully managed machine learning platform. Vertex AI offers both pre-trained Google models and access to third-party models through Model Garden. As a managed service, Vertex AI handles infrastructure management, allowing you to concentrate on training, tuning, and inferencing your AI models.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Custom infrastructure deployments:</strong><span style="vertical-align: baseline;"> These deployments utilize various compute, storage and networking options based on the type of workload the user is running. </span><a href="https://cloud.google.com/solutions/ai-hypercomputer?hl=en"><span style="text-decoration: underline; vertical-align: baseline;">AI Hypercomputer</span></a><span style="vertical-align: baseline;"> is one way to deploy both HPC workloads that may not require GPU and TPUs, and also AI workloads running TPUs or GPUs.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Networking for managed AI</strong></h3> <p><span style="vertical-align: baseline;">With Vertex AI you don’t have to worry about the underlying infrastructure. For network connectivity by default the service is accessible via public API. Enterprises that want to use private connectivity have a </span><a href="https://cloud.google.com/vertex-ai/docs/general/netsec-overview#private-access"><span style="text-decoration: underline; vertical-align: baseline;">choice</span></a><span style="vertical-align: baseline;"> of Private Service Access, Private Google Access, Private Service Connect endpoints and Private Service Connect for Google APIs. The option you choose will vary based on the specific Vertex AI service you are using. You can learn more in the </span><a href="https://cloud.google.com/vertex-ai/docs/general/netsec-overview#access-methods"><span style="text-decoration: underline; vertical-align: baseline;">Accessing Vertex AI from on-premises and multicloud</span></a><span style="vertical-align: baseline;"> documentation.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 to try Google Cloud networking&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bda1e80&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectpath=/products?#networking&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Networking AI infrastructure deployments</strong></h3> <p><span style="vertical-align: baseline;">An organization has data located in another cloud, and would like to deploy an AI cluster with GPUs on Google Cloud. Let's look at a sample case. </span></p> <p><span style="vertical-align: baseline;">Based on this need, you need to analyze the networking based on planning, data ingestion, training and inference.</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Planning:</strong><span style="vertical-align: baseline;"> This crucial initial phase involves defining your requirements, the size of the cluster (number of GPUs), the type of GPUs needed, the desired region and zone for deployment, storage and anticipated network bandwidth for transfers. This planning informs the subsequent steps. For instance, training large language models like LLaMA which has billions of parameters requires a significantly larger cluster than fine-tuning smaller models.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Data ingestion:</strong><span style="vertical-align: baseline;"> Since the data is located in another cloud, you need a high-speed connection so that the data can be accessed directly or transferred to a storage option in Google Cloud. To facilitate this, </span><a href="https://cloud.google.com/network-connectivity/docs/interconnect/concepts/cci-overview"><span style="text-decoration: underline; vertical-align: baseline;">Cross-Cloud Interconnect</span></a><span style="vertical-align: baseline;"> offers a direct connection at high bandwidth with a choice of 10Gbps or 100Gbps per link. Alternatively if the data is located on-premises, you can use </span><a href="https://cloud.google.com/network-connectivity/docs/interconnect/concepts/overview"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Interconnect</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Training:</strong><span style="vertical-align: baseline;"> Training workloads demand high-bandwidth, low-latency, and lossless cluster networking. You can achieve GPU-to-GPU communication that bypasses the system OS with </span><a href="https://datatracker.ietf.org/doc/html/rfc5040#section-1.1" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Remote Direct Memory Access (RDMA)</span></a><span style="vertical-align: baseline;">. Google Cloud networking supports the RDMA over converged ethernet (RoCE) protocol in special network VPCs using the </span><a href="https://cloud.google.com/vpc/docs/rdma-network-profiles"><span style="text-decoration: underline; vertical-align: baseline;">RDMA network profile</span></a><span style="vertical-align: baseline;">. Proximity is important so nodes and clusters need to be as close to each other as possible for best performance.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Inference:</strong><span style="vertical-align: baseline;"> Inference requires low-latency connectivity to endpoints, which can be exposed via connectivity options like </span><a href="https://cloud.google.com/network-connectivity-center?hl=en" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Network Connectivity Center</span></a><span style="vertical-align: baseline;"> (NCC), </span><a href="https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Cloud VPN</span></a><span style="vertical-align: baseline;">, </span><a href="https://cloud.google.com/vpc/docs/vpc-peering" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">VPC network peering</span></a><span style="vertical-align: baseline;"> and Private Services Connect.</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1-neflowrdma.max-1000x1000.png" alt="1-neflowrdma"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">In the example above we use:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Cross-Cloud Interconnect</strong><span style="vertical-align: baseline;"> to connect to Google Cloud to meet the high speed connection requirement</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">RDMA networking with RoCE,</strong><span style="vertical-align: baseline;"> since we want to optimize our accelerators and have planned requirements.</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Google Kubernetes Engine (GKE) </strong><span style="vertical-align: baseline;">as a compute option on which to deploy our cluster.</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Learn more</strong></h3> <p><span style="vertical-align: baseline;">To learn more about networking for AI workloads please explore the following:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Cross-Cloud Network: </span><a href="https://cloud.google.com/resources/accelerating-the-enterprise-ai-journey-with-cross-cloud-network-whitepaper?hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Accelerating the Enterprise AI Journey with Cross-Cloud Network</span></a></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Compute: </span><a href="https://cloud.google.com/blog/products/compute/introducing-a4-vms-powered-by-nvidia-b200-gpu-aka-blackwell"><span style="text-decoration: underline; vertical-align: baseline;">Blackwell is here — new A4 VMs powered by NVIDIA B200 now in preview</span></a></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Blog: </span><a href="https://cloud.google.com/blog/products/compute/a3-ultra-with-nvidia-h200-gpus-are-ga-on-ai-hypercomputer"><span style="text-decoration: underline; vertical-align: baseline;">New updates to AI Hypercomputer</span></a></p> </li> </ul> <p><span style="vertical-align: baseline;">Want to ask a question, find out more or share a thought? Please connect with me on </span><a href="https://www.linkedin.com/in/ammett/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Linkedin</span></a><span style="vertical-align: baseline;">. </span></p></div> <div class="block-related_article_tout"> <div class="uni-related-article-tout h-c-page"> <section class="h-c-grid"> <a href="https://cloud.google.com/blog/products/networking/networking-capabilities-optimize-traffic-for-generative-ai-apps/" data-analytics='{ "event": "page interaction", "category": "article lead", "action": "related article - inline", "label": "article: {slug}" }' class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6 h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"> <div class="uni-related-article-tout__inner-wrapper"> <p class="uni-related-article-tout__eyebrow h-c-eyebrow">Related Article</p> <div class="uni-related-article-tout__content-wrapper"> <div class="uni-related-article-tout__image-wrapper"> <div class="uni-related-article-tout__image" style="background-image: url('')"></div> </div> <div class="uni-related-article-tout__content"> <h4 class="uni-related-article-tout__header h-has-bottom-margin">Exploring Google Cloud networking enhancements for generative AI applications</h4> <p class="uni-related-article-tout__body">Generative AI apps have different network traffic patterns than other apps. New capabilities across the Google Cloud networking stack can...</p> <div class="cta module-cta h-c-copy uni-related-article-tout__cta muted"> <span class="nowrap">Read Article <svg class="icon h-c-icon" role="presentation"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"></use> </svg> </span> </div> </div> </div> </div> </a> </section> </div> </div>Mon, 10 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/networking/cross-cloud-network-solutions-support-for-ai-workloads/AI & Machine LearningAI HypercomputerDevelopers & PractitionersNetworkingarticleNetworking support for AI workloadshttps://storage.googleapis.com/gweb-cloudblog-publish/images/0-hero-hpc.max-600x600.pngGooglehttps://cloud.google.com/blog/products/networking/cross-cloud-network-solutions-support-for-ai-workloads/Ammett WilliamsDeveloper Relations Engineer5 ways Google Cloud can help you minimize credential theft riskhttps://cloud.google.com/blog/products/identity-security/5-ways-google-cloud-can-help-you-minimize-credential-theft-risk/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">Threat actors who target cloud environments are increasingly focusing on exploiting compromised cloud identities. A compromise of human or non-human identities can lead to increased risks, including cloud resource abuse and sensitive data exfiltration. These risks are exacerbated by the sheer number of identities in most organizations; as they grow, the attack surface they represent also grows. </span></p> <p><span style="vertical-align: baseline;">As described in the latest </span><a href="https://services.google.com/fh/files/misc/threat_horizons_report_h1_2025.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Threat Horizons Report</span></a><span style="vertical-align: baseline;">, organizations should prioritize measures that can strengthen identity protection. </span></p> <p><span style="vertical-align: baseline;">“We recommend that organizations incorporate automation and awareness strategies such as strong password policies, mandatory multi-factor authentication, regular reviews of user access and cloud storage bucket security, leaked credential monitoring on the dark web, and account lockout mechanisms,” said Iain Mulholland, senior director, Security Engineering, in last week’s </span><a href="https://cloud.google.com/blog/products/identity-security/cloud-ciso-perspectives-how-cloud-security-can-adapt-ransomware-threats"><span style="text-decoration: underline; vertical-align: baseline;">Cloud CISO Perspectives newsletter</span></a><span style="vertical-align: baseline;">.</span></p> <p><span style="vertical-align: baseline;">Today, we are detailing key risk mitigations from Google Cloud security experts that you can quickly act on. Every organization should evaluate these mitigations as part of their efforts to protect their cloud deployments.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud security products&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdae7c0&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Google Cloud’s built-in protections </strong></h3> <p><span style="vertical-align: baseline;">Google Cloud provides always-on account protection measures that help mitigate credential theft. Many of these protections are based on heuristics that detect likely credential theft and terminate an attacker’s session. Others limit the use of suspected stolen cookies to minutes, instead of hours. </span></p> <p><span style="vertical-align: baseline;">Google Cloud requires users to reauthenticate to confirm the validity of their credentials before allowing many sensitive actions in the </span><a href="https://cloud.google.com/cloud-console"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Console</span></a><span style="vertical-align: baseline;">. This reauthentication can happen deterministically or based on a risk score. </span></p> <p><span style="vertical-align: baseline;">Google Cloud sets </span><a href="https://cloud.google.com/resource-manager/docs/secure-by-default-organizations"><span style="text-decoration: underline; vertical-align: baseline;">default Organization Policies</span></a><span style="vertical-align: baseline;"> on newly created organizations to guard against common risks of service credential theft and sharing of resources. </span></p> <p><span style="vertical-align: baseline;">However, as attacker tactics evolve, it’s important to have additional layers of defense in place spanning multi-factor authentication (MFA), protecting sessions, protecting service credentials, identity and access controls, and security monitoring.</span></p> <p><span style="vertical-align: baseline;">Google Cloud customers are encouraged to adopt the following measures to help increase protection against credential theft:</span></p> <ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Multi-factor authentication (MFA)</strong><span style="vertical-align: baseline;">: As part of our </span><a href="https://cloud.google.com/blog/transform/why-shared-fate-shows-us-a-better-cloud-roadmap"><span style="text-decoration: underline; vertical-align: baseline;">shared fate</span></a><span style="vertical-align: baseline;"> approach to help customers, we recently described our plans to make </span><a href="https://cloud.google.com/blog/products/identity-security/mandatory-mfa-is-coming-to-google-cloud-heres-what-you-need-to-know"><span style="text-decoration: underline; vertical-align: baseline;">MFA mandatory</span></a><span style="vertical-align: baseline;"> for all Google Cloud users this year. If you have not enabled MFA yet, you can take these steps in advance of mandatory enforcement:</span></p> </li> <ol> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Enable MFA on your primary Identity Provider (IdP). For Google Cloud customers who use Google Cloud Identity as their primary IdP, follow </span><a href="https://support.google.com/a/answer/175197?hl=en" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">these instructions</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Add an MFA instrument to Google Cloud Identity accounts for re-authentication. If Google Cloud Identity is not your primary IdP, this provides an independent layer of verification prior to allowing sensitive actions. Follow </span><a href="https://support.google.com/cloudidentity/answer/9176657?hl=en" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">these instructions</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Configure your IdP to always challenge (ideally with MFA) when accessing Google. When Google Cloud customers use Cloud Identity with their own IdP through </span><a href="https://cloud.google.com/identity-platform/docs/managing-providers-programmatically"><span style="text-decoration: underline; vertical-align: baseline;">SAML or OIDC</span></a><span style="vertical-align: baseline;">, Cloud Identity queries the IdP for an attestation when the session expires or when Google Cloud requires re-authentication. In the default configuration, IdPs silently approve all these attestations to minimize user friction. However, most IdPs can be configured to always require re-entering credentials, and even to always require MFA whenever Google Cloud requests an attestation. This configuration can be set up to only apply to the app representing Google Cloud, and not for all apps that the IdP federates for a smoother user and administrative experience.</span></p> </li> </ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Protecting sessions</strong><span style="vertical-align: baseline;">: We recommend four controls that can help increase session protection:</span></p> </li> <ol> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Limiting session length can reduce the usefulness of stolen cookies. The default session length is 16 hours, and is user-configurable. Here are instructions for </span><a href="https://support.google.com/a/answer/9368756?hl=en" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">setting session length</span></a><span style="vertical-align: baseline;">, and you can read more on </span><a href="https://cloud.google.com/blog/products/identity-security/improve-security-posture-with-time-bound-session-length"><span style="text-decoration: underline; vertical-align: baseline;">session length management</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Limiting IPs allowed to access Cloud Console and APIs </span><a href="https://cloud.google.com/beyondcorp-enterprise/docs/securing-console-and-apis"><span style="text-decoration: underline; vertical-align: baseline;">with Context-Aware Access</span></a><span style="vertical-align: baseline;"> (CAA) can make stolen credentials useless (unless the attacker has access to allowlisted IPs, such as the corporate network or VPN IPs.)</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/beyondcorp-enterprise/docs/securing-resources-with-certificate-based-access"><span style="text-decoration: underline; vertical-align: baseline;">Certificate-based access</span></a><span style="vertical-align: baseline;"> can be used to </span><a href="https://cloud.google.com/blog/products/identity-security/how-to-prevent-account-takeovers-with-new-certificate-based-access?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">require mTLS certificates</span></a><span style="vertical-align: baseline;"> to access Cloud Console and Google Cloud APIs. mTLS provides strong protection against cookie theft, requiring users to present an mTLS certificate in addition to existing credentials such as cookies. mTLS certificates are typically stored in the </span><a href="https://cloud.google.com/vmware-engine/docs/vmware-ecosystem/howto-vtpm"><span style="text-decoration: underline; vertical-align: baseline;">Trusted Platform Module (TPM)</span></a><span style="vertical-align: baseline;"> of the user’s device, making them extremely difficult for an attacker to steal. Many enterprises already deploy mTLS certificates to their users, and Google Cloud allows customers to either reuse their existing mTLS certificates, or use new ones just for Google Cloud.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Contextual-access restrictions can be configured with </span><a href="https://cloud.google.com/access-context-manager/docs/overview"><span style="text-decoration: underline; vertical-align: baseline;">Access Context Manager</span></a><span style="vertical-align: baseline;">, which allows Google Cloud organization administrators to define fine-grained, attribute based access control for projects and resources. Access levels can be configured to require additional device and user attributes to be met in order for a resource request to be successful. For example, you can require that a corporate-managed device be used to access and configure resources.</span></p> </li> </ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Protecting service credentials</strong><span style="vertical-align: baseline;">: Organizations should also build layered protection for non-human identities. Google Cloud offers detailed best practices for managing, using, and securing </span><a href="https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys"><span style="text-decoration: underline; vertical-align: baseline;">service account keys</span></a><span style="vertical-align: baseline;"> and </span><a href="https://cloud.google.com/docs/authentication/api-keys-best-practices"><span style="text-decoration: underline; vertical-align: baseline;">API keys</span></a><span style="vertical-align: baseline;">. Three important controls to consider:</span></p> </li> <ol> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Disable creation of service account keys: This </span><a href="https://cloud.google.com/resource-manager/docs/secure-by-default-organizations"><span style="text-decoration: underline; vertical-align: baseline;">Organization Policy setting</span></a><span style="vertical-align: baseline;"> prevents users from creating persistent keys for service accounts. Instead of allowing unqualified use of service account keys, </span><a href="https://cloud.google.com/docs/authentication#auth-decision-tree"><span style="text-decoration: underline; vertical-align: baseline;">choose the right authentication method</span></a><span style="vertical-align: baseline;"> for your use case, and allow exceptions for service account keys only for scenarios that cannot use more secure alternatives.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Disable leaked service account keys automatically: Google Cloud regularly scans public repositories (including Github and Gitlab) for leaked service account keys. If Google Cloud detects an exposed key, it will </span><a href="https://cloud.google.com/blog/products/identity-security/automatically-disabling-leaked-service-account-keys-what-you-need-to-know?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">automatically disable the key</span></a><span style="vertical-align: baseline;">. It also creates a </span><a href="https://cloud.google.com/logging/docs/audit"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Audit Logs</span></a><span style="vertical-align: baseline;"> event and sends a notification about the exposed key to project owners and security contacts. We strongly recommend not modifying the DISABLE_KEY option (which is </span><a href="https://cloud.google.com/resource-manager/docs/organization-policy/restricting-service-accounts#disable-exposed-keys"><span style="text-decoration: underline; vertical-align: baseline;">on by default</span></a><span style="vertical-align: baseline;">).</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Binding service account keys to trusted networks: Context Aware Access for service accounts enables customers to bind service accounts to an IP-range or specific VPC networks, and enforce that service accounts can access Google Cloud services and APIs only from these trusted networks. Customers can request early access to this control </span><a href="https://docs.google.com/forms/d/e/1FAIpQLSegl58OzF3Le5CEK7XH4FRMmK8r__p5teMsxTMCPLH5_pCy5w/viewform?resourcekey=0-cfUa0UjR7dmLJ2cmGbJQgQ" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">using this form</span></a><span style="vertical-align: baseline;">. </span></p> </li> </ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Identity and access controls</strong><span style="vertical-align: baseline;">: Adhering to the </span><a href="https://wikipedia.org/wiki/Principle_of_least_privilege" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">principle of least privilege</span></a><span style="vertical-align: baseline;"> can help limit the impact of credential compromise; use these controls to limit access and privileges to only what users need to perform their job functions.</span></p> </li> <ol> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Google Cloud </span><a href="https://cloud.google.com/iam/docs/overview"><span style="text-decoration: underline; vertical-align: baseline;">Identity and Access Management</span></a><span style="vertical-align: baseline;"> (IAM) lets you grant granular access to specific Google Cloud resources and can help prevent access to other resources. Permissions are grouped into roles, and roles are granted to authenticated principals. You should</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">regularly review and right-size permissions using tools such as </span><a href="https://cloud.google.com/policy-intelligence/docs/role-recommendations-overview"><span style="text-decoration: underline; vertical-align: baseline;">IAM Recommender</span></a><span style="vertical-align: baseline;">. The Google Cloud Architecture Framework provides additional </span><a href="https://cloud.google.com/architecture/framework/security/identity-access"><span style="text-decoration: underline; vertical-align: baseline;">best practices for managing identity and access</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/security/vpc-service-controls?hl=en"><span style="text-decoration: underline; vertical-align: baseline;">VPC Service Controls</span></a><span style="vertical-align: baseline;"> enable a powerful, context-aware approach to control access for your cloud resources. You can create </span><a href="https://cloud.google.com/vpc-service-controls/docs/use-access-levels"><span style="text-decoration: underline; vertical-align: baseline;">granular access control policies</span></a><span style="vertical-align: baseline;"> based on attributes such as user identity and IP address. These policies ensure specific security controls are in place before granting access to cloud resources from untrusted networks. By allowing access only from authorized networks, VPC Service Controls helps protect against the risk of data exfiltration presented by clients using stolen OAuth or service account credentials.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/iam/docs/principal-access-boundary-policies"><span style="text-decoration: underline; vertical-align: baseline;">Principal access boundaries</span></a><span style="vertical-align: baseline;"> can precisely define the resources that a principal is eligible to access. If a policy makes a principal ineligible to access a resource, then their access to that resource is limited regardless of the roles they've been granted.</span></p> </li> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Restrict identities by domain using </span><a href="https://cloud.google.com/resource-manager/docs/organization-policy/restricting-domains"><span style="text-decoration: underline; vertical-align: baseline;">domain-restricted sharing</span></a><span style="vertical-align: baseline;"> to limit role grants to users belonging to a specific domain or organization. When domain restricted sharing is active, only principals that belong to allowed domains or organizations can be granted IAM roles in your Google Cloud organization.</span></p> </li> </ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><strong style="vertical-align: baseline;">Security monitoring</strong><span style="vertical-align: baseline;">: In addition to implementing preventative controls, you should proactively monitor your cloud environment for signs of compromise. Early detection can help limit the business impact of a compromise.</span></p> </li> <ol> <li aria-level="2" style="list-style-type: lower-alpha; vertical-align: baseline;"> <p role="presentation"><a href="https://cloud.google.com/security/products/security-command-center"><span style="text-decoration: underline; vertical-align: baseline;">Security Command Center</span></a><span style="vertical-align: baseline;"> (SCC) is Google Cloud’s built-in security and risk management platform. It provides comprehensive security posture management, threat detection, and compliance monitoring. <br/><br/></span><span style="vertical-align: baseline;">With SCC's </span><a href="https://cloud.google.com/security-command-center/docs/ciem-overview" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Infrastructure Entitlement Management</span></a><span style="vertical-align: baseline;"> (CIEM) capabilities, you can manage which identities have access to which resources in your deployments, mitigate potential vulnerabilities that result from misconfigurations, and enforce the principle of least privilege. The </span><a href="https://cloud.google.com/security-command-center/docs/concepts-sensitive-actions-overview" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Sensitive Actions Service</span></a><span style="vertical-align: baseline;"> within SCC automatically detects and alerts on potentially damaging actions occurring across your cloud organization, folders, and projects. SCC’s </span><a href="https://cloud.google.com/blog/products/identity-security/how-virtual-red-teams-can-find-high-risk-cloud-issues-before-attackers-do" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;"><span style="text-decoration: underline; vertical-align: baseline;">Virtual Red Teaming</span></a><span style="vertical-align: baseline;"> capability continuously detects if high value resources are exposed and surfaces the identities and access paths that could lead to compromise.</span></p> </li> </ol> </ol> <h3><strong style="vertical-align: baseline;">Next steps</strong></h3> <p><span style="vertical-align: baseline;">Maintaining a strong security posture requires ongoing evaluation of the risks your organization faces, and the controls you have in place to address them. These recommendations can help you strengthen your cloud estate against the growing risks associated with credential compromise.</span></p> <p><span style="vertical-align: baseline;">You can learn more about protecting your Google Cloud deployments in our security </span><a href="https://cloud.google.com/security/best-practices"><span style="text-decoration: underline; vertical-align: baseline;">Best Practices Center</span></a><span style="vertical-align: baseline;">.</span></p></div>Mon, 10 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/identity-security/5-ways-google-cloud-can-help-you-minimize-credential-theft-risk/Security & Identityarticle5 ways Google Cloud can help you minimize credential theft riskGooglehttps://cloud.google.com/blog/products/identity-security/5-ways-google-cloud-can-help-you-minimize-credential-theft-risk/Panos MavrommatisSenior Director, Engineering, Google Cloud SecurityVikram MakhijaSenior Director, Engineering, Google Cloud SecurityNews you can use: What we announced in AI this monthhttps://cloud.google.com/blog/products/ai-machine-learning/what-google-cloud-announced-in-ai-this-month/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">2025 is off to a racing start. From announcing strides in the </span><a href="https://blog.google/feed/gemini-app-model-update-january-2025/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">new Gemini 2.0 model family</span></a><span style="vertical-align: baseline;"> to </span><a href="https://cloud.google.com/blog/topics/retail/how-retailers-are-accelerating-ai-with-nvidia-and-google-cloud?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">retailers accelerating with Cloud AI</span></a><span style="vertical-align: baseline;">, we spent January investing in our partner ecosystem, open-source, and ways to make AI more useful. We’ve heard from people everywhere, from developers to CMOs, about the pressure to adapt the latest in AI with efficiency and speed – and the delicate balance of being both conservative and forward-thinking. We’re here to help. Each month, we’ll post a retrospective that recaps Google Cloud’s latest announcements in AI – and importantly, how to make the most of these innovations. </span></p> <h3><strong style="vertical-align: baseline;">Top announcements: Bringing AI to you </strong></h3> <p><span style="vertical-align: baseline;">This month, </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/introducing-agent-evaluation-in-vertex-ai-gen-ai-evaluation-service?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">we announced agent evaluation in Vertex AI</span></a><span style="vertical-align: baseline;">. A surprise to nobody, AI agents are top of mind for many industries looking to deploy their AI and boost productivity. But closing the gap between impressive model demos and real-world performance is crucial for successfully deploying generative AI. That’s why we announced Vertex AI’s </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/introducing-vertex-ai-rag-engine?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">RAG Engine</span></a><span style="vertical-align: baseline;">, a fully managed service that helps you build and deploy RAG implementations with your data and methods. Together, these new innovations can help you build reliable, trustworthy models.</span></p> <p><span style="vertical-align: baseline;">From an infrastructure perspective, we</span><span style="vertical-align: baseline;"> announced</span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/blog/products/compute/a3-ultra-with-nvidia-h200-gpus-are-ga-on-ai-hypercomputer?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">new updates to AI Hypercomputer</span></a><span style="vertical-align: baseline;">. </span><span style="vertical-align: baseline;">We wanted to make it easier for you to run large multi-node workloads on GPUs by launching A3 Ultra VMs and Hypercompute Cluster, our new highly scalable clustering system. This builds on multiple advancements in AI infrastructure, including </span><a href="https://cloud.google.com/blog/products/compute/trillium-tpu-is-ga"><span style="text-decoration: underline; vertical-align: baseline;">Trillium</span></a><span style="vertical-align: baseline;">, </span><span style="vertical-align: baseline;">our sixth-generation TPU.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud AI and ML&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdb2790&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/vertex-ai/&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">What’s new in partners and open-source </strong></h3> <p><span style="vertical-align: baseline;">This month, we invested in our relationship with our partners. We shared </span><a href="https://cloud.google.com/blog/topics/partners/google-clouds-partner-marketing-studio-now-features-gemini?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">how Gemini-powered content creation in Partner Marketing Studio will help partners co-market faster.</span></a><span style="vertical-align: baseline;"> These features are designed to streamline marketing efforts across our entire ecosystem, empowering our partners to unlock new levels of success, efficiency, and impact. </span></p> <p><span style="vertical-align: baseline;">At the same time, we shared several important announcements in the world of open-source. We announced Mistral AI’s </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-new-mistral-large-model-on-vertex-ai?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">Mistral Large 24.11 and Codestral 25.01 models on Vertex AI</span></a><span style="vertical-align: baseline;">. These models will help developers write code and build faster – from high-complexity tasks to reasoning tasks, like creative writing. To help you get started, </span><span style="vertical-align: baseline;">we provided</span><span style="vertical-align: baseline;"> </span><a href="https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/generative_ai/mistralai_intro.ipynb" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">sample code</span></a><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">and</span><span style="vertical-align: baseline;"> </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/mistral"><span style="text-decoration: underline; vertical-align: baseline;">documentation</span></a><span style="vertical-align: baseline;">.</span></p> <p><span style="vertical-align: baseline;">And, most recently, we announced the </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-gen-ai-toolbox-for-databases-get-started-today?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">public beta of Gen AI Toolbox for Databases</span></a><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline;">in partnership with LangChain, the leading orchestration framework for developers building LLM applications. Toolbox is an open-source server that empowers application developers to connect production-grade, agent-based generative AI applications to databases. You can get started </span><a href="https://googleapis.github.io/genai-toolbox/getting-started/introduction/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;">.</span></p> <h3><strong style="vertical-align: baseline;">Industry news: Google Cloud at the National Retail Federation (NRF) </strong></h3> <p><span style="vertical-align: baseline;">The National Retail Federation kicked off the year with their annual NRF conference, where Google Cloud showed how AI agents and AI-powered search are already helping retailers operate more efficiently, create personalized shopping experiences, and use AI to get the latest products and experiences to their customers. </span><a href="https://blog.google/products/google-cloud/google-cloud-ai-retailers-nrf-2025/" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Check our new AI tools to help retailers build gen AI search and agents. </span></a></p> <p><span style="vertical-align: baseline;">As an example, Google Cloud </span><a href="https://cloud.google.com/blog/topics/retail/how-retailers-are-accelerating-ai-with-nvidia-and-google-cloud?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">worked with NVIDIA to empower retailers to boost their customer engagements in exciting new ways</span></a><span style="vertical-align: baseline;">, deliver more hyper-personalized recommendations, and build their own AI applications and agents. </span><span style="vertical-align: baseline;">Now with NVIDIA's AI Enterprise software available on Google Cloud, retailers can handle more data and more complex AI tasks without their systems getting bogged down.</span></p> <h3><strong style="vertical-align: baseline;">News you can use </strong></h3> <p><span style="vertical-align: baseline;">This month, we shared several ways to better implement fast-moving AI, from a comprehensive guide on </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/master-gemini-sft?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">Supervised Fine Tuning (SFT)</span></a><span style="vertical-align: baseline;">, to how developers can help their LLMs deliver more accurate, relevant, and contextually aware responses, minimizing hallucinations and building trust in AI applications by </span><a href="https://cloud.google.com/blog/products/ai-machine-learning/optimizing-rag-retrieval?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">optimizing their RAG retrieval</span></a><span style="vertical-align: baseline;">.</span></p> <p><span style="vertical-align: baseline;">We also published </span><span style="vertical-align: baseline;">new </span><a href="https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude#vertex-ai-studio"><span style="text-decoration: underline; vertical-align: baseline;">documentation to use open models in Vertex AI Studio</span></a><span style="vertical-align: baseline;">. Model selection isn’t limited to Google’s Gemini anymore. Now, choose models from Anthropic, Meta, and more when writing or comparing prompts.</span></p> <h3><strong style="vertical-align: baseline;">Hear from our leaders</strong></h3> <p><span style="vertical-align: baseline;">We closed out the month with </span><a href="https://cloud.google.com/transform/the-prompt-prototype-to-production-gen-ai?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">The Prompt</span></a><span style="vertical-align: baseline;">, our monthly column that brings observations from the field of AI. This month, we heard from Warren Barkley, AI product leader, who shares some best practices and essential guidance to help organizations successfully move AI pilots to production. Here’s a snippet:</span></p> <p><a href="https://www.googlecloudpresscorner.com/2024-08-08-New-Gen-AI-Research-From-Google-Cloud-and-National-Research-Group-Shows-Strong-ROI-for-Early-Adopters,1" rel="noopener" target="_blank"><span style="font-style: italic; text-decoration: underline; vertical-align: baseline;">More than 60% of enterprises</span></a><span style="font-style: italic; vertical-align: baseline;"> </span><span style="font-style: italic; vertical-align: baseline;">are now actively using gen AI in production, helping to boost productivity and business growth, bolster security, and improve user experiences. In the last year alone, we witnessed a staggering </span><strong style="font-style: italic; vertical-align: baseline;">36x increase in Gemini API usage and a nearly 5x increase of Imagen API usage on Vertex AI — clear evidence that our customers are making the move towards bringing gen AI to their real-world applications.</strong></p> <p><span style="vertical-align: baseline;">Stay tuned for monthly updates on Google Cloud’s AI announcements, news, and best practices. For a deeper dive into the latest from Google Cloud, read our weekly updates, </span><a href="https://cloud.google.com/blog/products/gcp/the-overwhelmed-persons-guide-to-google-cloud?e=48754805"><span style="text-decoration: underline; vertical-align: baseline;">The Overwhelmed Person’s Guide to Google Cloud.</span></a></p></div>Fri, 07 Feb 2025 20:00:00 +0000https://cloud.google.com/blog/products/ai-machine-learning/what-google-cloud-announced-in-ai-this-month/Google CloudAI & Machine LearningarticleNews you can use: What we announced in AI this monthhttps://storage.googleapis.com/gweb-cloudblog-publish/images/news_you_can_use_ufwWQGS.max-600x600.jpgGooglehttps://cloud.google.com/blog/products/ai-machine-learning/what-google-cloud-announced-in-ai-this-month/Google Cloud Content & Editorial BigQuery datasets now available on Google Cloud Marketplacehttps://cloud.google.com/blog/topics/partners/get-bigquery-datasets-on-google-cloud-marketplace/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">We are excited to announce the availability of datasets on </span><a href="https://cloud.google.com/marketplace"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Marketplace</span></a><span style="vertical-align: baseline;"> through </span><a href="https://cloud.google.com/analytics-hub"><span style="text-decoration: underline; vertical-align: baseline;">BigQuery Analytics Hub</span></a><span style="vertical-align: baseline;">, opening up new avenues for organizations to power innovative analytics use cases and procure data for enterprise business needs. As a centralized procurement platform, Google Cloud Marketplace offers access to a wide array of enterprise applications, foundational AI models, LLMs, and now, commercial and free datasets from third-party data providers and Google. BigQuery Analytics Hub enables cross-organizational zero-copy sharing at scale, with governance, security, and encryption all built in natively. </span></p> <p><span style="vertical-align: baseline;">This deep integration between Google Cloud Marketplace and Analytics Hub not only simplifies data procurement for customers, but also helps data providers extend reach to a global audience and unlock additional business opportunities. Let's delve into the various benefits this development brings.</span></p> <h3><strong style="vertical-align: baseline;">Streamlined data procurement for customers</strong></h3> <p><span style="vertical-align: baseline;">The introduction of BigQuery datasets on Google Cloud Marketplace offers numerous advantages for customers looking to access high-quality datasets to power analytics, AI and to optimize business applications. We offer a wide variety of datasets, including commercial data products from leading providers such as </span><a href="https://cloud.google.com/blog/topics/partners/crux-and-dun--bradstreet-datasets-on-google-cloud-marketplace"><span style="text-decoration: underline; vertical-align: baseline;">Dun &amp; Bradstreet</span></a><span style="vertical-align: baseline;">, </span><a href="https://investor.equifax.com/news-events/press-releases/detail/1337/equifax-makes-differentiated-data-products-available-on" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Equifax</span></a><span style="vertical-align: baseline;">, and </span><a href="https://cloud.google.com/blog/products/data-analytics/bigquery-helps-weather-source-helps-mitigate-weather-related-risk"><span style="text-decoration: underline; vertical-align: baseline;">Weather Source</span></a><span style="vertical-align: baseline;">, a Pelmorex company. Data teams can now easily find, buy, and consume datasets from a centralized, comprehensive catalog — the same place where they discover generative AI, analytics and business applications that integrate with or run on Google Cloud. By simplifying the data discovery and procurement process, businesses can allocate their resources more efficiently, reduce administrative burden, and accelerate data and AI-driven initiatives. Dataset purchased from the Google Cloud Marketplace can draw down the customer's Google Cloud commitment. </span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;Try Google Cloud for free&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bda11c0&gt;), (&#x27;btn_text&#x27;, &#x27;Get started for free&#x27;), (&#x27;href&#x27;, &#x27;https://console.cloud.google.com/freetrial?redirectPath=/welcome&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Immediate access to purchased data</strong></h3> <p><span style="vertical-align: baseline;">Upon purchasing a dataset, customers can gain instant access to it within their </span><a href="https://cloud.google.com/bigquery"><span style="text-decoration: underline; vertical-align: baseline;">BigQuery</span></a><span style="vertical-align: baseline;"> environment through Analytics Hub. By subscribing to a purchased BigQuery dataset in Analytics Hub, a </span><a href="https://cloud.google.com/bigquery/docs/analytics-hub-introduction#linked_datasets"><span style="text-decoration: underline; vertical-align: baseline;">linked dataset</span></a><span style="vertical-align: baseline;"> is immediately created in the customer’s own Google Cloud project. This allows businesses to swiftly integrate procured data with their own data without requiring data movement or replication, expedite analytical processes, and accelerate time-to-value. By eliminating the delays commonly associated with data procurement and by streamlining data delivery time, organizations can quickly leverage the acquired data to inform strategic decisions and drive innovation. </span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2._Cloud_Data_Marketplace_AHMP_User_Guide_3.jpg" alt="2. Cloud Data Marketplace (AH+MP) User Guide (3)"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Cost control, security and governance</strong></h3> <p><span style="vertical-align: baseline;">Customers procuring datasets through Google Cloud Marketplace can benefit significantly from cost savings, as linked datasets in Analytics Hub are live pointers to shared data and require no data copying, and there are no extra replication or storage costs to account for. In addition, customers can reduce billing sprawl with consolidated billing for Google Cloud services, third-party ISV solutions, and now datasets. A recent </span><a href="https://services.google.com/fh/files/misc/idc_report_the_business_value_of_google_cloud_marketplace_jan25.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud commissioned IDC study</span></a><sup><span style="vertical-align: baseline;"><span style="vertical-align: super;">1</span></span></sup><span style="vertical-align: baseline;"> found that Google Cloud Marketplace can help customers lower spending on third-party solutions by 21.2% on average, largely due to avoiding unnecessary purchases, reducing duplicative spend, and leveraging committed spend discounts. Customers gain cost efficiencies and improved time-to-value opportunities by consolidating contracts across their entire organization.</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">On the security front, Google Cloud provides robust features to support data protection. Analytics Hub natively supports provider and subscriber project isolation, helping to ensure that commercial data can be safely shared across organizational boundaries. Customers can also apply specific security configurations via BigQuery and Analytics Hub, including </span><a href="https://cloud.google.com/bigquery/docs/analytics-hub-vpc-sc-rules"><span style="text-decoration: underline; vertical-align: baseline;">Virtual Private Cloud Service Controls </span></a><span style="vertical-align: baseline;">support, allowing for tailored access controls to help safeguard from unauthorized access. </span></p> <p><span style="vertical-align: baseline;">Furthermore, organizations can maintain governance and control over the solutions in use by turning on the </span><a href="https://cloud.google.com/blog/topics/partners/google-cloud-private-marketplace-mitigates-shadow-it"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Private Marketplace</span></a><span style="vertical-align: baseline;"> capability, enabling a curated collection of trusted products — including datasets — that can be discovered, procured and used by their data analyst teams. With Private Marketplace, administrators can maintain control over which datasets are used, yet also ensure that governance controls do not hinder productivity by turning on the ability for end-users to </span><a href="https://cloud.google.com/marketplace/docs/governance/product-requests"><span style="text-decoration: underline; vertical-align: baseline;">request additional products</span></a><span style="vertical-align: baseline;"> be made available. The same IDC study found that managing third-party software purchases through Google Cloud Marketplace can result in 31% productivity gains for compliance teams</span><sup><span style="vertical-align: baseline;"><span style="vertical-align: super;">1</span></span></sup><span style="vertical-align: baseline;">.</span></p> <h3><strong style="vertical-align: baseline;">Data providers extend reach to customers</strong></h3> <p><span style="vertical-align: baseline;">Data provider partners get significant advantages by listing their offerings on Google Cloud Marketplace, gaining access to a wider customer base, facilitating market expansion and business growth. With a streamlined onboarding process, data providers can create new revenue channels by efficiently making their datasets available to new customers. </span></p> <p><span style="vertical-align: baseline;">Once the transaction is completed in Google Cloud Marketplace, Analytics Hub automatically enables customer access to the data provider’s data, minimizing friction for sellers and customers. In addition, the integration with Analytics Hub means data updates are propagated instantly, so that end users have access to the most current information, enhancing customer satisfaction and loyalty. Google Cloud Marketplace supports dataset </span><a href="https://cloud.google.com/terms/marketplace-agency-jurisdictions"><span style="text-decoration: underline; vertical-align: baseline;">transactions via the agency model</span></a><span style="vertical-align: baseline;">, which at the time of this announcement is enabled for customers and partners based in France, Germany, the United Kingdom, and the United States.</span></p> <h3><strong style="vertical-align: baseline;">Unlock monetization opportunities</strong></h3> <p><span style="vertical-align: baseline;">Google Cloud Marketplace opens up various monetization opportunities for data provider partners. Those who already have data in BigQuery can quickly share at scale with Analytics Hub, commercialize, list, and unlock new income streams through Google Cloud Marketplace. Integration opportunities between Analytics Hub and Google Cloud Marketplace further enable partners to capitalize on the intrinsic value of their data, expanding their monetization strategies and maximizing revenue potential.</span></p> <p><span style="vertical-align: baseline;">Partners have the flexibility to transact with customers via public, off-the-shelf pricing or through custom-negotiated </span><a href="https://youtu.be/fMPshbTJq4k?si=h4pPh6hxvJ0lI3J4" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">private offers</span></a><span style="vertical-align: baseline;">. They can set up fixed-fee subscriptions and customize payment schedules for data offerings without needing complex technical integrations, simplifying the process of generating revenue. Leverage Google Cloud’s standard agreements or provide your own. Finally, with </span><a href="https://cloud.google.com/bigquery/docs/analytics-hub-monitor-listings#use-analytics-hub"><span style="text-decoration: underline; vertical-align: baseline;">Analytics Hub usage metrics</span></a><span style="vertical-align: baseline;"> and subscription management, data providers can easily analyze usage behavior, identify patterns, and add or revoke subscriptions, all within a single pane of glass. And if they execute campaigns to drive traffic to Google Cloud Marketplace dataset offerings, they can track traffic and conversion in the </span><a href="https://cloud.google.com/marketplace/docs/partners/monitor-analytics"><span style="text-decoration: underline; vertical-align: baseline;">Analytics</span></a><span style="vertical-align: baseline;"> dashboard within Google Cloud Marketplace Producer Portal. Whether it’s through fixed subscriptions or through offering advanced data services, partners have numerous ways to monetize data effectively on our platform.</span></p> <p><span style="vertical-align: baseline;">Data provider partners are excited about the business opportunities and customer use cases that BigQuery datasets on Google Cloud Marketplace can help deliver.</span></p> <p style="padding-left: 40px;"><span style="font-style: italic; vertical-align: baseline;">“Driving adoption of Dun &amp; Bradstreet data through joint-go-to-market is a key pillar of our partnership with Google Cloud. We are excited about the ability for our mutual customers to seamlessly transact Dun &amp; Bradstreet’s high-quality and trusted data on the Google Cloud Marketplace and immediately unlock powerful analytics and real-time insights. Having more of our AI-ready data on BigQuery helps organizations be deliberate about their data strategy.” </span><span style="vertical-align: baseline;">– Isabel Gomez Vidal, Chief Revenue Office, Dun &amp; Bradstreet</span></p> <p style="padding-left: 40px;"><span style="font-style: italic; vertical-align: baseline;">“</span><span style="font-style: italic; vertical-align: baseline;">Our collaboration with Google Cloud to make Equifax data available on Google Cloud Marketplace and Analytics Hub represents a significant step forward in data accessibility. By leveraging this platform, our customers can now integrate Equifax insights seamlessly into their existing workflows, driving innovation and informed decision-making." </span><span style="vertical-align: baseline;">- Felipe Castillo, Chief Product Officer, US Information Solutions, Equifax</span></p> <p style="padding-left: 40px;"><span style="font-style: italic; vertical-align: baseline;">“We are proud to be an early adopter of the Google Cloud Marketplace and we are looking forward to building upon our initial success leveraging the integrated functionality in BigQuery. Google Cloud Marketplace has accelerated lead capturing, procurement, and delivery of our data assets, allowing our teams to focus on unlocking business opportunities with our mutual customers.”</span><span style="vertical-align: baseline;"> - Craig Stelmach, Senior Vice President of Business Development and Sales, Weather </span><span style="vertical-align: baseline;">Source</span><span style="vertical-align: baseline;">, a Pelmorex Company</span><span style="vertical-align: baseline;"> </span></p> <p><span style="vertical-align: baseline;">Analytics Hub and Google Cloud Marketplace are helping to reshape the landscape of how customers and data providers make the most out of data to power the next generation of AI and enterprise use cases. Learn more about </span><a href="https://cloud.google.com/bigquery/docs/analytics-hub-introduction"><span style="text-decoration: underline; vertical-align: baseline;">Analytics Hub</span></a><span style="vertical-align: baseline;"> and explore datasets on </span><a href="https://console.cloud.google.com/marketplace/browse?filter=solution-type:dataset&amp;hl=en"><span style="text-decoration: underline; vertical-align: baseline;">Google Cloud Marketplace</span></a><span style="vertical-align: baseline;">.</span></p> <hr/> <p><sup><em><span style="vertical-align: baseline;">1. IDC Business Value White Paper, sponsored by Google Cloud, </span><a href="https://services.google.com/fh/files/misc/idc_report_the_business_value_of_google_cloud_marketplace_jan25.pdf" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">The Business Value of Google Cloud Marketplace for Acquiring Third-Party Software</span></a><span style="vertical-align: baseline;">, doc #US52630724, January 2025</span></em></sup></p></div>Fri, 07 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/topics/partners/get-bigquery-datasets-on-google-cloud-marketplace/BigQueryPartnersarticleBigQuery datasets now available on Google Cloud Marketplacehttps://storage.googleapis.com/gweb-cloudblog-publish/images/1._Analytics_Hub_and_Google_Cloud_Marketplac.max-600x600.jpgGooglehttps://cloud.google.com/blog/topics/partners/get-bigquery-datasets-on-google-cloud-marketplace/Eilbron MeghdiesProduct Management Lead, Google Cloud MarketplaceMaggy HuProduct Management Lead, BigQuery Analytics HubRightsize your Memorystore for Redis Clusters with open-source Autoscalerhttps://cloud.google.com/blog/products/databases/memorystore-cluster-autoscaler-now-on-github/<div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">One of the most compelling aspects of cloud computing is being able to automatically scale resources up, but almost as importantly, to scale them back down to manage costs and performance. This is standard practice with virtual machines, for instance Compute Engine </span><a href="https://cloud.google.com/compute/docs/instance-groups"><span style="text-decoration: underline; vertical-align: baseline;">Managed Instance Groups</span></a><span style="vertical-align: baseline;">, but because of their inherent complexity, less so with stateful services such as databases.</span></p> <p><span style="vertical-align: baseline;">Last year we released </span><a href="https://cloud.google.com/memorystore/docs/cluster"><span style="text-decoration: underline; vertical-align: baseline;">Memorystore for Redis Cluster</span></a><span style="vertical-align: baseline;"> with the ability to manually trigger scale out and down. Today, to meet the incredibly elastic nature of modern Memorystore workloads, we’re excited to announce the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">open-source Memorystore Cluster Autoscaler available on GitHub</span></a><span style="vertical-align: baseline;">, which builds on our open-source </span><a href="https://github.com/cloudspannerecosystem/autoscaler" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Spanner Autoscaler</span></a><span style="vertical-align: baseline;">, which we released in 2020.</span></p> <h3><strong style="vertical-align: baseline;">Understanding cluster scaling</strong></h3> <p><span style="vertical-align: baseline;">Memorystore for Redis Cluster capacity is determined by the number of </span><a href="https://cloud.google.com/memorystore/docs/cluster/memorystore-for-redis-cluster-overview#hierarchical_resource_structure"><span style="text-decoration: underline; vertical-align: baseline;">shards</span></a><span style="vertical-align: baseline;"> in your cluster, which can be increased/decreased without downtime, and your cluster’s shard size, which maps on to the underlying </span><a href="https://cloud.google.com/memorystore/docs/cluster/cluster-node-specification#choosing_a_node_type"><span style="text-decoration: underline; vertical-align: baseline;">node type</span></a><span style="vertical-align: baseline;">. At this time, the node type of the cluster is immutable. To scale capacity in or out, you modify the number of shards in your cluster. To automate this process, you can deploy the Memorystore Cluster Autoscaler to monitor your </span><a href="https://cloud.google.com/memorystore/docs/cluster/supported-monitoring-metrics"><span style="text-decoration: underline; vertical-align: baseline;">cluster metrics</span></a><span style="vertical-align: baseline;">, and rightsize your cluster based on that information. The Autoscaler performs the necessary resource adjustments using rulesets that evaluate memory and CPU utilization, without impacting cluster availability.</span></p> <p><span style="vertical-align: baseline;">The following chart shows the Autoscaler in action, with a Memorystore for Redis Cluster instance automatically scaling out as memory utilization increases. The green line represents data being written to the cluster at the rate of one gigabyte every five minutes. The blue line represents the number of shards in the cluster. You can see that the cluster scales out, with the number of shards increasing in proportion to the memory utilization, then plateaus when the writes stop, and finally scales back in when the keys are flushed at the end of the test.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1-scaling-chart.max-1000x1000.png" alt="1-scaling-chart"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Experience and deployment</strong></h3> <p><span style="vertical-align: baseline;">To use the Autoscaler, deploy it to one of your Google Cloud projects. The Autoscaler is very flexible and there are multiple options for its deployment, so the repository contains multiple </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/terraform" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">example Terraform deployment configurations</span></a><span style="vertical-align: baseline;">, as well as documentation that describes the various deployment models.</span></p> <p><span style="vertical-align: baseline;">Once you’ve deployed the Autoscaler, configure it according to the scaling requirements of the Memorystore instances being managed, to suit your workloads’ characteristics. You do this by setting Autoscaler </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/blob/main/src/poller/README.md#configuration-parameters" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">configuration parameters</span></a><span style="vertical-align: baseline;"> for each of the Memorystore instances. Once configured, the Autoscaler autonomously manages and scales the Memorystore instances. You can read more about these parameters later in this post, and in the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Autoscaler documentation</span></a><span style="vertical-align: baseline;">.</span></p></div> <div class="block-aside"><dl> <dt>aside_block</dt> <dd>&lt;ListValue: [StructValue([(&#x27;title&#x27;, &#x27;$300 in free credit to try Google Cloud databases&#x27;), (&#x27;body&#x27;, &lt;wagtail.rich_text.RichText object at 0x3ec53bdb9580&gt;), (&#x27;btn_text&#x27;, &#x27;Start building for free&#x27;), (&#x27;href&#x27;, &#x27;http://console.cloud.google.com/freetrial?redirectPath=/products?#databases&#x27;), (&#x27;image&#x27;, None)])]&gt;</dd> </dl></div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Autoscaler architecture</strong></h3> <p><span style="vertical-align: baseline;">The Autoscaler consists of two main components, the </span><strong style="vertical-align: baseline;">Poller</strong><span style="vertical-align: baseline;"> and the </span><strong style="vertical-align: baseline;">Scaler</strong><span style="vertical-align: baseline;">. You can deploy these to either </span><a href="https://cloud.google.com/functions"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Run functions</span></a><span style="vertical-align: baseline;"> or </span><a href="https://cloud.google.com/kubernetes-engine"><span style="text-decoration: underline; vertical-align: baseline;">Google Kubernetes Engine (GKE)</span></a><span style="vertical-align: baseline;"> via Terraform, and configure them so that the Autoscaler runs according to a user-defined schedule. The Poller queries the Memorystore metrics in Cloud Monitoring at a pre-defined interval to determine utilization, and passes them to the Scaler. The Scaler then compares the metrics against the recommended thresholds specified in the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/src/scaler#scaling-rules" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">rule set</span></a><span style="vertical-align: baseline;">, and determines if the instance should be scaled in or out, and if so, by how many shards. You can modify the sample configuration to determine minimum and maximum cluster sizes and any other thresholds suitable for your environment.</span></p> <p><span style="vertical-align: baseline;">Throughout the flow, the Autoscaler writes a step-by-step summary of its recommendations and actions to </span><a href="https://cloud.google.com/logging"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Logging</span></a><span style="vertical-align: baseline;"> for tracking and auditing, as well as metrics to </span><a href="https://cloud.google.com/monitoring"><span style="text-decoration: underline; vertical-align: baseline;">Cloud Monitoring</span></a><span style="vertical-align: baseline;"> to provide insight into its actions</span><span style="vertical-align: baseline;">.</span></p></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2-arch-diagram.max-1000x1000.jpg" alt="2-arch-diagram"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><h3><strong style="vertical-align: baseline;">Scaling rubrics</strong></h3> <p><span style="vertical-align: baseline;">Memorystore performance is most commonly limited by in-memory storage and by CPU. The Autoscaler is configured by default to take both of these factors into consideration when scaling, by utilizing the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/blob/main/src/scaler/README.md#scaling-profiles" rel="noopener" target="_blank"><strong style="vertical-align: baseline;">CPU_AND_MEMORY</strong></a><span style="vertical-align: baseline;"> profile. This is a good place to start your deployment, and can be replaced with a custom configuration, if required, to best suit your needs.</span></p> <p><strong style="vertical-align: baseline;">Defaults</strong></p> <div align="center"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"> <div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"><table><colgroup><col/><col/><col/></colgroup> <tbody> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p style="text-align: center;"><strong style="vertical-align: baseline;">Metric</strong></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p style="text-align: center;"><strong style="vertical-align: baseline;">Average Default Setting</strong></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p style="text-align: center;"><strong style="vertical-align: baseline;"> Max Default Setting</strong></p> </td> </tr> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">CPU scale OUT</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">CPU &gt; 70%</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Max CPU &gt; 80% and average CPU &gt; 50%</span></p> </td> </tr> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">CPU scale IN</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">CPU &lt; 50% *</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Max CPU &lt; 60% and average CPU &lt; 40% *</span></p> </td> </tr> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Memory Scale OUT</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Usage &gt; 70%</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Max Usage &gt; 80% and average usage &gt; 50%</span></p> </td> </tr> <tr> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Memory Scale IN</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Usage &lt; 50% *</span></p> </td> <td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"> <p><span style="vertical-align: baseline;">Max Usage &lt; 60% and average usage &lt; 40% *</span></p> </td> </tr> </tbody> </table></div> </div> </div> </div> </div> </div> </div> </div> </div> <p><span style="vertical-align: baseline;">* Scale-in will be blocked if there are ongoing key evictions, which occur when the keyspace is full and keys are removed from the cache to make room. Scale in is enabled by default, but can be configured using a custom scaling profile. Refer to the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/blob/main/src/scaler/README.md#scaling-profiles" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Scaling Profiles section of the documentation</span></a><span style="vertical-align: baseline;"> for more information on how to do this.</span></p> <h3><strong style="vertical-align: baseline;">Scaling scenarios and methods</strong></h3> <p><span style="vertical-align: baseline;">Let’s take a look at </span><span style="vertical-align: baseline;">some typical scenarios and their specific utilization patterns, and the Autoscaler configurations best suited to each of them. You can read more about the options described in the following section in the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/blob/main/src/poller/README.md#configuration-parameters" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">configuration documentation</span></a><span style="vertical-align: baseline;">.</span></p> <p><strong style="vertical-align: baseline;">Standard workloads</strong></p> <p><span style="vertical-align: baseline;">With many applications backed by Memorystore, users interact with the application at certain times of day more than others, in a regular pattern — think a banking application where users check their accounts in the morning, make transactions during the afternoon and early evening, but don’t use the application much at night. </span></p> <p><span style="vertical-align: baseline;">We refer to this fairly typical scenario as a "standard workload" whose time series shows:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Large utilization increase or decrease at certain points of the day</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Small spikes over and under the threshold</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3-standard-workload.max-1000x1000.png" alt="3-standard-workload"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">A recommended base configuration for these types of workflow should include:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">The LINEAR</span><strong style="vertical-align: baseline;"> scalingMethod</strong><span style="vertical-align: baseline;"> to cover large scale events</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A small value for </span><strong style="vertical-align: baseline;">scaleOutCoolingMinutes</strong><span style="vertical-align: baseline;"> — between 5 and 10 minutes — to minimize Autoscaler’s reaction time.</span></p> </li> </ul> <p><strong style="vertical-align: baseline;">Plateau workloads</strong></p> <p><span style="vertical-align: baseline;">Another common scenario is applications with more consistent utilization during the day such as global apps, games, or chat applications. User interactions with these applications are more consistent, so the jumps in utilization are less pronounced than for a standard workload.</span></p> <p><span style="vertical-align: baseline;">These scenarios create a "plateau workload" whose time series shows:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A pattern composed of various plateaus during the day</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Some larger spikes within the same plateau</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4-plateau-workload.max-1000x1000.png" alt="4-plateau-workload"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">A recommended base configuration for these types of workflow should include:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">The STEPWISE </span><strong style="vertical-align: baseline;">scalingMethod</strong><span style="vertical-align: baseline;">, with a </span><strong style="vertical-align: baseline;">stepSize</strong><span style="vertical-align: baseline;"> sufficient to cover the largest utilization jump using only a few steps during a normal day, OR</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">The LINEAR </span><strong style="vertical-align: baseline;">scalingMethod</strong><span style="vertical-align: baseline;">, if there is likely to be a considerable increase or reduction in utilization at certain times, for example when breaking news is shared. Use this method together with a </span><strong style="vertical-align: baseline;">scaleInLimit</strong><span style="vertical-align: baseline;"> to avoid reducing the capacity of your instance too quickly</span></p> </li> </ul> <p><strong style="vertical-align: baseline;">Batch workloads</strong></p> <p><span style="vertical-align: baseline;">C</span><span style="vertical-align: baseline;">ustomers often need increased capacity for their Memorystore clusters to handle batch processes or a sales event, where the timing is usually known in advance. These scenarios comprise a "batch workload" with the following properties:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A scheduled, well-known peak that requires additional compute capacity</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">A drop in utilization when the process or event is over</span></p> </li> </ul></div> <div class="block-image_full_width"> <div class="article-module h-c-page"> <div class="h-c-grid"> <figure class="article-image--large h-c-grid__col h-c-grid__col--6 h-c-grid__col--offset-3 " > <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/5-batch-workload.max-1000x1000.png" alt="5-batch-workload"> </a> </figure> </div> </div> </div> <div class="block-paragraph_advanced"><p><span style="vertical-align: baseline;">A recommended base configuration for these types of workloads should include two separate scheduled jobs:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">One for the batch process or event, that includes an object in the configuration that uses the DIRECT </span><strong style="vertical-align: baseline;">scalingMethod</strong><span style="vertical-align: baseline;">, and a </span><strong style="vertical-align: baseline;">minSize</strong><span style="vertical-align: baseline;"> value of the peak number of shards/nodes to cover the process or event</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">One for regular operations, that includes configuration with the same </span><strong style="vertical-align: baseline;">projectId</strong><span style="vertical-align: baseline;"> and </span><strong style="vertical-align: baseline;">instanceId</strong><span style="vertical-align: baseline;">, but using the LINEAR or STEPWISE method. This job will take care of decreasing the capacity when the process or event is over</span></p> </li> </ul> <p><span style="vertical-align: baseline;">Be sure to choose an appropriate scaling schedule so that the two configurations don’t conflict. For both Cloud Run functions and GKE deployments, make sure the batch operation starts before the Autoscaler starts to scale the instance back in again. You can use the </span><strong style="vertical-align: baseline;">scaleInLimit</strong><span style="vertical-align: baseline;"> parameter to slow the scale-in operation down if needed.</span></p> <p><strong style="vertical-align: baseline;">Spiky workloads</strong></p> <p><span style="vertical-align: baseline;">Depending on load, it can take around several minutes for Memorystore to update the cluster topology and fully utilize new capacity. Therefore, if your traffic is characterized by very spiky traffic or sudden-onset load patterns, the Autoscaler might not be able to provision capacity quickly enough to avoid latency, or efficiently enough to yield cost savings.</span></p> <p><span style="vertical-align: baseline;">For these spiky workloads, a base configuration should:</span></p> <ul> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Set a </span><strong style="vertical-align: baseline;">minSize</strong><span style="vertical-align: baseline;"> that slightly over-provisions the usual instance workload</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Use the LINEAR </span><strong style="vertical-align: baseline;">scalingMethod</strong><span style="vertical-align: baseline;">, in combination with a </span><strong style="vertical-align: baseline;">scaleInLimit</strong><span style="vertical-align: baseline;"> to avoid further latency when the spike is over</span></p> </li> <li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Choose scaling thresholds large enough to smooth out some smaller spikes, while still being reactive to large ones</span></p> </li> </ul> <h3><strong style="vertical-align: baseline;">Advanced usage</strong></h3> <p><span style="vertical-align: baseline;">As described above, the Autoscaler is preconfigured with scaling rules designed to optimize cluster size based on CPU and memory utilization. However, depending on your workload(s), you may find that you need to modify these rules to suit your utilization, performance and/or budget goals.</span></p> <p><span style="vertical-align: baseline;">There are several ways to </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/src/scaler#scaling-profiles" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">customize the rule sets</span></a><span style="vertical-align: baseline;"> that are used for scaling, in increasing order of effort required:</span></p> <ol> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Choose to scale on only memory or only CPU metrics. This can help if you find your clusters </span><span style="font-style: italic; vertical-align: baseline;">flapping</span><span style="vertical-align: baseline;">, i.e., alternating rapidly between sizes. You can do this by specifying a </span><strong style="vertical-align: baseline;">scalingProfile</strong><span style="vertical-align: baseline;"> of either </span><strong style="vertical-align: baseline;">CPU</strong><span style="vertical-align: baseline;"> or </span><strong style="vertical-align: baseline;">MEMORY</strong><span style="vertical-align: baseline;"> to override the default </span><strong style="vertical-align: baseline;">CPU_AND_MEMORY</strong><span style="vertical-align: baseline;"> in the Autoscaler configuration.</span></p> </li> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Use your own custom scaling rules by specifying a </span><strong style="vertical-align: baseline;">scalingProfile</strong><span style="vertical-align: baseline;"> of </span><strong style="vertical-align: baseline;">CUSTOM</strong><span style="vertical-align: baseline;">, and supplying a custom rule set in the Autoscaler configuration as shown in the example </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/src/scaler#custom-scaling" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;">.</span></p> </li> <li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"> <p role="presentation"><span style="vertical-align: baseline;">Create your own custom rule sets and make them available for everyone in your organization to use as part of a scaling profile. You can do this by customizing one of the existing scaling profiles to suit your needs. We recommend starting by looking at the existing scaling </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/src/scaler/scaler-core/scaling-profiles/rules" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">rules</span></a><span style="vertical-align: baseline;"> and </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/src/scaler/scaler-core/scaling-profiles/profiles" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">profiles</span></a><span style="vertical-align: baseline;">, and creating your own customizations.</span></p> </li> </ol> <h3><strong style="vertical-align: baseline;">Next steps</strong></h3> <p><span style="vertical-align: baseline;">The OSS Autoscaler comes with a </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/tree/main/terraform" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">Terraform configuration</span></a><span style="vertical-align: baseline;"> to get you started, which can be integrated into your codebase for production deployments. We recommend starting with non-production environments, and progressing through to production when you are confident with the behavior of the Autoscaler alongside your application(s). Some more tips for production deployments are </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/blob/main/terraform/README.md#productionization" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">here</span></a><span style="vertical-align: baseline;"> in the documentation.</span></p> <p><span style="vertical-align: baseline;">If there are additional features you would like to see in the Autoscaler — or would like to contribute to it yourself — please don’t hesitate to raise an issue via the </span><a href="https://github.com/GoogleCloudPlatform/memorystore-cluster-autoscaler/issues" rel="noopener" target="_blank"><span style="text-decoration: underline; vertical-align: baseline;">GitHub issues page</span></a><span style="vertical-align: baseline;">. We’re looking forward to hearing from you.</span></p></div>Thu, 06 Feb 2025 17:00:00 +0000https://cloud.google.com/blog/products/databases/memorystore-cluster-autoscaler-now-on-github/DatabasesarticleRightsize your Memorystore for Redis Clusters with open-source AutoscalerGooglehttps://cloud.google.com/blog/products/databases/memorystore-cluster-autoscaler-now-on-github/Henry BellSolutions ArchitectChris MagueCustomer Engineer