Monday, January 2, 2017

Clyfarsolutions runs on AWS

One of my core goals for this year is to diversify the cloud stacks that I have knowledge of.  For the past few years, I have been evangelising  the cloud, but focusing primarily on the Azure stack.  The goal of running my business infrastructure on AWS is to help understand the core differences between AWS and Azure.  I've seen quite a few companies want to deliver application across the public cloud environments.  In order to be able to do this effectively, I need to better understand both sides of the coin. 

Currently, www.clyfarsolutions.ca is essentially a static website.  In order to allow for future growth, I have created the website using NodeJS.  Node is supported in a "PaaS" form for both Azure and AWS and this will allow me to start fooling around with cross-cloud architecture and also creating build/release pipelines with cross-cloud targets. 

Here is the current technology stack in use: 
  • Route 53 
I am using route 53 as my DNS setup.  I found it interesting that you can buy and manage the domain all within Route 53.  That is a nice touch.  It is interesting to see the different approaches between Route53 and Azure DNS.  Route53 decided to bundle health monitoring in with the DNS system, while Azure has chosen to use Application Insights from a health monitoring perspective, leaving Azure DNS to do DNS only.  I do use office 365 for my business, and was able to set up all the relevant records with Route 53.   
  • ElasticBeanstalk 
What I really want to do is have a PaaS stack host my website.  In AWS, the closest thing to this is elastic beanstalk  Once again, just cursory looking at things, it is interesting to see the difference in approach.  Whereas Azure "WebApps" runs on a farm hosted by Microsoft, AWS has chosen to bundle automation and VMs with Elastic beanstalk.  I still have to investigate the update process, and see how managed it is (downtime, etc) 
  • CodeCommit 
Originally when I started developing this website, I used VSTS Online.  This was for two reasons.  One, I wanted to use git in a private fashion and two I honestly didn't know that AWS has a competing product in this space.  From a cursory look at features, I don't think CodeCommit is feature complete with VSTS from a build/release perspective.  This is mostly because CodeCommit is a simple git repo vs VSTS which is built on TFS which has a bunch of capability in this space.  That being said, CodeCommit does have integrations to Lambda, and so I look forward to experimenting with that further 

I am looking forward to expanding on the above technology stack over the course of the coming year.  I plan to run all of my "business" infrastructure on AWS.  I hope to document some (or most) of this journey, and might even aim to get certified in AWS later this year.