TCC’s Relationship with AWS
As some of you will know, We’ve recently migrated all of TCC’s services to AWS (Amazon Web Services).
Why we migrated
- It’s faster.
Hardware moves on significantly every year and keeping up with this is hard going,
Running on AWS EC2 instances gives TCC room to breath, as demand increases we can size up the instances to meet demand
Trying to keep hardware up to date, providing power, cooling and internet connectivity is very expensive for a hobby.
Running on AWS allows us to keep costs low.
Our AWS instances are automatically scaled to meet demand and balance costs. When an instance is destroyed and re-created, We use a combination of tools to get them back up and running ASAP.
- First AWS EC2 creates a new instance.
- We then bootstrap from a clean image of the OS.
- Update software, apply the latest security patches and install our tools like Ansible and Python.
- Ansible then deploys and configures our stack. We do this from a completely fresh install, no files are copied “as-is”.
- Retrieve the static data such as databases, repositories and other assets.
- Retrieve any SSL Certificates needed and install as necessary.
- When the stack is ready, We then use the Amazons API tools to update the environment such as setting IP addresses and updating DNS entries.
In all this takes as little as 2-3 minutes, however GitLab can take up 10 minutes depending on the instance size as it is significantly bigger and more complex to install.
By doing it this way, the OS and software stack are always in pristine condition and always up to date.