Building Async and Cloud Native organizations - Issue #28

Exploring the Future of AI and APIs: Uncover the Power of Azure's New API Center and AI-Driven Prompt Flow. Plus, Enhance Your Security with Azure Durable Functions and Discover the Latest in API Management and AI Infrastructure.

Welcome to my weekly newsletter! Every week, I bring you the latest news, updates, and resources from the world of coding and architecture. I'm so glad you've decided to join me, and I can't wait to share my insights and expertise with you.

I hope you'll find this newsletter to be a valuable resource, and I welcome your feedback and suggestions. If there's something you'd like to see more of, or if you have any questions or comments, please don't hesitate to reach out to me.

Thank you for joining me, and happy reading!

REST and APIs

A couple of months ago, I wrote about APIM workspaces. A way to divide your costly API Management instance in such a way that multiple teams can use it in a safe and controlled manner.

If you already have a full setup, then converting to workspaces might not be an easy task. However, with the below migration tooling, you get a nice head start.

Azure API Center

Microsoft has announced the preview of Azure API Center, a new Azure service and part of the Azure API Management platform. This service allows for the centralized tracking, discovery, reuse, and governance of APIs.

API Center dashboard

In the current digital landscape, APIs are crucial for businesses as they facilitate the creation of digital products, system integration, and developer productivity. However, the rapid growth of APIs and the use of multiple API tools have led to a fragmented API landscape. This fragmentation can compromise API reuse, quality, security, and regulatory compliance. Azure API Center aims to address these challenges by providing a central hub for managing APIs.

Key features of the Azure API Center preview include:

  1. API Inventory Management: This feature allows for the centralization of all APIs in an organization, regardless of their type, lifecycle stage, or deployment location.

  2. Real-World API Representation: This feature provides comprehensive information about APIs, including versions, specifications, deployments, and deployment environments.

  3. Metadata Properties: This feature allows for the organization and enrichment of cataloged APIs with unified built-in and custom metadata, enhancing governance and discoverability.

  4. Workspaces: This feature manages administrative access to APIs and other assets with role-based access control.

The ability to find and manage APIs in a centralized location is crucial as it enhances API reuse, improves security, ensures regulatory compliance, and ultimately increases developer productivity. However, it's important to note that this is currently a preview feature and is only available to selected customers. Future releases will further improve API discovery and reusability and simplify API inventory onboarding.

Coding technicalities

Although this one is placed under coding technicalities, there is almost no code needed, except for some pipeline code. It does show that there is almost no excuse anymore for not having a valid SSL certificate.

You do need some way to prove ownership of a domain before you can actually get a SSL certificate, so how do you do this when you do not have any compute running to return a response to the Lets Encrypt challenge?

Read the blog post below to see an example of a cheap pipeline in Azure DevOps, some keyvault and DNS commands to auto-renew your free certificate:

Dapr workflows

Dapr has a new component; workflows! There are many other solutions, including Azure Durable Functions, but there are some benefits of using this engine. See the post from Marc Duiker to learn how to use this in a dotnet environment:

GitHub related

Maybe strange to put it under this category as it is actually not for GitHub, but I do need to mention it: the public preview of GitHub Advanced Security for Azure DevOps. This functionality in GitHub is, together with Copilot and Codespace, such a USP. By adding it to Azure DevOps, you will get access to these three features:

  • Code scanning: powered by CodeQL, locates vulnerabilities in source code and provides remediation guidance.

  • Secret scanning: identifies high-confidence secrets and blocks developers from pushing secrets into code repositories.

  • Dependency scanning: discovers vulnerabilities within open-source dependencies and automates update alerts for developers.

My colleague Rob Bos wrote a detailed review of the old features in a new platform, but also have a look at the official page:

How GitHub builds GitHub with GitHub

Want to know the inner workings of GitHub, how to actually build and deploy the GitHub source itself? Then view this recording of the session by Martin Woodward and Brian Randell of last Build where they show not only a lot of details about GitHub, but also CodeSpace and Copilot to actually make changes to the site.

Next up are issues and the project boards, where the work itself is managed. With Actions to automate almost everything and the security features and ending with telemetry.

Computing in general

A lot of announcements at the recent MS Build conference, but the main theme was pretty clear: AI. It will be in any tool and application, any website and webshop, and it is super easy to integrate it into your own application as well.

