Azure Functions HTTP trigger project template
Isolated Azure Functions were included in the previous release. With a simple project option, the consumer can choose between an in-process or isolated environment for the project. The HTTP trigger remains, as it is waiting for the new Web API release that brings our entire API middleware functionality to the Azure Functions environment. At the same time, the v1.1 release makes sure that the Azure Functions HTTP trigger project template is updated with the newest correlation system — W3C. Luckily, the biggest migration changes are internal (Learn more about the Arcus Observability update here).
We have leveraged the Azure Functions middleware components to implement our necessary Arcus functionality. The result is both clean and readable. This is a portion of what our build-in provides:
The order of the middleware components is chosen carefully. We provide a JSON formatting guard before any other call gets through. Non-JSON requests get immediately blocked by a
415 UnsupportedMediaType response. Correct requests are automatically correlated and tracked. This means that the information of the incoming request will be available to any registered application services and that any subsequent dependencies will be correlated to the request. An additional middleware component will make sure that any unexpected exceptions are handled safely, without exposing sensitive information to the client.
Since all infrastructure code is placed within middleware components, the function definition only contains business logic. This differs from how we implemented in-process Azure Functions, as in-process environments do not support middleware or any other infrastructure components.
W3C correlation in remaining project templates
Continuing on the Observability update, we have made sure that all project templates support W3C correlation. The only visual change is that we now centralize the telemetry application name and role so that both Arcus and Microsoft functionality can use the information during telemetry tracking. This shows how well both frameworks can work together and enhance each other to make a useful and clear correlation application map overview.
Streamlining functionality across project templates
Features developed in other Arcus libraries always find a way to enhance the project templates. This v1.1 release also brings in new Web API and Security features that were previously released and are now built-in. Simpler certificate validation registration and synchronous secret retrieval are the major ones. However, sometimes project templates evolve separately and need to be streamlined afterward.
Some project templates provide ways to easily start up the project as both a Docker container and from the project itself. The result of a project template can be run directly and with ease, and so brings great development experience. The problem was that not every project template had this functionality. The v1.1 release changed that.
✅ Running the project result of a project template in both environments was also an improvement made during the maintenance of the templates. Issues, problems, or new features are often inspected by running the project template manually. If the project is ready to be run by default, this is much easier for the people maintaining it!
The Arcus Templates v1.1 release brings real value to project development. It now provides W3C correlation, isolated Azure Functions and the latest Arcus features to kickstart your project. This blog post only goes over the major changes, and does not encapsulate everything. See our v1.1 release notes to learn more about this major release and our official documentation for more information on all the provided project templates in this library.
🚩 If you have any questions, remarks, comments, or just want to discuss something with us; feel free to contact the Arcus team at Codit.
Thanks for reading!
The Arcus team
Subscribe to our RSS feed