This week, we launched BioCDN, our own local Content Delivery Network. This puts us on the path to a more polished system for storing local and external libs.
Before this, we were keeping our shared resources in a Java server context. This made sense for earlier versions of our dev environment, but the sophistication of our JS and CSS has been quickly growing. Here’s some of the reasons we decided to keep our libs on a dedicated server:
- access to all shared resources in all of our sites and applications (encourages consistency!)
- it’s straightforward to create a build system, which simplifies using valuable task management tools (Sass, JS minification, concatenation, and linting)
- resource URLs are absolute, which means no time wasted fiddling with relative links in a dynamic environment, and the directory tree is easily browsible!
- lib versioning is now reflected in URLs
- deployment has a lot less overhead (I just upload changes via FTP)
So far, moving to a CDN seems to be a huge victory! Some kinks we are still working out:
- while we’re transitioning, we need to mirror libs from the old context (but this also forces us to do some clean up)
- the infrastructure for the build system is not solidified yet
- not sure how our private NPM and potentially Bower repos fit into this. Ideally we would have a spec that could pull down all of our externally authored libs