Category: Cloud
.NET Aspire configuration patterns
If you recall my last article, I transitioned my working application to .NET Aspire. This opinionated pattern allows me to run a complete microservice application within Docker…
Local development for the cloud: Transitioning to .NET Aspire
I've been working on a new project recently. It requires that I work with microservices and containers as it will eventually be runnable on either Kubernetes or (more likely)…
Build a Blog: Going to production with Azure Static Web Apps
I'm almost ready to take my Static Web App to production and make it public. However, there are a few things that I want to make sure I do before going to production. This is true…
Build a Blog: Custom domains for Azure Static Web Apps
In my last post, I registered a DNS domain name and set up Azure DNS for it. I want my blog to use that domain name, so I need to set up a custom domain in Static Web Apps using…
Build a Blog: Set up DNS in Azure
Today, I'm continuing on the job of setting up a new blog. I've now got three blog posts, so that's enough for me to consider what I need to do for production. I don't have a…
Build a Blog: Deploy Azure Infrastructure three ways
For most developers, dealing with the infrastructure part of the job is hard. I like to say "give me a database and a web site" and prefer not to get into the other requirements…
Create an App Registration for RBAC with PowerShell and Microsoft Graph.
I'm currently working on some automation within Azure to deploy a hub-spoke web application. This web application authenticates with Entra ID using an App Registration and…
Deleting Azure resources the right way.
If you are an Azure developer, you likely spin up an application, do some work, then shut it down again. However, shutting down resources and deleting them has an order to them.…
Purge Azure API Management soft-deleted services with ease.
I work a lot with Azure API Management, which means I turn up and down services quite a few times a day. Azure API Management has an awesome feature that prevents you from…
Type-checking Bicep arrays and objects
As you may have guessed by now, I'm delving heavily into the world of Bicep right now, mostly in order to describe the infrastructure for my personal projects in a readable way.…
Bicep, loops, and defaults
I've been playing around a lot with bicep recently. I like it because it is much more readable than ARM templates and lets me modularize my deployments easily. Recently, I was…
Top Ten things to consider when taking your GraphQL service into production
It's a somewhat well-known facet of development that we don't consider production problems until it is too late in the development cycle. When we look at taking a Web API into…
Build a GraphQL API on Azure API Management using Bicep
When I build a service in the cloud, I describe the infrastructure as a blob of code. There are lots of solutions out there for this. Azure has the Azure Resource Manager (or…
Building a serverless MUD infrastructure in Azure
If you went to college back in the 1980's or 90's and studied computer science, then it is likely you bumped into the MUD (multi-user dungeon) craze. Back then, computer science…
Building repositories for Azure Mobile Apps with ASP.NET 6
Over the last four days, I've delved into how to build a data sync service using Azure Mobile Apps on ASP.NET Core 6. I've covered the template, authentication, authorization, and…
Logging and Options for Azure Mobile Apps with ASP.NET 6
Over the past three articles, I've covered a lot of the ins and outs of a typical Azure Mobile Apps service. I've covered scaffolding, authentication, and complex authorization.…
Controlled access for Azure Mobile Apps for ASP.NET Core
In the last two articles, I've gone over how you can create a basic datasync service and add authentication to the service. What if you want to do something more complex?…
Add authentication to Azure Mobile Apps for ASP.NET Core
In my last article, I introduced the new ASP.NET Core edition of Azure Mobile Apps, including how to set up Entity Framework Core and in-memory stores. Today, we are going to…
Introducing Azure Mobile Apps for ASP.NET 6
It's release day for .NET 6, and I couldn't be happier to introduce Azure Mobile Apps for ASP.NET 6 being released on the same day. When I started developing the new code-base, I…
Adding an API Key to Azure Mobile Apps with API Management
I've written in the past that API keys are not security. They do not authenticate the app or user and they are easily interceptable (or extracted from distributed mobile apps).…
Service Routing for Azure Mobile Apps with API Management
Todays topic is "how do I upgrade the service backend to support the new ASP.NET Core service without affecting my current customers?" Let's assume, for a moment, that I have…
Enabling caching for Azure Mobile Apps with API Management
In my last article I introduced API Management and showed how it can be used to provide a front door to the REST API that is exposed by Azure Mobile Apps. What I implemented was a…
Using API Management with Azure Mobile Apps
Over the years, I've been asked for several features within Azure Mobile Apps that I've been reluctant to support out of the box. Azure Mobile Apps provides a toolkit in the…
Choosing a hosting option for your web app in Azure
Azure, like all the other clouds, has a plethora of mechanisms for getting your web site published. You have Static Web Apps, Azure App Service, Azure Blob Storage, Web Apps for…
Deploy your React app to Azure
I've got to the point with my template where I am thinking about deployment options. There is already a great option (the gh-pages module) for deploying to a github.io site.…
Reducing the deployment size of your JavaScript Azure Functions
I'm doing some Azure Functions development in JavaScript at the moment, using the new azure-functions-core-tools. One of the features it has is command line publication, like…
Deploying an Azure Function App with Terraform
You may have caught this from my previous blog posts, but I like automated deployments. I like something where I can run one command and magic happens, resulting in my whole…
Building an efficient Logger in TypeScript
Just about every project needs a logging system. In the early days of development, you need to output data to the console so you aren't setting breakpoints in your code all over…
Where do you start with GraphQL? I asked four engineers
There has been a lot of discussion on GraphQL. In time, it may rank up there alongside REST as a defining protocol for client-server computing. It is at least trending that way…
What AWS service should you use to publish a web site?
There are at least five different services you can use to publish a web site on AWS: Amazon S3 + Amazon Cloudfront AWS Amplify Console Amazon Lightsail AWS Elastic Beanstalk…
The three ways to execute a GraphQL query from React with AWS AppSync (and how to choose)
[AWS AppSync] is a managed [GraphQL] service that can (and probably should) act as the data layer for your app. I want to take a look at how you can send a query to AWS AppSync…
Early return from GraphQL Resolvers with AWS AppSync
I am currently developing a "reviews" app, written in React Native and using a suite of services surrounding [AWS AppSync] for the data backend. Yesterday, I ran into a problem.…
Handling File Uploads with AWS AppSync
GraphQL does not handle files. It may seem an obvious statement, but it needs to be said. GraphQL does not handle files. It handles structured data. Which isn’t to say that…
Backend GraphQL: How to trigger an AWS AppSync mutation from AWS Lambda
This blog will explore a technique that opens up a whole new world of possibilities for notifying clients of results within a serverless application. Let’s say you have built a…
Build a GraphQL Service the easy way with AWS Amplify Model Transforms
Creating a functional GraphQL API is hard. You have to create a GraphQL schema, decide on authentication and database structures, implement the schema in a GraphQL service, wire…
How to deploy a GraphQL API on AWS with the Serverless Framework
In previous posts, we’ve explored how to deploy a GraphQL service based on [AWS AppSync] and Amazon DynamoDB using [AWS CloudFormation]. The articles reinforce how automatic and…
Build a GraphQL Weather API with OpenWeatherMap and AWS AppSync
I love GraphQL even for the small apps. Generating a simple API allows me to change out back end details without re-compiling my front end. It also allows me to rotate API keys…
Build a Universal Search API with GraphQL and AWS AppSync
Have you ever looked at a feature of a mobile app and wondered how they do something? Me too! I like to figure out how they built those features and build them into my own apps.…
How developers can authenticate and authorize users with AWS AppSync
> AWS AppSync provides four distinct methods of authorizing users to optimize and restrict data being transferred [AWS AppSync] is a managed [GraphQL] data service that supports…
Building a service in the Cloud
I’ve been thinking about providing services in the cloud for a few years now. A common question I see time and time again is this: “What pieces of the cloud do I need to build my…