Knowledge Hub
Azure Static Web Apps
Written by Thom Krupa
Last update: 6/7/2024
Feature | Azure Static Web Apps | |
---|---|---|
Infrastructure What runs under-the-hood. | Azure | |
Continuous Integration & Continuous Delivery (CI/CD) | ||
Continuous deployment Imagine an automatic update system for your website. This feature automatically deploys any changes you make to your code (usually from Git) to your live website. | ||
Automated builds from Git An easy integration with popular Git repository hostings like Github, GitLab and Bitbucket. | ||
Instant rollbacks to any version Easy way to promote any previous build to production without the need to revert commits or data changes. | ||
Site previews for every push New build with a unique URL for every commit and pull request. | ||
Compatible with all Static Site Generators | ||
Notifications Events triggered on successful, canceled, or failed build. | ||
Team Management Create team account and invite your teammates to the project. | ||
Custom domains Bring your own domain and connect to the project. | ||
Automatic HTTPS SSL certificate generated automatically. | ||
Rewrites & Redirects HTTP 301 or 302 redirects from one URL to another. Rewrites work similar to reverse proxy and allow to send user to different URL without modifying the original URL. | ||
Password Protection An easy way to restrict access to the website for users who don't have password. Useful if you work on a new site and want to keep it in secret. | Included in paid plan | |
Skew Protection Skew Protection ensures client and server versions stay synchronized during deployments, preventing compatibility issues. | ||
Free Tier | ||
Websites Number of projects you can have in Free Tier on one account. | Unlimited | |
Build Minutes The amount of time your build scripts can run per month. | 2000 minutes /month | |
Concurrent builds How many builds can be run at the same time? | N/A | |
Bandwidth The amount of data that is transferred to or from the CDN. | 100GB /month | |
Team Members The number of users (team members) that can be added to the CMS. | Unlimited | |
Build Time Per Deployment Build have to finish within the limited time. If not it will fail due to timeout. | 15 minutes Netlify can increase this limit upon request. Avoided to prevent accidental consumption of available quota. | |
Build Memory Limit (in MiB) The amount of memory that is allocated by system to build process. Some operations like image processing are expensive and might require more memory. For Node.js it is max-old-space-size setting. | N/A | |
Paid Plans | ||
Max team members before switch to custom pricing | Unlimited | |
Git contributors have to be Team Members In order to triger build, Git contributor has to be a paid team member. | ||
Serverless | ||
Serverless Functions (API) Small pieces of code that run on-demand without managing servers, typically used for API endpoints. | Node.js, .NET Core, Python and Custom Handlers | |
Edge Functions Serverless functions that run closer to the user, reducing latency and improving performance. | ||
Background Functions Code that runs in the background on the platform to perform tasks that don't require immediate user interaction. | ||
CRON Jobs Schedule tasks to run automatically at specific times or intervals. Useful for automating repetitive website maintenance tasks. | ||
Developer Experience | ||
CLI Command Line Interface tools that allow developers to perform tasks and manage the tool via the command line. | ||
Extensions Additional plugins or add-ons that can enhance the functionality of the platform. | ||
Environment Variables Secret configuration settings for your website that change based on where it's deployed (dev, staging, production). | ||
Build Logs Track the progress and results of website builds for troubleshooting | GitHub Actions logs | |
Build Canceling Ability to stop a build process that is currently running. This frees up resources and lets you make changes to your website faster by stopping builds you don't need anymore. | through GitHub Actions | |
Platform Built-in Products | ||
Analytics Tools for tracking and analyzing website traffic. | ||
Authentication Services for managing user logins and authentication. | Pre-configured providers include: Azure Active Directory, GitHub, Twitter. You can register a custom provider. | |
Database Managed database services. | Azure Cosmos DB, SQL, MySQL, PostgreSQL | |
Asset Optimizations Tools for optimizing images, CSS, JS, etc. | ||
A/B Testing Lets you test different versions of your site by directing traffic to each variant, helping you optimize user experience based on performance metrics. | ||
Form Handling Services for managing form submissions. | ||
Data Storage Solutions for storing and managing data. | Azuru Storage | |
Push Notifications This allows your website to send real-time alerts or updates to visitors who have opted-in. | ||
Machine Learning | ||
Security & Compliance Offerings | ||
Two-factor authentication Adds an extra layer of security when logging in. | ||
Team Logs Tracks user activity within the platform for better accountability. | ||
SOC2 Service Organization Control 2 compliance for managing customer data. | ||
ISO27001 International standard for information security management. | ||
GDPR Compliance with the General Data Protection Regulation for handling personal data. | ||
Sustainability | ||
Carbon Neutral | ||
Carbon-free Energy | Renewable energy by 2025 | |
Integrations | ||
Integrations Connecting your deployment platform with external services like headless content, commerce, databases, and more. | N/A | |
Custom build-system integrations Allows you to connect your own build tools and processes with the deployment platform. | N/A | |
Support with self-hosted instances of git | N/A | |
API mesh API Mesh allows you to combine multiple APIs into a single unified API, simplifying data fetching and integration across different services and backends. | N/A | |
Deploy Preview feedback integrations Enables team members and stakeholders to comment directly on preview deployments. | N/A | |
Edge Functions integrations | N/A | |
High Performance Build Memory and CPU | N/A | |
Native Build Plugins | N/A |
A Static Web App is Microsoft's terminology for a Jamstack application. Jamstack is an architectural approach for creating fast, secure, and scalable web applications using pre-rendered pages and serverless functions. Azure Static Web Apps facilitates the process of deploying and managing Jamstack applications on Microsoft's cloud.
Azure Static Web Apps offers a multitude of features that make it a powerful platform for deploying Jamstack applications. One of the key aspects is the ability to configure custom domains and automatically provision free SSL certificates, ensuring secure connections for your users.
Seamless integration with both GitHub and Azure DevOps provides continuous integration and deployment capabilities for your projects. This makes it easy to manage your application's development and deployment process.
The platform also ensures fast and responsive performance for users worldwide through automatic global distribution using Azure's Content Delivery Network (CDN). Moreover, it supports serverless APIs using Azure Functions, which allows developers to create and deploy serverless functions in various languages, including Node.js, Python, and C#.
Built-in authentication and authorization features support multiple identity providers such as Azure Active Directory, GitHub, Google, and Facebook. Additionally, customizable routing and access control enable developers to define custom routes, fallback routes, and access restrictions based on user roles.
The Azure Static Web Apps Dashboard UI, while appearing somewhat intricate at first glance, adheres to the Azure design philosophy. It exudes a robust, professional feel characteristic of enterprise-grade software.
After successful deployment, you will have a link to your website and many usage metrics like requests, function hits, and errors. You can't easily revert to specific deployment from the dashboard. The only option is to revert the git commit, but that won't bring back your data if you fetch it from a headless CMS.
Azure Static Web Apps has come a long way since its inception, providing developers with a robust and feature-rich platform for building, deploying, and managing Jamstack applications. With seamless integration with GitHub and Azure DevOps, global distribution through Azure CDN, and support for serverless APIs, Azure Static Web Apps has become a strong contender in the market. If you're considering deploying your next Jamstack project, Microsoft's Azure Static Web Apps is undoubtedly worth exploring.