Posts

Showing posts from August, 2025

[MS] Thoughts on creating a tracking pointer class, part 15: A custom shared pointer - devamazonaws.blogspot.com

Last time, we made our trackable object implementation's constructors and assignment operations non-throwing , although it came at a cost of making the act of creating a tracking pointer potentially-throwing. At the end, I noted that we didn't use all the features of C++ shared pointers. We never used weak pointers or thread safety, so we can replace shared pointers with a custom version that supports only single-threaded shared references. The single-threaded simplification is significant because it removes the need for atomic operations and allows the compiler to do reordering and coalescing of reference count manipulations. template<typename T> struct tracking_ptr_base { tracking_ptr_base() noexcept = default; tracking_ptr_base(tracking_ptr_base const& other) noexcept : m_ptr(other.copy_ptr()) {} tracking_ptr_base(tracking_ptr_base&& other) noexcept = default; ~tracking_ptr_base() = default; tracking_ptr_base& oper...

Amazon OpenSearch Service now supports I8g instances - devamazonaws.blogspot.com

Amazon OpenSearch Service now supports i8g instances, which is the latest generation of storage optimized instances offering the best performance for storage-intensive workloads. Powered by AWS Graviton4 processors, I8g instances deliver up to 60% better compute performance compared to previous generation I4g instances. I8g instances use the latest third generation AWS Nitro SSDs, local NVMe storage that deliver up to 65% better real-time storage performance per TB while offering up to 50% lower storage I/O latency and up to 60% lower storage I/O latency variability. Built on the AWS Nitro System , these instances offload CPU virtualization, storage, and networking functions to dedicated hardware and software enhancing the performance and security for your workloads. I8g instances support all OpenSearch versions & Elasticsearch (open source) versions 7.9 and 7.10. To know more about i8g instances, see blog . Amazon OpenSearch Service supports i8g instances in following AWS Regi...

Amazon U7i instances now available in the AWS Asia Pacific (Seoul) Region - devamazonaws.blogspot.com

Starting today, Amazon EC2 High Memory U7i instances with 12TB of memory (u7i-12tb.224xlarge) are now available in the US Asia Pacific (Seoul) region. U7i-12tb instances are part of AWS 7th generation and are powered by custom fourth generation Intel Xeon Scalable Processors (Sapphire Rapids). U7i-12tb instances offer 12TiB of DDR5 memory enabling customers to scale transaction processing throughput in a fast-growing data environment. U7i-12tb instances offer 896 vCPUs, support up to 100Gbps Elastic Block Storage (EBS) for faster data loading and backups, deliver up to 100Gbps of network bandwidth, and support ENA Express. U7i instances are ideal for customers using mission-critical in-memory databases like SAP HANA, Oracle, and SQL Server. To learn more about U7i instances, visit the High Memory instances page . Post Updated on August 28, 2025 at 05:00PM

AWS Network Firewall launches ReceivedBytes metric for stateless and stateful engines - devamazonaws.blogspot.com

We’re excited to announce the general availability of new ReceivedBytes metrics for AWS Network Firewall on Amazon CloudWatch. This new feature enables customers to monitor the total incoming traffic bytes inspected by firewalls providing valuable insights into their network traffic patterns. AWS Network Firewall is a managed service that makes it easy to deploy essential network protections for all of your Amazon Virtual Private Clouds (VPCs). The introduction of ReceivedBytes metrics offers several benefits to AWS customers. First, it provides greater visibility into the volume of traffic processed by Network Firewall, allowing for more accurate capacity planning. Second, customers can use this data to optimize their network configurations and potentially reduce costs by identifying and addressing inefficiencies in their traffic flow. Additionally, the ability to distinguish between stateless and stateful engine metrics enables more granular analysis of network performance and secu...

[MS] Announcing Awesome Copilot MCP Server - devamazonaws.blogspot.com

Image
Today, we're excited to announce the Awesome Copilot MCP Server - a simple way to search those customizations and save them directly to your repository from the MCP server. In early July, we announced the community-driven Awesome GitHub Copilot Customizations repository. It contains chat modes, instructions and prompts that let you tailor the AI responses from GitHub Copilot, covering tons of situations. The problem is, with so many great options, discovering and comparing the right ones is hard. In this blog post, I'm going to show you a way to discover these incredibly useful chat modes, instructions and prompts just by chatting with GitHub Copilot, together with this Awesome Copilot MCP server. What are chat modes, instructions and prompts? Custom chat modes define how chat operates, which tools it can use, and how it interacts with the codebase. Each chat prompt is run within the boundaries of the chat mode, without having to configure tools and instructions for every r...

OpenSearch Serverless now supports Attribute Based Access Control (ABAC) for Data Plane APIs and Resource control policy - devamazonaws.blogspot.com

Amazon OpenSearch Serverless has added support for attribute-based authorization (ABAC) for Data Plane APIs, making it easier to manage access control for data read and write operations. This feature is part of an AWS campaign to drive consistent adoption of AWS Identity and Access Management (IAM) features across all AWS services. Customers can use identity policies in IAM to define permissions and control who has access to the data on Amazon OpenSearch Serverless collections. Amazon OpenSearch Serverless now also supports resource control policy (RCP). RCP is a new type of authorization policy managed in AWS Organizations that will allow OpenSearch Serverless customers to enforce organization-wide preventative controls across resources in their organization centrally, without the need to update individual resource-based policies. You can refer to documentation for examples . Please refer to the AWS Regional Services List for more information about Amazon OpenSearch Service availa...

[MS] Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer - devamazonaws.blogspot.com

So far, we've been working on an alternate design for tracking pointers , but we found that it had the unfortunate property of having potentially-throwing constructors and move assignment operations. We can make these operations non-throwing by removing the need for a trackable object always to have a ready-made tracker. Instead, we can create a tracker on demand the first time somebody asks to track it. The exception doesn't go away, but it defers it to the time a tracking pointer is created. This is arguably a good thing because it makes tracking pointers "pay for play": You don't allocate a tracker until somebody actually needs it. template<typename T> struct trackable_object { trackable_object() noexcept = default; ~trackable_object() { set_target(nullptr); } // Copy constructor: Separate trackable object trackable_object(const trackable_object&) noexcept : trackable_object() { } // Move construct...

Amazon EKS introduces on-demand insights refresh - devamazonaws.blogspot.com

Today, Amazon Elastic Kubernetes Service (EKS) introduced support for on-demand refresh of cluster insights, enabling customers to more efficiently test and validate if applied recommendations have successfully taken effect. Every Amazon EKS cluster undergoes automatic, periodic checks against a curated list of insights, which provide detection of issues, such as warnings about changes required before Kubernetes version upgrades, as well as recommendations for how to address each insight. With on-demand cluster insights refresh functionality, customers can fetch the latest insights immediately after making changes, accelerating the testing and verification process when performing upgrades or making configuration changes to your cluster. EKS upgrade insights and the new refresh capability is available in all commercial AWS Regions. To learn more visit the EKS documentation . Post Updated on August 27, 2025 at 11:00PM

[MS] Thoughts on creating a tracking pointer class, part 13: Restoring the strong exception guarantee - devamazonaws.blogspot.com

Last time, we created a tracking pointer class based on std:: shared_ptr . We found a problem with the move-assignment operator: It didn't satisfy the strong exception guarantee: trackable_object& operator=(trackable_object&& other) { set_target(nullptr); m_tracker = other.transfer_out(); set_target(owner()); return *this; } If an exception occurs after we set the target to nullptr we exit with all the tracking pointers expired, which violates the rule that an exception leaves the object state unchanged. To fix this, we cannot make any irreversible changes until we have passed the point where the last exception could be raised. The exception occurs in the call to new_tracker() inside transfer_out() . When that happens, the exchange into other. m_tracker does not occur, so m_tracker is safely unchanged. So we just need to delay expiring the old tracking pointers until after we have successfully transferred out. ...

[MS] Azure Authentication Changes in Semantic Kernel Python - devamazonaws.blogspot.com

In previous versions of the Semantic Kernel Python, the default fallback authentication mechanism for Azure services like AzureChatCompletion was DefaultAzureCredential from the Azure Identity library. This provided a convenient way to authenticate without explicitly passing credentials, especially during development. However, with the latest package version 1.36.0 , this fallback is being removed to encourage more secure and explicit authentication practices. If your code relied on this default behavior, you may encounter errors after updating, and you'll need to make minor code adjustments to continue using credential-based authentication. This post explains the reasoning behind this change, the potential issues you might face, and how to update your code accordingly. For more details on Azure authentication options, check out the Azure Identity library documentation . Why This Change is Required DefaultAzureCredential is designed primarily for local development environments,...

Amazon Braket introduces local device emulator for verbatim circuits - devamazonaws.blogspot.com

Today, Amazon Braket introduced a local device emulator that enables developers to test verbatim circuits with device-specific characteristics before running on quantum hardware. This feature accelerates development by providing early feedback on circuit compatibility and expected behavior under realistic noise conditions, helping customers validate their quantum programs and develop noise-aware algorithms without incurring hardware costs. The local device emulator offers several key capabilities: Validates circuit compatibility with target quantum devices, including qubit connectivity, native gate sets, and device topology constraints Simulates quantum circuits with depolarizing channels applied to one-qubit and two-qubit gates based on device calibration data Provides realistic predictions of program behavior on noisy hardware using local density matrix simulation Supports both real-time and historical calibration data for device emulation Braket users can instantiate device...

[MS] Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer - devamazonaws.blogspot.com

The tracking pointer designs we've been using so far have had O ( n ) complexity on move, where n is the number of outstanding tracking pointers. But we can reduce this to O (1) by the classic technique of introducing another level of indirection. What we can do is give every trackable object a single shared_ptr<T*> (which we call the "tracker"), which is shared with all tracking pointers. That way, when the object is moved, we can update that single shared_ptr<T*> , and that updates the pointer for all the tracking pointers. template<typename T> struct trackable_object; // struct tracking_node { ... }; template<typename T> struct tracking_ptr_base { tracking_ptr_base() noexcept = default; private: ...

Amazon EC2 G6 instances are now available in Middle East (UAE) Region - devamazonaws.blogspot.com

Starting today, the Amazon Elastic Compute Cloud (Amazon EC2) G6 instances powered by NVIDIA L4 GPUs are now available in Middle East (UAE). G6 instances can be used for a wide range of graphics-intensive and machine learning use cases. Customers can use G6 instances for deploying ML models for natural language processing, language translation, video and image analysis, speech recognition, and personalization as well as graphics workloads, such as creating and rendering real-time, cinematic-quality graphics and game streaming. G6 instances feature up to 8 NVIDIA L4 Tensor Core GPUs with 24 GB of memory per GPU and third generation AMD EPYC processors. They also support up to 192 vCPUs, up to 100 Gbps of network bandwidth, and up to 7.52 TB of local NVMe SSD storage. Amazon EC2 G6 instances are already available today in the AWS US East (N. Virginia and Ohio) , US West (Oregon), Europe (Frankfurt, London, Paris, Spain, Stockholm and Zurich), Asia Pacific (Mumbai, Tokyo, Malaysia, Seou...

Amazon Bedrock Data Automation supports 5 additional languages for Document Workflows - devamazonaws.blogspot.com

Amazon Bedrock Data Automation (BDA) now supports five additional languages for document workloads in addition to English: Portuguese, French, Italian, Spanish, and German. With this launch, customers can process documents in these new languages and create blueprints prompts and instructions in these new languages when using BDA Custom Output for documents. Customers using BDA Standard Output will now receive document summaries and figure captions in the detected language of the document. BDA is a feature of Amazon Bedrock that enables developers to automate the generation of valuable insights from unstructured multimodal content such as documents, images, video, and audio to build GenAI-based applications. By leveraging BDA, developers can reduce development time and effort, making it easier to build intelligent document processing, media analysis, and other multimodal data-centric automation solutions. BDA can be used as a standalone feature or as a parser in Amazon Knowledge Bases...

[MS] GitHub Copilot for Azure (Preview) Launches in Visual Studio 2022 with Azure MCP Support - devamazonaws.blogspot.com

Image
The GitHub Copilot for Azure extension is now in Public Preview for Visual Studio 2022 (17.14+). It brings a curated set of Azure developer tools—exposed through the Azure MCP server—directly into GitHub Copilot Agent Mode in Visual Studio. The extension automatically installs and manages the Azure MCP server, so you can query resources, diagnose issues, deploy with azd, and run Azure CLI commands—all from the Copilot Chat. [cta-button text="Try GitHub Copilot for Azure" url="https://marketplace.visualstudio.com/items?itemName=github-copilot-azure.GitHubCopilotForAzure2022&ssr=false#overview" color="btn-primary"] Ship Azure features without leaving Visual Studio. Agent-powered, MCP-enabled, no extra setup. What’s in the Public Preview? Zero-setup Azure MCP server The extension automatically downloads and starts the Azure MCP server the first time you open Copilot Chat—no manual install required. (You’ll see it in the tools list in Agent Mode.) (No...

Amazon Neptune now supports BYOKG - RAG (GA) with open-source GraphRAG toolkit - devamazonaws.blogspot.com

Today, we are announcing the support of Bring Your Own Knowledge Graph (BYOKG) for Retrieval-Augmented Generation (RAG) using the open-source GraphRAG Toolkit. This new capability allows customers to connect their existing knowledge graphs to large language models (LLMs), enabling Generative AI applications that deliver more accurate, context-rich, and explainable responses grounded in trusted, structured data. Previously, customers who wanted to use their own curated graphs for RAG had to build custom pipelines and retrieval logic to integrate graph queries into generative AI workflows. With BYOKG support, developers can now directly leverage their domain-specific graphs, such as those stored in Amazon Neptune Database or Neptune Analytics, through the GraphRAG Toolkit . This makes it easier to operationalize graph-aware RAG, reducing hallucinations and improving reasoning over multi-hop and temporal relationships. For example, a fraud investigation assistant can query a financial s...

[MS] MauiReactor: An MVU Approach for .NET MAUI - devamazonaws.blogspot.com

Image
This is a guest blog from Adolfo Marinucci . I'm a full-stack developer from Italy, primarily focused on Microsoft technologies ranging from cross-platform applications with .NET MAUI to ASP.NET Core backend services hosted on Azure. I'm the creator of MauiReactor, a UI library for .NET MAUI that brings the Model-View-Update (MVU) pattern to cross-platform development. Background and Motivation MauiReactor is an open-source .NET library that brings the Model-View-Update (MVU) pattern to .NET MAUI development. While MVU has been discussed for years, it gained widespread attention through ReactJS and later influenced frameworks like React Native and Flutter. [alert type="note" heading="Note"]For more details on MVU approach of MauiReactor https://adospace.gitbook.io/mauireactor/components/stateful-components .[/alert] Advantages of MVU Predictable state management through immutable state Simplified hot reload implementation Full C# IDE support for ...

[MS] Thoughts on creating a tracking pointer class, part 11: Repairing assignment - devamazonaws.blogspot.com

Last time, we made sure that tracking pointers to const objects couldn't be converted into tracking pointers to non-const objects , but I noted that fixing this introduced a new problem. We fixed the problem by introducing two new constructors that allow construction of either a tracking_ptr<const T> or tracking_ptr<T> from tracking_ptr<T> . If the destination is a tracking_ptr<T> , then the copy or move construction from tracking_ptr<T> merely overrides the copy or move construction inherited from the base class, so there is no redeclaration conflict. The problem is that in the case of tracking_ptr<T> , the new constructors are copy and move constructors since they construct from another instance of the same type. And if you declare a move constructor, then the copy and move assignment operators are implicitly declared as deleted. So we need to bring them back. template<typename T> struct tracking_ptr : tracking_ptr_base<std::rem...

[MS] OData .NET (ODL) 9 Preview Release - devamazonaws.blogspot.com

We’re happy to announce that OData .NET (ODL) 9 Preview 2 has been officially released and is available on NuGet: Microsoft.OData.Core 9.0.0 Preview 2 Microsoft.OData.Edm 9.0.0 Preview 2 Microsoft.Spatial 9.0.0 Preview 2 Microsoft.OData.Client 9.0.0 Preview 2 What’s New in OData .NET (ODL) 9 Preview 1 & 2 The OData .NET (ODL) 9.0 previews introduce a set of important changes and cleanup efforts to modernize the library, align with .NET’s evolving runtime, and simplify the OData developer experience. Below, we’ll go through the notable changes included in the first two preview releases. Targeting .NET 10 Preview ODL now builds against .NET 10 preview, ensuring compatibility with the upcoming runtime. This helps early adopters validate OData workloads on the latest platform. Removed JSONP Support JSONP (JSON with Padding) was an early workaround for browsers’ same-origin policy before CORS became widely adopted. It allowed a client to request JSON data from another domain...