As a small organization or startup, site reliability is a needed, but difficult, area. With limited resources, it’s hard to find the time to pick tools that will work best in scaling infrastructure. So how do you do it? We’ve put together a beginner’s guide to help you get started.
Build infrastructure with maintainability and scalability in mind.
Most companies build and manage individual servers. Because these servers can be built differently, when a problem arises the solution can not be implemented consistently but needs to vary for each server. Instead, you should build and manage code that creates your infrastructure. You’ve now started to use a software development mentality. Since systems are built from code, focusing on this area will allow your infrastructure to become consistent and saves time. Code gets written, tested, centrally stored, versions and iterated on.
Using Amazon Cloud (AWS) and Infrastructure Management Tools
Using the Amazon Cloud (AWS), as well as infrastructure management tools, you can build a scalable and maintainable infrastructure. Here are a few of our recommended tool implementations to scale your code:
1. Using OpsWorks
For instance using OpsWorks (the AWS service built on Chef) gives you the ability to “code your infrastructure”, store the code in a source code repository, build and scale your infrastructure on the fly, and deploy as well.
2. Using Jenkins + Terraform + Ansible
Another option is to use a combination of Jenkins, Terraform, and Ansible. Infrastructure is built from code using Terraform and launched, configured and deployed via Jenkins and Ansible. Again, all the code is stored and maintained in source control. Once infrastructure is build, you can use AWS AutoScaling groups to scale your infrastructure based on load or schedule.
3. Using Mantl.io (advanced)
One very resilient, but more advanced option is to use Mantl.io. Mantl.io is an incredibly powerful micro services infrastructure. It uses technologies such as Mesos, Marathon, Traefik, Docker, Consul, and Kubernetes as well as Terraform and Ansible. It’s an incredibly scalable and resilient system that allows you to abstract away your hardware layer. If you need more resources, the system will create more.
Carrying the Pager
Carrying the pager is a great job for a 3rd party managed service group. There are many companies out there, including OneCloud Systems. OneCloud Systems LLC, is an AWS Certified Consulting Partner that provides Technology Architecture, DevOps Support, and Cloud based server management (cloud architecture, migration, infrastructure design, implementation, 24/7 monitoring and support, etc). Check out our services to learn more about how we can work together, or reach out to us for an assessment.
Learn More About Our Services