You can imagine that this requires a lot of power. It actually helped Nvidia back into the game as well. So what is needed to run all this power:

Prompt Flow announced

Azure Machine Learning has introduced a new feature called "Prompt Flow" at the recent Microsoft Build conference, further expanding its AI capabilities. This feature is designed to harness the power of Large Language Models (LLMs), which have transformed various industries by enabling the development of applications with human-like text understanding and generation capabilities.

Prompt Engineering, the process of creating effective prompts that cater to specific business scenarios, is crucial in harnessing the full potential of LLMs. It allows developers to create tailored AI solutions, making AI more accessible and useful to a broader audience. However, it remains an iterative and challenging task, involving several steps such as data preparation, crafting tailored prompts, executing prompts using the LLM API, and refining the generated content.

Validate different prompts for best results

Prompt Flow is designed to streamline this process, providing an interactive experience that combines natural language prompts, templating language, built-in tools, and Python code. It aids in the design and development of prompts, allows for efficient tuning, evaluation, and optimization of prompts, and provides a seamless transition from development to production.

Currently available for private preview through the AzureML Insiders Program, Prompt Flow is set to revolutionize the way we use LLMs, making prompt engineering more efficient and accessible.

Jobs in Azure Container Apps

Azure Container Apps, a service for running applications and microservices with serverless containers, has announced the public preview of a new feature: jobs. This addition brings Azure Container Apps more in line with Kubernetes, enhancing its capabilities for managing containerized workloads.

Previously, Azure Container Apps supported 'Apps', services that continuously process input, such as HTTP APIs, web apps, and background services. Now, it also supports 'Jobs', tasks with a finite lifespan that start, perform some processing, and exit when finished. Jobs are ideal for scenarios such as data processing, machine learning, or any scenario where on-demand processing is required.

Jobs can be triggered in three ways: manually for one-off tasks, scheduled for recurring tasks, and event-driven for tasks in response to events like a message arriving in a queue. This flexibility allows users to build powerful microservice solutions by combining apps and jobs.

Just like container apps, jobs are cost-effective as they are billed by the second based on the amount of memory and CPU used during execution when run in the Consumption plan. This new feature enhances the versatility and efficiency of Azure Container Apps, making it a more robust platform for managing containerized applications and microservices.

Azure Functions Announcements

The Azure Functions team has announced several updates and new features. One of the most significant updates is the support for managed identity for Azure Storage in Durable Functions. This feature enhances security and simplifies the management of access rights, allowing Durable Functions to be used without any secrets.

Other key updates include:

1. The general availability of the v2 programming model for Azure Functions using Python. This new model simplifies the folder structure and represents triggers and bindings as decorators, making it more intuitive for Python developers.

2. The introduction of new storage providers for Azure Durable Functions, namely Netherite and Microsoft SQL Server (MSSQL). Netherite, developed by Microsoft Research, supports higher throughput and is more cost-effective for high-throughput workloads. MSSQL fulfills enterprise needs, including the ability to decouple from the Azure cloud.

3. The general availability of Azure SQL bindings for Azure Functions. This feature reduces the boilerplate code required to develop Azure Functions, speeding up time to deployment. It allows developers to more easily integrate Azure SQL and Azure Functions, whether they are building a fleet of microservices or a single solution. This makes Azure Functions a more versatile platform for developing applications that interact with databases.

4. The increase in maximum scale-out limits for Azure Functions on Linux Elastic Premium plans in several regions. This enhancement allows for greater scalability, meeting the demands of larger workloads.

5. The introduction of Target Based Scaling, an improvement on the Azure Functions Consumption and Premium plans scaling experience. This feature provides a faster and more intuitive scaling model for customers.

These updates, particularly the support for managed identity in Durable Functions and the Azure SQL bindings, bring Azure Functions more in line with modern development practices and Kubernetes, making it a more robust platform for managing serverless workloads.

Helpers and utilities

Just need an icon of that software you are using? techicons.dev has you covered.

I hope you've enjoyed this week's issue of my newsletter. If you found it useful, I invite you to share it with your friends and colleagues. And if you're not already a subscriber, be sure to sign up to receive future issues.

Next week, I'll be back with more articles, tutorials, and resources to help you stay up-to-date on the latest developments in coding and architecture. In the meantime, keep learning and growing, and happy coding!

Best regards, Michiel

Join the conversation

or to participate.