In other words, does amplify take care automatically to allocate your website static resources in edge locations? It does so many things for you that, at some point, it becomes hard to distinguish what it does and what not.
Yes, AWS Amplify uses CloudFront by default.
This is what they say on the website:
Q: How is hosting a modern web app different from a traditional web app?
Hosting a modern web app does not require web servers and can use content delivery networks to store static content (HTML, CSS and JavaScript files). AWS Amplify leverages the Amazon CloudFront Global Edge Network to distribute your web app globally .
You can learn more on https://aws.amazon.com/amplify/faqs/?nc1=h_ls .
Related
I am familiar with svelte.js for client side wherein client and server are disconnected and all communication is via AJAX calls. However, I have a question whether shared hosting without node installation can deploy a sveltekit app?
Any comments are welcome.
Yes and no. You can serve static sveltekit pages generated with #sveltejs/adapter-static. If you want SSR or to use server side load functions, endpoint, or any other 'backend' feature of sveltekit you will need to use a different adapter. For that, you will need #sveltejs/adapter-node, or another adapter. For supported environments see this page of the docs. So yes, you will need a javascript runtime (probably nodejs) to use all of sveltekit's features.
I have recently started using Azure CDN for a web app hosted on Azure under the "Standard" Service plan. CDn was working great and page loads dramatically decreased. For some reasons, I needed to shift the web app from Azure to a shared hosting provider and I notice that CDN is not helping much with the page speed as it used to do when the web app was hosted on Azure. Are there any changes that need to be made to make Azure CDN work with shared hosting provider?
Have you tried testing with a different CDN provider to see if you still experience the same slow speeds while using shared hosting? This could help further narrow down the issue of wether it is CDN or origin server related.
KeyCDN for example offers a variety of integration options that may be of interest.
We would need to know much more about the characteristics and examples of the performance decrease that you are seeing to be able to provide directed feedback. Overall the network paths between the CDN POPS and the Azure data centers are optimized so it is possible that by switching to an origin outside of Azure you are losing this optimization. This could be most noticeable if you have a lot of long tail content that requires the CDN to make frequent requests to your origin to fill CDN POP's caches. Once the content is cached on the CDN you shouldn't expect to see a difference in performance. You can use the load capability from the Azure Portal or CDN API's to instruct the CDN to load content on the CDN POP's prior to client requests to help isolate if this is an origin issue or not.
Load Rest API: https://msdn.microsoft.com/en-us/library/azure/mt634451.aspx
c# SDK for Load: https://github.com/Azure/azure-sdk-for-net/blob/AutoRest/src/ResourceManagement/Cdn/Microsoft.Azure.Management.Cdn/Generated/EndpointsOperations.cs#L1689
You can setup C# sdk using nuget
Is it possible to have two web application projects (one main website and one running in a virtual directory such as an admin site) share the same application pool to allow the sharing of content in the back end such as static lists, session state etc?
A quick google search turned up this related question IIS App Pools & Static Classes with the answer that the two web sites will still be in different AppDomains and will not share Static instances.
If you need to share data between your web applications you would be better served by setting up a shared database/service for the two web sites to communicate via. This would also better adhere to best practices.
I have web application that are using multiple clients.
I should create one copy of application for all clients or every client should have its own copy.
I am using Asp.net MVC and SQLServer.
What you suggest.
Creating seperate projects per client will be troublesome to maintain while a single project for all clients could be difficult to customize. It is a fine line and your needs will dictate how you build your solution.
One of my more recent projects where we do SAS (Software as a Service) we were able to build our MVC application using a plugin architecture so that each client COULD have their own DLL deployed to the BIN that would enable customizations for just that client (to the Views, Assets or even the Controllers). We are able to leverage a single code base and have many clients, most without customizations and some with minor to heavy customizations.
Every client has a unique URL for their "portal" and most often they have private domains, so http://app.mycompany.com or http://mycompanyapp.com and some are even hosted on our own site, http://hostingcompany.com/client/.
By building an application that can determine what client it is based on the URL we were able to handle all of these cases with ease. When we deploy we have a single code base (deployed just ONCE to a single folder) and all of the sites use that same code deployment.
We run a web farm where we have many .NET Web Servers and have load balancing setup and the sites all have ping pages that our load balancers interact with to determine their health.
Like I said, your needs will determine what the best solution for you is.
Nick , what about database should we use one database every client or should have separate database for each client in my scenario our application is more database centric so there are lot of changes done for each client as per there business roles .
I am using WCF with asp.net 4.0 (using Dynamic Data).
I need to tell my Client how many domains does he require to book. So, do i require a separate domain/sub-domain for WCF or just 1 domain for website and WCF would work.
FYI: We might acquire a hosting space at shared hosting servers like GoDaddy.com. I need to calculate the hosting cost of the application.
Thanks
You can host WCF in IIS, or you can host it in a separate program/service. If you're hosting it in IIS, you can create a .svc file and have it live alongside your other ASP.NET pages.
So it's entirely possible to have your WCF service live in the same domain as your ASP.NET app.