Want more timely Centmin Mod News Updates?
Become a Member

Amazon AWS Cloudflare DNS Thinking of moving from AWS Route53 DNS to Cloudflare

Discussion in 'Domains, DNS, Email & SSL Certificates' started by eva2000, May 2, 2017.

  1. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+

    Background


    • Centminmod.com domain uses AWS Route53 DNS as I need to make use of GeoDNS and Geo Latency based DNS to route visitors to the closest backend cluster that serves centminmod.com over 16+ active and 16+ backup servers located in London, Singapore, Tokyo, Los Angeles, Seattle, Dallas, New York/New Jersey, Sydney and Melbourne.
    • The forum domain community.centminmod.com uses Sucuri Cloudproxy for WAF and DDOS protection as they don't require moving my DNS located on AWS Route53 DNS so I can keep using Geo latency based DNS for centminmod.com.

    Reasons For Moving



    Cloudflare now has Load Balancing feature which they also termed as Traffic Manager Cloudflare Load Balancing | Cloudflare (Traffic Manager) which I have been privately testing since the original Traffic Manager announcement. I am so used to the term Traffic Manager rather than Loadbalancer for Cloudflare so will use the terms interchangeably.

    Testing was via Cloudflare Traffic Manager API only configuration as there was no GUI dashboard to create load balancer, pools and origins for the setups. But now Cloudflare does have GUI dashboard it is now more enticing to move my entire Centminmod.com domain DNS over to Cloudflare. The Cloudflare Load Balancing/Traffic Manager is still rough around the edges and probably will be confusing for folks who didn't start out with Cloudflare Traffic Manager API first to understand how Loadbalancer Monitors, Pools (fallback, region (Enterprise only) and pop pools), Origins and Healthchecks all fit together.

    Cloudflare Loadbalancer API

    Some of Cloudflare Loadbalancer API docs

    Monitor

    Pools
    Loadbalancer

    Cloudflare Loadbalancer



    Performance wise as you can expect with Cloudflare Loadbalancer and having multiple geographically located origin backend servers for centminmod.com main site means that visitors have a bit faster latency as your direct visitors to the closest origin backend server to them - what Cloudflare terms Geo-Steering. It's faster as Cloudflare's own edge POP datacenters may not always be the closest location point to your visitors - your original backend might be if you operate a geo cluster of backend servers.

    Old test performance comparing normal standard free Cloudflare setup (left) to the Cloudflare Traffic Manager/Loadbalancer setup for centminmod.com mirror domain I setup on Cloudflare for testing.

    Notice the connect and TTFB times on right are almost always faster - especially in locations where Cloudflare's datacenter isn't necessarily the closest to the visitor compared to my origin backend server i.e. Sao Paulo, Seattle, Toronto. These were old results so will have to retest as Cloudflare has added more datacenters to their mix since then.

    cloudflare-tm-toolcompare-01.png

    Cloudflare Standard vs Cloudflare LoadBalancer



    For most folks the basic difference for my above setup with Cloudflare Loadbalancer which Geo-Steer's visitors to the closest origin backend server from my geographic cluster is performance and uptime.

    Standard Cloudflare looks to a single backend origin server = your real server to communicate with your server and pass on requests to and from visitors to your origin server. If your origin server is down, Cloudflare gives you that site down error message and/or serves a stale offline version of your site. For centminmod.com though it isn't an issue as I setup a flattened DNS record for centminmod.com origin so Cloudflare would currently be directed to my nearest geolocated origin backend as centminmod.com DNS is on AWS Route53 for Geo latency DNS.

    Cloudflare Loadbalancer can be configured so if you have your site like my centminmod.com mirrored to geo cluster of servers located in London, Singapore, Tokyo, Los Angeles, Seattle, Dallas, New York/New Jersey, Sydney and Melbourne, then Cloudflare will communicate with the origin backend server closest to your visitor's geographic location. If your configure healthchecks on your pools/origins, then if my Sydney origin is down, Cloudflare Loadbalancer will direct the visitor to another origin within a pool or another pool within another region ensuring better uptime and failover.

    Old diagram I made to help me understand Cloudflare's Traffic Manager/Loadbalancer Region choices you have available to configure for

    upload_2017-5-2_22-24-19.png

    And how it is laid out

    upload_2017-5-2_22-25-7.png
    You can have multiple Cloudflare loadbalancers too under same account as well as multiple pools within each load balancer and multiple origins within each pool (the load balancer part on the final origin backend destination).

    Pricing



    Now the only problem with moving from AWS Route53 DNS at ~US$25/month for GeoDNS/Geo Latency DNS to Cloudflare is that the forum domain needs DDOS protection, so would mean using Cloudflare Business plan at US$200/month. Which is actually more than the cost of my entire centminmod.com GeoDNS based cluster of servers ! But benefit is all my subdomains and main centminmod.com will be DDOS protected as well.


    Would definitely need a big step up on Centmin Mod $$$ donations or Premium memberships for such :) ;)
     
    Last edited: May 2, 2017
  2. buik

    buik “The best traveler is one without a camera.”

    2,026
    524
    113
    Apr 29, 2016
    Flanders
    Ratings:
    +1,674
    Local Time:
    1:37 PM
    300 $ over 2400 $ and It costs more than the total you have now.
    It is not worth it, if you ask me.

    If you are missing purchases because customers can not place an order. That's something different.
     
    Last edited: May 2, 2017
  3. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    True though that excludes the US$20/month for Scurui Cloudproxy + US$25/month AWS Route53 = so US$540/yr vs US$2,400/yr heh

    For now it's just in thinking phase :)
     
  4. buik

    buik “The best traveler is one without a camera.”

    2,026
    524
    113
    Apr 29, 2016
    Flanders
    Ratings:
    +1,674
    Local Time:
    1:37 PM
    My first question to myself would be.
    Do I really need this?

    So question to you. Do you really need this?
     
  5. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    I'd like to say it depends on potential and anticipated traffic growth for centmin mod as such a transition would take time to do and isn't just a flick of the switch to change :D Have to plan far ahead for centmin mod's continued operation and survival i.e. next 12 months, 24 months etc :) But right now it's a want more than a need :)
     
  6. buik

    buik “The best traveler is one without a camera.”

    2,026
    524
    113
    Apr 29, 2016
    Flanders
    Ratings:
    +1,674
    Local Time:
    1:37 PM
    So actually. That's a no need for now. You can always take it later.
    It could sounds very annoying, What I write. But why consider something when it's not necessary?
     
  7. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Yeah true.. centminmod.com recently spiked to 30,000 visitors/day and the geo cluster handled it all without breaking a sweat :) Probably could handle 10x times more in current state. It only takes me around 20-40 minutes in total to spin up a new server + load up all site data and configurations to add to the geo cluster right now to add more capacity at any web host in any datacenter that I currently use :)
     
    Last edited: May 7, 2017
  8. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+

    WebPageTest Dulles Comparison



    My current AWS Route53 Geo Latency DNS setup for
    • centminmod.com HTTP/2 HTTPS vs
    • Cloudflare standard centmin.com mirror of centminmod.com HTTP/2 HTTPS vs
    • Cloudflare Load Balancer based centmin.com mirror HTTP/2 HTTPS
    Images below will be in that order as well for summaries

    Webpagetest Dulles, Cable 5Mbps 5x runs

    Webpagetest SpeedIndex, Visually Complete time, First Meaningful Paint (RUM First Paid) and domInteractive times are key for perceived page load speed.

    centminmod-route53.png
    centmincom-cloudflare-std.png
    centmincom-cloudflare-loadbalancer.png

    wpt-dulles-cable5-filmstrip-01.png
    wpt-dulles-cable5-filmstrip-02.png
    wpt-dulles-cable5-filmstrip-03.png
    wpt-dulles-cable5-filmstrip-04.png
    wpt-dulles-cable5-filmstrip-05.png
     
    Last edited: May 4, 2017
  9. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+

    WebPageTest Singapore Comparison



    My current AWS Route53 Geo Latency DNS setup for
    • centminmod.com HTTP/2 HTTPS vs
    • Cloudflare standard centmin.com mirror of centminmod.com HTTP/2 HTTPS vs
    • Cloudflare Load Balancer based centmin.com mirror HTTP/2 HTTPS
    Images below will be in that order as well for summaries

    Webpagetest Singapore, Cable 5Mbps 5x runs

    Webpagetest SpeedIndex key for perceived page load speed.

    centminmod-route53.png
    centmincom-cloudflare-std.png
    centmincom-cloudflare-loadbalancer.png

    wpt-singapore-cable5-filmstrip-01.png
    wpt-singapore-cable5-filmstrip-02.png
    wpt-singapore-cable5-filmstrip-03.png
    wpt-singapore-cable5-filmstrip-04.png
    wpt-singapore-cable5-filmstrip-05.png
     
  10. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+

    WebPageTest London EC2 Comparison



    My current AWS Route53 Geo Latency DNS setup for
    • centminmod.com HTTP/2 HTTPS vs
    • Cloudflare standard centmin.com mirror of centminmod.com HTTP/2 HTTPS vs
    • Cloudflare Load Balancer based centmin.com mirror HTTP/2 HTTPS
    Images below will be in that order as well for summaries

    Webpagetest London, Cable 5Mbps 5x runs

    Webpagetest SpeedIndex key for perceived page load speed. WPT London test servers nice and fast on AWS EC2 it seems.

    centminmod-route53.png
    centmincom-cloudflare-std.png
    centmincom-cloudflare-loadbalancer.png
    wpt-london-ec2-cable5-filmstrip-01.png
    wpt-london-ec2-cable5-filmstrip-02.png
    wpt-london-ec2-cable5-filmstrip-03.png
    wpt-london-ec2-cable5-filmstrip-04.png
     
    Last edited: May 4, 2017
  11. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Looks like Cloudflare Load Balancer is billable too Billing for Load Balancing so will end up more costly than my current AWS Route53 GeoDNS setup most likely !

    so my current usage would require Cloudflare Enterprise plan !

    I guess my usage wouldn't be possible as non-Enterprise plan user as i have
    • 8 origins used across 11 geo regions
    • non-enterprise is limited to 6 origins and 8 health check regions
    • so non-enterprise cost for 6 origins max = $15/month + 15s interval $15/month + max 8 health check regions $15/month + Geo routing $10/month = $55/month as i understand it ?
    Looks like Constellix DNS Geo-Promixity might be cheaper Constellix | DNS Pricing

    Here's KeyCDN Site Performance test comparing

    1. current AWS Route53 Geo Latency DNS (top left)
    2. standard cloudflare non-loadbalanced (top right)
    3. cloudflare loadbalanced (bottom left)
    4 constellix geo-proximity based DNS (bottom right)

    performancetest-compared-01.png
     
    Last edited: May 8, 2017
  12. eva2000

    eva2000 Administrator Staff Member

    54,348
    12,198
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,763
    Local Time:
    10:37 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+