Posts

[MS] Making an agile version of a Windows Runtime delegate in C++/WinRT, part 4 - devamazonaws.blogspot.com

Last time, we wrote a wrapper delegate that checked whether the context it was being invoked from matched the context it was captured from . if (d.try_as<::INoMarshal>()) { return [d = std::forward<Delegate>(d), context = winrt::capture<IContextCallback>(CoGetObjectContext)](auto&&...args) { if (context == winrt::capture<IContextCallback>(CoGetObjectContext)) { d(std::forward<decltype(args)>(args)...); } else { throw winrt::hresult_error(CO_E_NOT_SUPPORTED); } }; } We did this by comparing context objects. This obtains the current object context in order to compare it with the original one, and that means an internal Add­Ref , and then we have to explicitly Release it. But there's a way to do this without having to obtain any objects. The Co­Get­Context­Token function gives you an integer that uniquely identifies a live context ob...

AWS Lambda durable execution SDK for .NET is now generally available - devamazonaws.blogspot.com

Today, AWS announces the general availability of the AWS Lambda Durable Execution SDK for .NET, empowering C# developers to build resilient, long-running workflows using Lambda durable functions. With this SDK, developers can create multi-step applications like payment processing pipelines, AI agent orchestration, and human-in-the-loop approvals directly in their applications without implementing custom progress tracking or integrating external orchestration services.  Lambda durable functions extend Lambda's event-driven programming model with operations that checkpoint progress automatically and pause execution for up to a year when waiting on external events. The AWS Lambda Durable Execution SDK for .NET provides an idiomatic C# experience for building with Lambda durable functions. It includes steps for progress tracking, callback integration for human and agent-in-the-loop workflows, durable invocation for reliable function chaining, and waits for efficient suspension. The S...

Amazon CloudWatch Logs now supports Application Load Balancer logs - devamazonaws.blogspot.com

Amazon CloudWatch Logs now supports Application Load Balancer (ALB) logs as vended logs, improving observability and simplifying debugging for network traffic patterns. You can now analyze ALB access, connection and health check logs directly in CloudWatch to gain insights into client connections, traffic distribution, connection status and target health, helping you identify and troubleshoot network issues faster. Additionally, you can set up CloudWatch telemetry enablement rules to automatically configure logging of both existing and newly created ALB resources, for your organization, specific accounts, or specific resources, ensuring consistent monitoring coverage without manual setup. With this CloudWatch Logs integration, you can track detailed access patterns using CloudWatch Logs Insights queries, create metric filters for monitoring and alarming, and review traffic patterns in real time using Live Tail. ALB logs can be configured through the integrations tab of your applicat...

Amazon ECS Service Connect now supports Zone-Aware routing - devamazonaws.blogspot.com

Amazon Elastic Container Service (Amazon ECS) introduces zone-aware routing for ECS Service Connect, enabling customers to reduce cross Availability Zone (AZ) data transfer costs and latency by automatically prioritizing service-to-service traffic within the same AZ. With this launch, ECS Service Connect preferentially routes requests to endpoints in the same AZ as the originating task while dynamically adjusting traffic weights as endpoints scale to maintain balanced load across target services. Previously, as customers distributed their applications across AZs for resiliency, service-to-service traffic led to significant cross-zone data transfer, requiring trade-offs between cost and resilience. Zone-aware routing eliminates this trade-off, and when local endpoints become unhealthy or fall below capacity thresholds, traffic automatically redistributes across healthy AZs to maintain availability without overloading any single zones. Zone-aware routing is enabled by default fo...

[MS] Build locally, ship to Azure: meet Azure SQL Developer - devamazonaws.blogspot.com

Big news: Azure SQL Developer is here, in private preview. It's  the Azure SQL Database engine, on your laptop, in a container. Build against the exact engine you run in the cloud. Ship the same code to Azure. Change one line, the connection string, and  you're  in production. Free for local dev and CI. No subscription. No credit card. No catch. Run it yourself, or hand it to an AI agent and watch it go.   The inner-loop problem If you build apps on a cloud database, you know the friction. To develop and test locally, you either point your app at a shared cloud instance, with slow round trips, noisy neighbors, and connection-string rewrites between dev and prod, or you develop against a different database locally and hope the behavior matches once you deploy. Either way you pay a tax: cloud spend while you experiment, flaky integration tests, and the occasional "it worked on my machine" surprise when a local-only feature does not exist in the cloud. The fix is not ...

[MS] Smarter Spring Development in Eclipse with GitHub Copilot - devamazonaws.blogspot.com

Image
How the Spring Tools MCP Server and GitHub Copilot together make Spring Development more efficient. Introduction If you write Spring Boot applications in Eclipse, you already know that Spring Tools for Eclipse brings best-in-class tooling right into your IDE, including quick navigation and visualization of core Spring elements in your projects, live information from running Spring Boot applications, Spring specific auto completion, validations and quick fixes, request mapping overviews, and much more. In addition to that, if you have the GitHub Copilot plugin for Eclipse installed, you have a powerful AI coding assistant at your fingertips. But here is the question that most developers haven’t asked yet: what does Copilot actually know about your Spring project , and how efficiently can it get that context? Copilot can search across the repository and infer a lot from source files, but that is still a general discovery process. It does not automatically have direct, structured acc...

[MS] Making an agile version of a Windows Runtime delegate in C++/WinRT, part 3 - devamazonaws.blogspot.com

Last time, we made a small but significant optimization to making an agile version of a Windows Runtime delegate . But there's another case we missed. That case is an object that implements the INo­Marshal interface, which means "Do not marshal this object." For these objects, the Ro­Get­Agile­Reference function fails to create an agile reference and returns CO_ E_ NOT_ SUPPORTED . This function is what powers the agile_ ref class, so if you ask for an agile_ ref to an object that refuses to be marshaled, you get an CO_ E_ NOT_ SUPPORTED exception. The catch is that this error is produced at the creation of the agile reference. If in practice all your uses of the agile reference are from the original context, you never actually needed to marshal the object, but too bad, you get the error anyway. So let's teach our agile delegate wrapper about delegates that deny marshalability: If the wrapper is invoked on the same context that the original delegate belongs t...