Wednesday, October 21, 2015

Edge80 vs CDNs vs Performance

There is an interesting article over there (https://www.maxcdn.com/blog/cdn-experts-on-cdns/) at MaxCDN about, you guessed it, CDNs. It's an interesting compilation of opinions on CDNs from people who are certainly qualified to have opinions on CDNs. You might think of it as a bit a CDN State of the Union. Where they are now, what their strengths and deficiencies are, and what we hope they may be in the future.

I invite you to go read it, and I will meet you back here to talk about it further.

You're back? Great!

Now this has a particular interest to us over here at Edge80 as we do overlap with CDNs in some ways. As an edge caching based solution there is similarity in the DNA of CDNs and Edge80. We are another answer to the sorts of problems CDNs attempt to solve. We believe a more comprehensive approach, like ours, allowing you to accelerate and bolster the functionality of your entire site is the future of enhanced hosting. We have always thought of Edge80 as the next step in the evolution of web site enhancement technologies. So, let's have a look at how it stacks up against what the experts are asking for.

First of all, all the contributors to the piece agree that use of edge caching and high speed CDN-like services is vital to the modern web. We could not agree more. Reducing load on your origin servers and providing better performance for site visitors is essential. A common complaint about CDNs is that, though they do help significantly with this, their reach is typically limited to static content. Edge80 takes it a step further by allowing you to edge cache your whole site. Using the programmable nature of Edge80 you can deal with issues like shopping carts and logins and any other dynamic content appropriately while still maximizing the edge cache potential of the site. In some cases we have seen clients able to even offload an amount of interactive content off their origin servers and into our edge servers entirely.

Another common theme that comes out of the article, if I can summarize a few related points, is the need for a better way to configure the services of the edge cache services (or CDN). Depending on the service, the configuration and management facilities vary quite a lot. The common theme seems to be difficulty in applying oft desired features, such as TTL management, header or cookie management, or compression settings, etc (if they are even available). Further, most CDN systems don't allow any sort of version control of your settings. Even to the extent of allowing you to download or upload them as settings or configuration files. Giving you a simple way to replicate settings or roll back to a known state.

So, how does Edge80 answer these issues? First of all, any site or configuration you work on with Edge80 is backed by git, giving you comprehensive version control facilities, as well as secure remote access using your favorite git tools and even allowing you to work in your favorite editor.  If you just want to work on your rules in the provided interface, version history is still automatically maintained for you, and rollbacks are simple. Our rules language itself is xml based and designed to be very readable, and make it easy to get started. It also supports JavaScript so you can go even further. In fact, you don't even need to use our environment to host your rules at all. It's perfectly possible to host your rules for your sites yourself, using whatever environment you wish to manage those files. And that is all there is to it, just point your DNS to us and write your rules. All the provisioning and node management is handled by our systems dynamically to meet demand.

Your Edge80 account comes with access to our expanding base of library code, which can do even more of the basic work for you. Our standard frameworks, libraries and Edge80 itself implement a lot of the standard features that people are looking for in their CDNs or proxies. And, of course, you can always use our rules system and JavaScript to implement what you want. This includes oft desired features like: image manipulation and conversion, content compression, TTL control, full header control, cookie management, CSS minification, CSS combining and so on. As our libraries grow (and, you can of course build your own) more and more features become available. A standard set of features and optimizations are always enabled with our template solutions, and we provide simple ways to turn on and off what you want.

This layer of versioned libraries and frameworks over the platform also allows us to readily deploy updates that you can apply as you see fit, without having to start over. We are constantly tuning and improving the platform itself as well. Got an idea to improve our platform? We want to hear it. And it might just appear pretty soon.

This high degree of control you can have through the rules language and embedded javascript in Edge80 really allows you ultimate flexibility. You can mash up content from multiple sources, and make significant changes to content right at the edge. Facilities far beyond simple ESI. If you don't have a mobile or tablet optimized site, you can implement it in Edge80 without touching your origin site. And each page or asset that is mobile converted (or modified in any way) is then cached with your desired TTL to respond at high speed to subsequent requests.

So, let's talk about SSL. It is consistently mentioned as a bit of a problem with CDNs, both in cost and implementation. So, yes we support SNI for securing your HTTPS traffic, as well as a secured hostname solution for the increasingly small number of devices that don't support SNI. We don't charge extra for it. You can just go ahead and configure SNI in your rules. We will even help you do that. When it comes to your site security we know you want to be sure. You continue to host your certificates. Did I mention we don't charge extra for it? OK, good.

Speaking of pricing, we don't feel like it should be a mystery. Our pricing is based on usage and published on our website. You can track your usage through the management interface and we hate hidden extras, so we don't have any. Our invoices always detail the cost breakdown, and you can always get further breakdowns of your usage information from the stats page in your Edge80 account.

So, if you’re considering implementing or switching CDNs for your site, or you just feel like your site needs something to help it keep up or reach more people, I invite you to take a look at Edge80. Or drop us a line (hello@edge80.com) and discuss how we can help.