Intro To Azure Static Web Apps - Free Hosting, SSL, Global Distribution, and More

Поделиться
HTML-код
  • Опубликовано: 30 май 2024
  • Creating a website that is globally distributed, incredibly fast, and automatically deployed used to be hard. Adding in custom domains and SSL certificates used to be even more tricky. Now all of that can be done for free and in a few minutes. In this video, we are going to look at how to use Azure Static Web Apps to host a Blazor WebAssembly application with a custom domain. The site will be replicated around the globe and will be secured with an SSL certificate all without us doing anything additional.
    Full Training Courses: IAmTimCorey.com
    Source Code: leadmagnets.app/?Resource=Int...
    Mailing List: signup.iamtimcorey.com/

Комментарии • 109

  • @soucianceeqdamrashti8175
    @soucianceeqdamrashti8175 2 года назад +4

    The coolest part besides the service itself is the built-in CI/CD workflow. To have that created automatically is just a nice feature of the dev workflow. Awesome!

  • @mouhcineoussama5532
    @mouhcineoussama5532 2 года назад +3

    Thank you so much man for your unconditional sharing, and making this world a better World. Best mentor ever ❤️❤️

  • @PomboRuanito
    @PomboRuanito 2 года назад

    Excelent video as always Tim, congratulations and thank you for sharing your knowledge !!!

  • @pascalsegoete1706
    @pascalsegoete1706 Год назад

    This the best tutorial Keep up the good work Tim

  • @markhartkemeyer8259
    @markhartkemeyer8259 2 года назад +1

    Nice video! I just set up my own portfolio site using this.

  • @NavySturmGewehr
    @NavySturmGewehr 2 года назад +1

    Question: Have you ever done a video on how to manage responsibilities between classes? I've used a lot of your youtube content to help self teach myself c#. I'm starting to struggle with how to visualize and then organize the division of responsibilities between classes. Ie one class is dependent on another to have some of its properties filled out, which class should have the methods to fill those properties?
    Thank you very much for your content Tim. You have been the single best resource in my journey.

  • @SoftwareTechnicalMentor
    @SoftwareTechnicalMentor 2 года назад

    Thank you for your kind workm I really appreciate your work. Keep uploading more stuff

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад

      Tim has a passion to help folks so I know he plans for the videos to keep coming! Sales of his courses is what funds these videos.

  • @ultroai
    @ultroai 2 года назад

    Great video! A lot of useful topics here. More Azure, please

  • @rahulhadgal
    @rahulhadgal 2 года назад

    Wonderful video and fantastic service by Microsoft Azure!

  • @iliyanangelov
    @iliyanangelov 2 года назад

    Amazing video yet again!

  • @stylem8132
    @stylem8132 2 года назад +1

    Great content as always! A question: Can we host a blazor web assembly with prerendering and lazy load using this method?

  • @peterkerekes2691
    @peterkerekes2691 Год назад

    Thanks! Perfect Video!

  • @delw1138
    @delw1138 2 года назад

    Another great video!

  • @axelgrefslie1746
    @axelgrefslie1746 2 года назад +1

    Great Video! More Azure please

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      More is coming. I also have a full course on Azure: www.iamtimcorey.com/p/getting-started-with-azure

  • @portraitstonelabs
    @portraitstonelabs 2 года назад

    Thank you Tim for clarifying.
    Hopefully I can figure out how the razor files in the Blazor WebAssembly App are different.
    Your tutorials are great!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Check out my Blazor intro videos. They cover the Razor components (which are Blazor pages).

    • @southafricanmedia5397
      @southafricanmedia5397 Год назад

      @@IAmTimCorey Hi, is there a limit on the number of websites you can host at the same time in azure static web app?

  • @SireComplexity
    @SireComplexity 2 года назад

    Hey Tim I think you should add another record in the Custom Domain for the domain itself and then add a CNAME/ALIAS for @

  • @clickdraw9762
    @clickdraw9762 2 года назад

    This is pretty great!

  • @vahidshoeibynia5784
    @vahidshoeibynia5784 2 года назад +1

    So can we use "static web app" for frontend and "web app"/"virtual machine" for backend?
    and can we call API in the frontend that is hosted in "static web app"?

  • @golodiassaid4879
    @golodiassaid4879 2 года назад

    Would have been game changer if for example they enable receiving emails or notification so that visitors reach out to me. Having said that, this is awesome service and thanks azure for providing

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      The only problem with adding those types of features is that you start to expand the feature set and increase the complexity. Sometimes the best thing you can do is not add a feature. In this case, there are a lot of third-party services you could use to get messages from your site.

  • @yuusource831
    @yuusource831 2 года назад

    At 9:23 I though Mr. Corey was about to teach us how to "dig" some REALY secret code. lol

  • @jeyaprakasha8735
    @jeyaprakasha8735 2 года назад

    Super this one is very helpful for me

  • @portraitstonelabs
    @portraitstonelabs 2 года назад

    Great course Tim.
    I set up a new domain and it is running on the web, but the razor pages won't render online.
    You did mention azure static web hosting does not work with razor pages, but in this tutorial your site did deploy with razor pages.
    Is there an azure set up to add razor capability?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +4

      Razor pages are server-side rendered so no you can't use those on a static web app. My site didn't have razor pages, it had razor components, which are Blazor pages. Yes, that is confusing.

  • @codefoxtrot
    @codefoxtrot Год назад

    Thanks!

  • @sunnypatel1045
    @sunnypatel1045 2 года назад +4

    Can we have more Azure stuff please :D

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      There will be more Azure stuff coming. I also have a full course on Azure: www.iamtimcorey.com/p/getting-started-with-azure

  • @davidbrown100
    @davidbrown100 Месяц назад

    Great tutorial, thank you.. Only issue I have is that the GitHub workflow requires a file index.html which is not included in the standard blazor web app template. I have added an index.html file to the wwwroot folder and the workflow now works successfully, however I dont seem to be able to view anything other than this index file, ie. the root of my application always defaults/redirects to the index.html. Do you have any suggestions.

    • @IAmTimCorey
      @IAmTimCorey  Месяц назад

      Blazor Web Apps cannot be hosted in as Static Web Apps. They aren't static apps. They have server-side code that executes. A Static web app needs to be something that can fully run on the client's browser and that doesn't rely on the server to do processing (although they did add the ability to call an Azure Function). That means Blazor WebAssembly can run as a static web app, but Blazor Web Apps cannot.

  • @davidtugyi4536
    @davidtugyi4536 2 года назад

    Hi Tim, this is a nice video as always. I am just wondering, how could I manag to have a stagin page with a new Ui, and prod page, with the ol version. Should I use two static app?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      You can have up to three deployment slots on a static web app, so you could use the two others as staging/dev sites.

    • @davidtugyi4536
      @davidtugyi4536 2 года назад

      @@IAmTimCorey Thank you Tim! :)

  • @FellTheSky
    @FellTheSky 2 года назад

    Hey Tim.
    Why do you think asp/blazor are surviving in this day where everything seems to be angular/react/vue ? What benefits do you have on blazor vs modern client side frameworks?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +3

      Couple of things to think through here. First, while Angular/React/Vue are popular, they are not the most common way to build a website. Whenever you see how popular they are, they are comparing them to other JavaScript frameworks. They aren't comparing them to other options (like PHP, C#, Wordpress, etc.) In that realm, JavaScript frameworks are a small percentage. Second, those three frameworks require heavy knowledge of JavaScript and the given framework (which rapidly changes). Blazor runs on C#, which is already being used in the Enterprise space. So, if you are already heavily invested in C#, why should you change to JavaScript and lose all of your advantages you have built up in C#? You can stick with C# and move forward faster.

  • @webluke
    @webluke 2 года назад +1

    So if you host your API on Azure App Service and Azure SQL and then have a Blazor Client App in Azure Static Web Apps, it should work? If you can do that, it would make your client available from anywhere and lower hosting costs.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Yep, that's one way to do it (and it will work well).

  • @jasoncrawford3445
    @jasoncrawford3445 2 года назад

    Hi Tim, what VS Code extension are you using to commit & sync Git changes?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      That's just the built-in git options in VSCode.

  • @TheSjoerd
    @TheSjoerd 2 года назад

    Thanks for the video. I would like to have heard that it is not for mvc, api etc at the beginning though.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Understood. I said it was for Blazor WebAssembly and other client-side application, but I could have been clearer that it wasn't for server-side languages (such as API, MVC, etc.)

  • @andywalter7426
    @andywalter7426 2 года назад

    I have a question about doing a portfolio with azure static web app. The only problem I can see is how would the static site access files (like from database). Is there a way to have a portfolio site that does not require any database access?

    • @drma-tech
      @drma-tech 2 года назад

      have the option to access data through the azure function, but it is paid. but it's pretty cheap and 100% scalable.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Yep, you use an API. But your portfolio doesn't need to access a database. It can be just a static webpage. For instance, the www.csharpmastercourse.com site is all static content. I'm not pulling any data from a database, even though I could. By just having static content, it loads faster, gets higher SEO ranking, and is cheaper. Not everything needs to come from a database.

  • @theumairtahir1
    @theumairtahir1 2 года назад

    Great and Helpful content!
    One more thing can you please tell? Can we host a Wordpress site using Azure?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Yes, but not using static web apps.

  • @matthewsmith1500
    @matthewsmith1500 2 года назад

    Tim I really think you should be on Spotify with your own podcast.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +5

      You mean like this: open.spotify.com/show/17OuTS0Fo5iVNeZdkGXhI0

    • @matthewsmith1500
      @matthewsmith1500 2 года назад

      @@IAmTimCorey awesome

  • @phillipkatete634
    @phillipkatete634 2 года назад

    Is there a way around the over 8MB initial download (even reducing the size) for azure static web apps seeing it is only static content?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      When the files are called "static", that just means they aren't generated on the server (like PHP or ASP.NET Core apps are - for instance, an MVC site is powered by C#, but the client only receives HTML and CSS, not the C#). The sites can still be dynamic in the content they display (like Angular, React, Vue, or Blazor WebAssembly). The difference is that the content is all downloaded to the content and then the pages are rendered on the client side. So in this case, we are downloading a Blazor WebAssembly project, which includes the .NET runtime. That's what the 8MB is for. You wouldn't use this for a simple website, but you would use it for a full web application. In that case, the 8MB is justified (and it is actually more like 3 or less when you actually build it for production).

    • @phillipkatete634
      @phillipkatete634 2 года назад

      @@IAmTimCorey Thanks for the response, it makes it clearer. One final query: how do I actually build it for production? Is there a flag I need to set in Azure?

  • @cissemy
    @cissemy 2 года назад +1

    Great.
    How fast is azure Static Web apps with blazor wasm ? About blazor wasm download time ?
    Thanks

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      It is one of the fastest ways to host Blazor WebAssembly.

    • @cissemy
      @cissemy 2 года назад

      @@IAmTimCorey
      I mean the performance and the download ,

  • @andywalter7426
    @andywalter7426 2 года назад

    There is one part you mentioned in the video I am guessing that is not free even though it was advertised that everything is free. I am guessing that custom domains are not free. What if a person does not even have a domain. It would be great if there was an option to create a free domain name. Otherwise, a person would have to use the randomly generated url.

    • @fokkedeboer2342
      @fokkedeboer2342 2 года назад

      Getting a domain name always costs you money. Also a domain name is kinda separated from hosting. This is just free hosting

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      Custom domains aren't free. I understand you would love to have everything be free, but the free content I show off is usually for development purposes. Once you get to production, you are going to have to pay for most things (and you should). Domain names are production items. If you want to use the free version, which I showed in this video, you use the domain name they give you. That's your free domain name. You don't get to pick it, but it allows you to have a domain name unique to you.

  • @andrewlai3598
    @andrewlai3598 Год назад

    would a static web app works with a typical C# MVC web site? Thanks,

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      No, MVC requires server-side processing. You need a fully client-side system like Blazor WebAssembly, basic HTML/CSS/JavaScript, or a client-side framework like Angular/React/Vue.

  • @Allnewseas
    @Allnewseas 2 года назад

    Does Azure Static Web Apps support next.js server side rendering?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yep, here you go: docs.microsoft.com/en-us/azure/static-web-apps/deploy-nextjs

  • @kevman2296
    @kevman2296 2 года назад

    Apparently you can't use the completely free tier without having a credit card on the Azure portal. I tried to create a static web app, but Azure told me to upgrade my subscription. For Azure functions this is not necessary

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      Interesting. I thought you needed to have a credit card on file to even get a free Azure subscription.

    • @kevman2296
      @kevman2296 2 года назад

      @@IAmTimCorey Hm maybe it's because my account was linked to my student account I had in university. We didn't need a credit card for that.

    • @phillipkatete634
      @phillipkatete634 2 года назад

      You do not need a 'free subscription' in order to run static web apps for free. Use your existing account and create a static web app (you may need to search for it) then enroll for the 'Pay As You Go' subscription and when finalizing the creation, select the free hosting plan.

  • @sofianebm7492
    @sofianebm7492 2 года назад

    can I use this method to deploy a single-page application?

  • @Dabayare
    @Dabayare 10 месяцев назад

    What do ppl who provide multiple websites to different clients do these days. Are they paying loads of money to these services?

    • @IAmTimCorey
      @IAmTimCorey  10 месяцев назад

      I'm not sure what you mean. If you wanted to host multiple websites for multiple clients, you could do that on Azure for a reasonable amount. For instance, you could pay $70/month for an Azure Web App and host 20+ websites on it with all of the great features Azure has to offer. Or, if they were just HTML/JavaScript sites, you could host them on Azure Static Web Apps like I'm demonstrating here for free.

  • @andywalter7426
    @andywalter7426 2 года назад

    The only warning about static sites is if you have any class libraries that are not from nuget that are not in your solution, it will fail on static sites but not with azure web app.

  • @williamsworkshop8624
    @williamsworkshop8624 2 года назад

    How would SEO be handled for static Blazor WASM apps? It's my understanding that you would need a server if you wanted to enable pre-rendering and it isn't an option with Azure Static web apps. I know that Google's crawlers will execute JS for crawling SPA sites but many other search engines don't. With the CSharp Master Course website, are you just ignoring that issue and only relying on Google's indexing or is there another way to help with SEO that you're employing? Thanks!

  • @Microgen86
    @Microgen86 2 года назад +1

    did you upgrade your mic?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      No but I changed where I record. We are still working on making it sound good. You like it so far?

    • @Microgen86
      @Microgen86 2 года назад +1

      @@IAmTimCorey yes i noticed immediately the sound has more depth and warmth. keep it up. im an audio guy if u need help ping me

    • @Microgen86
      @Microgen86 2 года назад

      @@IAmTimCorey i do recommend shure mv7 for your type of voice or the blue dragonfly which is over expensive but will certainly take your audio to the ultimate level especially in your new treated room.

  • @Surindersd57
    @Surindersd57 2 года назад

    Are Static Web Apps same as Single Page Applications???

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      No. A Single Page App (SPA) can be a Static Web App but a Static Web App doesn't have to be a SPA. For instance, a Static Web App could be just a simple HTML/CSS site.

  • @happie88
    @happie88 11 месяцев назад

    is it free? or how much monthlt?

    • @IAmTimCorey
      @IAmTimCorey  11 месяцев назад +1

      They are free or $9/month, depending on if you want additional features or not. You can run a full website with custom domain, SSL, and even deployment slots for free.

  • @The00Rex
    @The00Rex 2 года назад +5

    Azure is so scary... I won't start using it for my purposes because I'm afraid that there are 500 licensing nuances and hidden costs based on 1000 other things that I'll pay a fortune for even hosting a website. Sure you can set your limits but it's still so complicated that you can't really estimate the price.

    • @000Cotton000
      @000Cotton000 2 года назад +3

      My intention is certainly not to come across as rude, but you’re simply misinformed. Microsoft is super transparent with the pricing for their Azure resources. Hell, they even provide budgeting and estimated future cost reports to prevent unexpected bills. Seriously, it’s pretty difficult to get blindsided by runaway costs. Many of the Azure resources are basically free or super inexpensive just as Tim has shown in this video about static websites. I think what’s scary to most is that it sounds too good to be true.

    • @drma-tech
      @drma-tech 2 года назад +2

      a few years ago, I already had a charge that went over 1000 dollars and microsoft canceled it because it understood that I had set it wrong. today it's very simple to understand what you're doing. I don't pay more than $1 per month for apps to work.

    • @The00Rex
      @The00Rex 2 года назад +2

      You guys are probably right. It's been a while since I used it, couple years actually. Might wanna give it another try.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +5

      I have a full course on Getting Started with Azure ( www.iamtimcorey.com/p/getting-started-with-azure ) that covers how to use it safely and without risking major bills. I demonstrate a TON of features, including some very expensive ones, and the total bill for everything I did in the course (including time off between recording) was $5, and that was covered by the free credit you get for signing up. Azure is really clear about pricing, but there are ways to put speedbumps in place as well to protect yourself from making expensive mistakes. That course goes deep into how to ensure you are safe when using Azure.

  • @lastidea4925
    @lastidea4925 2 года назад

    I can't use that for my ASP.NET MVC 5 project right?

  • @Blr046
    @Blr046 Год назад

    Excelent video!!! I have a question.
    www.timcoenterprise.com/ -> Working
    timcoenterprise.com/ -> Not Working
    How to achieve redirection or how to make it work if the user is not putting "www."

    • @IAmTimCorey
      @IAmTimCorey  11 месяцев назад

      That was just my oversite. I didn't add the apex domain (without the www) to the list of approved URLs in Azure. Just add an additional record for the apex domain and you are set. If you want it to redirect to one or the other, you could use your DNS provider to do that or Azure Front Door.

  • @StijnHommes
    @StijnHommes 2 года назад

    A globally distributed website used to be hard? Seriously?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Data-driven sites, yes. For instance, if you had any type of state that meant your visitors could not be moved off to a new server so a simple round-robin wouldn't work. Plus, getting a site hosted in five different countries and keeping those in sync was difficult. Even now, try hosting a website in multiple locations around the globe without using a cloud platform. Figure out how to handle DNS, load balancing, and more. That isn't easy.

  • @edrobinson8248
    @edrobinson8248 2 года назад

    Excellent video as usual but I think it would help not to make a deliberate mistake ;-) setting app location as Client instead of TimCoEnterprise? Beginners (like me) beware.

    • @davidknight5331
      @davidknight5331 8 месяцев назад

      I struggled for two days with this but Tim's video helped me out. Here is what I had to do to mine to deploy properly:
      app_location: "/"
      api_location: ""
      output_location: "wwwroot"
      I am not sure why the default template for a Blazor project puts app_location: "Client"