Is it possible to use Amazon CloudFront as a hosting provider (linking it to a domain, etc) or is it only meant for content hosting?
The "hosting" provider is more likely S3. You can easily host your web site there. See instructions here: http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
Amazon CloudFront is a CDN service, which makes serving content faster for your end users as the content is available from edge points closer to the end users. You can create a distribution of your web site (from example S3 as explained above), but the content must arrive from an origin (as S3). See instructions here: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html
Related
I'm using Azure Storage Blobs and have Azure CDN in front of it serving static images and videos. I have been trying to get my website to use HTTP2 for a while now, but have run into issues with how Azure containerizes .NET Core applications on Linux machines. So, the website (using Kestrel), is only serving files over http/1.1 even if they're local files.
I thought that I could "offload" somethings by moving them to a storage blob container, then using Azure CDN. This article suggests that it should be available: https://learn.microsoft.com/en-us/azure/cdn/cdn-http2
Is there something else I need to configure within my CDN profile or the Storage account to enable http/2? Or is it because my server is serving it as http/1.1?
Thanks,
AJ
After some searching, I found a thread on Stack Overflow (sorry, on mobile and it's a pain to copy/paste links) about how some anti-virus softwares intercept requests to do SSL checking. Anyway, I use Bitdefender and when I went to Protection > Online Threat Prevention and disabled "Encrypted web scan" and then reloaded my domain, sure enough all traffic poured in over http2. I'm not sure why Bitdefender treated Akamai differently, but at least we know why now!
Just read this article about Static website hosting in Azure Storage :
https://learn.microsoft.com/en-gb/azure/storage/blobs/storage-blob-static-website.
For the moment, I use to deploy my static content to Azure CDN.
So far here are the difference that I've found:
Network performance
Pricing
Custom 404 page (Azure Static Website Hosting)
Custom DNS is only supported for Azure CDN ???
I am wondering what could be a good candidate for Static website hosting in Azure Storage:
Content for local application that does not need to scale globally ?
As the official said, the benefits of using Azure CDN to deliver web site assets include:
Better performance and improved user experience for end users, especially when using applications in which multiple round-trips are required to load content.
Large scaling to better handle instantaneous high loads, such as the start of a product launch event.
Distribution of user requests and serving of content directly from edge servers so that less traffic is sent to the origin server.
I don't think that host Static website in Azure Storage is a good candidate because of the performance. Below points show the features of CDN which are what Azure Storage do not have:
CDN is a content distribution network built on the network. It relies on the edge servers deployed everywhere, through the load balancing, content distribution, scheduling and other functional modules of the central platform, so that users can get the required content near the network, reduce network congestion, improve the user's access response speed and hit rate. The key technologies of CDN include content storage and distribution technology.
The basic principle of CDN is that various caching servers are widely used to distribute the caching servers to areas or networks which are relatively centralized by users. When users access the web site, the user's access is directed to the nearest working normal cache server using the global load technology, and the cache server is used directly. The household request.
Content distribution network (CDN) is a new network construction method, which is specially optimized for the distribution of broadband media in traditional IP networks, and from a broad sense, CDN represents a network service model based on quality and order.
Simply speaking, content distribution network (CDN) is a strategic deployment of the overall system, including distributed storage, load balancing, network request redirection and content management 4 elements, and content management and the global network traffic management (Traffic Management) is the core of the CDN. Through the judgement of user proximity and server load, CDN ensures that the content provides services for users' requests in a highly efficient way.
In general, content services are based on caching servers, also known as proxy caches (Surrogate), which are located on the edge of the network and are only "one hop" (Single Hop) away from the user. At the same time, proxy caching is a transparent image of the content provider source server (usually located in the data center of the CDN service provider). Such an architecture allows CDN service providers to represent their customers, the content providers, to provide the best possible experience to the end users, which can not tolerate any delay in the response time of the request.
More information about CDN, we can refer to: Content Delivery Network and its Business Benefits
In addition, custom DNS is not only for CDN: Setting up Custom DNS Records to point to Azure Web Sites - with Stefan Schackow
I'm trying to serve my cloud storage content using custom domain over https. Currently, I'm using Amazon S3 with CloudFront to deliver the content using custom domain over https. But S3 with CloudFront is costly, So I'm now searching for an alternative.
Is Azure or Google Cloud natively support to serve content using custom domain over https. Without using CDN?
At the moment, google cloud storage only support HTTP. As per documentation To serve your content through a custom domain over SSL, set up a load balancer, use a third-party Content Delivery Network with Cloud Storage, or serve your static website content from Firebase Hosting instead of Cloud Storage.
I was able to find this blog which might help you on the setup.
With that being said, if you are looking for functionality like this you may also try with App Engine, as by default, HTTPS connections on your custom domain will automatically be enabled using managed SSL certificates. You can visit this link for more details. Also, there is a there is a feature request submitted to support auto managed SSL with GCLB.
Is Azure or Google Cloud natively support to serve content using
custom domain over https. Without using CDN?
Azure allows you to map a custom domain to your blob storage endpoint. Using this, you can serve the content stored in blob storage using a custom domain. You can read more about it here: https://learn.microsoft.com/en-us/azure/storage/blobs/storage-custom-domain-name
However please note that this will not work over https. For https, you will need to use Azure CDN.
The OP's needs will be met by using Firebase as mentioned in passing by #KarthickN.
Firebase is a Google product which deploys your own domain name site automatically through SSL (https). You can first push your site onto one of the remote git repositories and use CI/CD for Firebase to deploy. You don't need to worry about CDN as firebase will use Google's global edge servers. Small usage is free then move onto paid plans as your needs grow plans
I answered a similar question here.
Im facing some problems with AWS S3, i figured out that if i set some RoutingRules, it will only works at <bucket_name>.s3-website-us-east-1.amazonaws.com endpoint but this endpoint don't have SSL, is there another endpoint that has SSL s3.amazonaws.com/<bucket_name> but these RoutingRules doesn't work there.
Is there a way to make RoutingRules works at s3.amazonaws.com/<bucket_name> endpoint? or SSL works at <bucket_name>.s3-website-us-east-1.amazonaws.com?
I hear something about cloudfront but idk much about.
<bucket_name>.s3-website-us-east-1.amazonaws.com is a website endpoint, whereas the other one is a REST API endpoint. You can see the difference here.
You can see the example walkthroughs how to setup a static website on S3 and add CloudFront (where you can add SSL/TLS).
For your use case, as you have already identified you can use AWS CloudFront. It mainly provides two functions,
Acts as a CDN caching the static content based on your configuration.
Acts as a proxy where you can connect S3 buckets or other endpoints to CloudFront with routing rules where your DNS points to CloudFront.
In addition you can associate AWS Certificate Manager issued free SSL certificates with CloudFront.
Configuring CloudFront to S3 is straightforward. Check the AWS Getting Started Guide for more details.
From what I’ve been told by the Azure support staff, the Azure CDN is at best deprecated at the moment while they work out the details of a new service they are supposed to roll out eventually. For that reason and because the particular site I am building requires the content to secured (It’s going to be paid for) I need to look somewhere else for a CDN since the current Azure offering doesn’t offer that possibility.
I was thinking of using Cloudfront but the dilemma I’m having is where to store my files. I cannot seem to find anything online about inter-operability between Azure and Cloudfront (using either Cloudfront with Azure Blob Storage, or an Azure Web Worker and S3/Cloudfront for file storage and CDN).
Does anybody have any experience, tips, pointers, or gotchas on doing this? Or perhaps a recommend another service I can use?
To point your CloudFront CDN to your Azure Blob storage you will need to set up a managed custom domain on your Azure storage service and point your CloudFront CDN origin domain name to this custom domain.
Steps:
Create a CNAME entry for your domain to point to your blob storage (eg CNAME blob.mydomain.com to myservice.blob.core.windows.net)
Add a managed custom domain to your Azure storage account: blob.mydomain.com
Create a CloudFront CDN distribution with origin server blob.mydomain.com
Use your CloudFront CDN url to access your resources eg: http://acbdefgh.cloudfront.net/users/john
Alternatively set up a CNAME to point to your CloudFront CDN domain. Eg avatar.mydomain.com to acbdefgh.cloudfront.net and update your CloudFront distribution CNAME with avatar.mydomain.com
The ability to invalidate cached objects is a good example of why you might want to use Amazon's CloudFront CDN over the Azure CDN. Using the steps above you could for example use CloudFront to cached objects that occasionally need to be invalidated (such as profile pics - avatar.mydomain.com) and the Azure CDN for everything else (blob.mydomain.com) where both sub domains point to the same azure blob storage account myservice.blob.core.windows.net.