Kosta Adding a substantial feature and feat of orchestration to a product that doesn’t need a do it yourself CDN solution is redundant and a waste of time.

DIY CDN(s), will never reach the scale, performance, uptime, reliability or quality of commercial solutions unless you have a spare million to spend on CI.

    adil No

    Kosta It's certainly not a professional CDN but it works.

    Zoinkies for me all is the same cdn, web , db, dns server it’s all same pretty much. As it’s all software app on a OS. So I don’t want to use any other hosting company for any services we can offer. I prefer they be all independent and reliability to be all on us not on 3rd party provider.
    Like cloudflare even if it’s good we be relying on them… pointless to be relying on others for our services. Build CDN into enhance please. In long term it be very profitable!
    Eventually we be paying monthly bills of 8k plus to enhance. I want CDN built in so instead paying cloudflare 40k a month we to make 40k a month by offering our CDN as Service… and be relying only on our DCs our Hardware our SOC team not cloudflare, aws, hetzner etc

    And the way I see it it’s again CDN software’s already built just need to be integrated and configured.
    My point of view.
    On top of that we gonna be protecting our services with that CDN ! I want my services up and running when cloudflare have outages…
    All probably think it’s too expensive to get CDN servers hardware in many locations around world but I think in long term it’s cheaper and much more profitable to be all on us.
    I am really for CDN into enhance. However even if enhance put it in their plans it be probably after 10 years rdy for production. Shocking I be dead by then probably or not interested anymore into this

      Kosta At your scale, yes a CDN would work, but 90% of people here aren’t at that scale. It’s impossible to cater for everyone and an integrated CDN for most won’t be great.

      Also, how the fuck are you spending 40k at Cloudflare, we were paying around 19k before we moved.

      Eventually as our customers get up the bills to 3rd party gonna be so high that we won’t be able to make good profit. Potentially we gonna have bills every month for 100k probably to 3rd parties like cf for CDN etc. if there is a 7 CDN servers 1 each continent etc we be paying monthly 1k a month to the DCs if we get our servers. Apart of the server hardware cost which should be operational for 5-10 years. So yeah I think with 10k customers we be paying a lot of money.
      CDN servers in enhance will make it possible to overtake cf with enhance very simple.
      I won’t use hosting companies to host our customers sites but I will use our hosting company to host our customers sites and give them best possible service without they to need ever to go to other hosting provider..

      This sounds as an amazing project! Do you consider turning this into a professional product or do you want to keep it non-professional as you said? If it is the second, it will be cool if you make its repo public so others can adapt it and commit to it.

        vsmbg
        For the time being, I am testing it on my own sites, on a small scale. To do it on a larger scale I need more servers.
        If anyone would like to implement this at home, they can make their server available and I can help set it up.
        For personal use only or can join to all servers (network).

        Currently how it works:

        • reverse proxy for websites using www cname, as is done for example by quic.cloud, this relieves the main servers on which the websites run
        • the reverse proxy can have a cache enabled for static files which return cache-control headers
        • cache on disk for up to 365 days
        • config changes with auto-detection of changes and immediate change without having to reload the server as in nginx
        • I am also thinking about how to solve the issue of synchronising caches from one server to another, something like a ‘global distrubted cache’.
        • or only cache for static files without reverse proxy

        In order to operate on a larger scale and offer services, I would have to build some kind of portal where everyone could set up CDNs and add new sites, which requires a bit more work.

          AdamM when we made ours we used replicated s3 for cache storage. If that helps.

            AdamM &/or, you could consider storing in distributed Redis or memcache

            Zoinkies all of the things you have mentioned add extra latency, which does not work for CDN because there can be no extra delay. Redis also increases CPU usage and has large-scale restrictions, such as key limits. I've tested these things and they don't perform very well.

              Kosta Yes, I know about that. There can be no additional delay.

                AdamM Fastly use S3 storage for persistent cache. Can’t be that bad if corp CDNs are using it in the stack.

                  Zoinkies They I think built their own s3 object storage and have it close to the cache servers. On my scale this is rather impossible.

                    AdamM we span up our own S3 infrastructure in hours, replicated, and stupidly fast.

                      • Edited

                      Zoinkies Currently, I made a cache locally on each server. So far this provides the most performance. I have 3 nodes for testing. Of course with Anycast GeoDNS
                      USA - Chicago
                      Germany - Frankfurt
                      Poland - Wroclaw

                        AdamM In fairness, no reason why you couldn’t grab nodes with higher ram, and ramdisk the cache, and compress with gzip. I’d go gzip over other compression due to compression speed.

                        If you fancy invite me to the repo I’ll help develop it with you, would be interesting to see how far we can get it. I’ll spin up my s3 infrastructure again and see if that resolves caching.

                        You could have ramdisk cache for hot files, and s3 for higher file size cached items.

                          Follow @enhancecp