What We Learned
One of the first things we learned is that, if you are not careful, your costs can skyrocket without you knowing it. One painful example happened when we accidentally turned on a debug logging to go to the Stackdriver and were lucky to notice it before it became a serious issue. It was a good lesson for the team and it helped us to realize early on that we needed to set up extremely granular cost monitoring alerts.
New Technologies and Automation
Our team had to adopt and learn several new technologies and learn them well enough to avoid having significant technical debt after the migration was complete. Needless to say, managing that with an aggressive timeline was very challenging.
We generated many POCs throughout the migration to find out what worked best for us. The key here was to not get attached to something that did not work, but rather to fail fast and move on to a more effective solution.
Another one of the key concepts we learned during this experience was to automate as much as possible because the more you automate in the beginning the less work you will need to do later. It is worth it to take a step back to then be able to take two steps forward. Another positive aspect of automation is that it can greatly reduce the risk of human errors.
We have experienced significant benefits from migrating to the cloud. After migration we were able to significantly increase our speed to market. Any developer now can easily send an environment with the necessary new features to stakeholder and product owners for their review. It is all seamlessly integrated into our CI/CD workflow.
The DevOps team is very pleased that they are no longer required to go to the datacenter to install or decommission hardware or perform manual patches and upgrades.
In addition, our CI/CD pipelines have improved tremendously, and releases are far more stable with the introduction of canary deployments. Forbes is a KPI driven organization and being in the cloud makes it easy to A/B test and get results for every major feature before it is released to production.
Finally, being in the cloud has also removed the need to overprovision our hardware: we are now able to scale up or down depending on our current needs.
Looking into the future
In the future we are planning to leverage even more cloud native tools including cloud functions, composer and dataflow, as well as automate full environment creation with a click of a button using terraform.
Please take a look at the presentation we did at Google Cloud Next on our migration below.