If It's Worth Doing, It's Worth Overdoing - the Story of Nitor.fi / Part 1
30.11.2015 klo 13.05
Since I started roughly 4 years ago at Nitor Creations, it was common knowledge that our website was pretty outdated. It just never got to the top of our priority list as we had more than enough business even with the shabby website. When earlier this year we got the chance to bring the site to the top of our todo lists, I for one got excited for an opportunity to apply the know-how we provide our customers to our own infrastructure.
(See Part 2 of this blog post)
It was clear we wanted an open source CMS and went on the hunt for one. Sadly the state of that particular area of software is pretty dismal, and it isn't much better on the paid software side. We ended up selecting Concrete 5. It has an easy enough editing system and nice customization possibilities.
Our designers and front-end developers were able to do a good job of implementing a modern responsive website on top of Concrete 5, and it was not that painful. In fact they managed to implement some pretty cool stuff like the animation linked to scroll events. There is a script that generates images from an uploaded 8 second video. When user is browsing our site, the images get pre-loaded and rendered onto an html canvas as the page scrolls. The rest of the coolness is probably better left to another post though.
We had to touch some PHP in places, but the trauma is limited. There are parts we decided to implement with a separate nodejs instance behind the website.
Using Amazon Web Services to host our site was pretty much a no brainer for us. We have plenty of experience and it gives us the flexibility to create a truly resilient, secure, and scalable website with minimum investment.
Here is a general picture of the components involved:
We have worked on a number of top-tier brand websites and wanted to bring all of the practices that we possibly could over to our own website. Providing, of course, that it is not expensive or time consuming to do so.
The infrastructure pictured above is set up with a pair of Cloudformation templates. One is of the CloudFront part, which is pretty static and the other for all of the rest. CloudFront provides edge caching and gives a lot of security. The rest of the infrastructure is all run on the smallest possible instances to reduce cost.
We set up our website running on AWS with very little effort and it radically exceeds our requirements. It's all about over engineering, isn't it. I will go into more detail of the setup in Part 2 of this post. Stay tuned.
ABOUT THE AUTHOR
Pasi Niemi is a Senior Software Architect with Nitor Creations. Pasi has over fifteen years of experience in the software business as a developer, architect and team leader.