"Leveraging the proficiency of our DevOps experts, we have provided our clients with a host of advantages: diminished expenditures, improved security through multi-layer monitoring, and overall efficiency driven by automation."
Case Study: How Softjourn’s DevOps Team Saved Our Client Over $25k a Year on AWS
ABOUT THE CLIENT:
The Challenge
Our client had an issue with a third-party service that was breaking and becoming unresponsive during high loads. We worked with our developers to add more logging to our calls to the third-party service to better understand the issue.
The Solution
Once the code was deployed, our DevOps team and the client’s in-house team took three partially overlapping 12-hour shifts to monitor the systems at all times. Our 24/7 monitoring and quick-response rate allow us to do as much as possible to fix issues before customers experience and report an error.
The Benefits
Our experienced DevOps team brought many advantages to our clients, by reducing their expenses, ensuring greater security through multi-layer monitoring, and improving their overall efficiency with automation.
The Challenge
DevOps is an important set of practices said by many to be essential for maintaining a high level of security and functionality for a system. On top of that, DevOps teams can save businesses money over time and improve user experiences, without compromising efficiency.
For large-scale companies, a DevOps team is required to strengthen security, ensure a smooth user experience, and eliminate the risks of a shutdown is obvious. However, the quality of a DevOps team widely varies.
A good DevOps team might provide 24/7 monitoring, respond quickly to application errors, and maintain your selected technologies.
However, a great DevOps team will identify innovative ways to cut costs while retaining high-quality monitoring, investigate the best ways to implement automation to reduce errors, and research the most secure and worthwhile technologies which will benefit the security and function of your application.
Softjourn’s small team of experienced DevOps professionals brought special value to their in-house team by helping them cut costs, heighten security, and improve overall efficiency by choosing the most cost-efficient services and implementing our best time-tested practices.
The Solution
Since our DevOps team has specialized and long-term experience in system architecture, we have deep industry knowledge which allows us to select and utilize the best existing technologies.
Our team used the following technologies for our client to ensure the highest quality solutions and support:
- AWS
- Terraform
- Ansible
- AWS Lambda
- Instana
- Logz.io
- Softjourn’s Open-Source Monitoring System
Softjourn’s team uses AWS over other cloud providers whenever possible due to the quality services and features it provides. Our team exclusively uses AWS for many reasons: it’s user-friendly, flexible, secure, cost-effective, reliable, scalable and elastic, and highly performant.
We create our code in Terraform, which is an open-source, infrastructure as a code, software tool that enables us to safely and predictably create, change, and improve infrastructure.
For infrastructure configuration, we use Ansible to show us the difference between the desired state of code and the actual state of code we have.
Our DevOps team helps our web developers to build, test, and deploy their code. More often than not, we use serverless solutions, so we don’t need to support additional infrastructure layers.
We use AWS Lambda to run our functions and connect to any number of AWS services. This is a serverless computing service that can run code in response to predetermined events or conditions, and automatically manages all the computing resources required for those processes.
Once the code is deployed, our DevOps team and the client’s in-house team take three partially-overlapping 12-hour shifts to monitor the systems at all times. Our 24/7 monitoring and quick-response rate allow us to do as much as possible to fix issues before customers experience and report an error.
Our team monitors in-application metrics using an application performance software called Instana. This tool helps us analyze how the client’s app works, which can help them successfully scale their app over time. Instana allows us to pay special attention to the amount of in-app memory, times there is a high load, and other key application metrics to share with our client.
We use a logging system called logz.io to create alerts based on patterns we’ve found from past incidents that are added to our client’s auto-monitoring system. When there is an error, we receive a notification with the details of the root cause which helps us quickly resolve it.
We also utilize our own open-source system that our team has customized which lets us monitor the security and performance of the client’s applications.
Softjourn’s Problem-Solving Process
Our client had an issue with a third-party service that was breaking and becoming unresponsive during high loads. We worked with our developers to add more logging to our calls to the third-party service to better understand the issue. We discovered it was a particular AWS Lambda function that was failing for seemingly no good reason.
We decided to initiate a technical call with the third-party service, and it turned out that they have a rate limit on their API, so we were only allowed to make a certain number of requests per second.
This limit was inflexible on their side, so we introduced a function to retry our calls after a few seconds when the response from the third party is unsuccessful. This way, we mitigated the error for good. This is an issue that could go easily unnoticed or unsolved by a less experienced team.
The Benefits
Our experienced DevOps team brought many advantages to our clients, by reducing their expenses, ensuring greater security through multi-layer monitoring, and improving their overall efficiency with automation.
Cost Reduction
Our team investigates clients’ infrastructure expenses and works to reduce costs whenever possible, as long as it doesn’t affect the security or functionality of their systems.
We frequently check the number of databases and application servers running and analyze when the amount of spend is unnecessary, such as when test databases are running at times when they’re unneeded, like on the weekends.
We perform this analysis by checking how much CPU or memory the client’s system consumes among other performance characteristics to see whether we can scale down the quantity or size of application servers. We optimized the client’s spending by comparing and analyzing the load on their systems, as well as creating an algorithm that conserves resources during low load times.
We have one dedicated member on our team who monitors AWS usage and sees if this service consumes too many resources. Constant monitoring of the system load and implementing autoscaling helped our client reduce four times the amount of resources they were using on AWS.
Additionally, we consider the best ways of subscribing to needed services to reduce spending, rather than utilize more expensive on-demand services. For example, our team selected a three-year commitment with AWS, allowing our client to receive great service at an excellent price. However, we are careful about what services we subscribe to, and only select the ones we are confident we will use in the future.
Through all of these cost-saving measures, we helped the client reduce the price of using AWS by nearly 40%, equalling savings of over $2k per month or $25,000 per year.
Multi-Layer Monitoring
Our DevOps team uses multiple types of monitoring systems to guarantee that a variety of potential issues are covered. From analyzing the client’s application to errors in the system, we can analyze multiple aspects of our client’s systems and architecture.
Every day our team analyzes logs, monitors the systems, and solves errors during daily and weekly meetings. On our team, there is not one specific person who is responsible for a task. Instead, all of the tasks are shared across all team members so each person always has the knowledge, skills, and attention to fix any issue that arises.
Improved Efficiency due to Automation
We use automation to create handy alerts based on metrics we input. If a system metric is shown under or over a pre-determined threshold we receive a notification, which allows us to quickly inspect and solve an issue before it affects users.
We can check if the issue is on the DevOps side – memory, CPU, or access control – or on the developer’s side, such as a code problem.
We also practice continuous integration and delivery to automate the software development lifecycle, which improves the efficiency of our developers and allows them to get more done in less time.
Conclusion
With the help of Softjourn’s FinOps consulting, our client was able to save over $25,000 just this year and will continue to save thousands of dollars over time.
We were pleased to reduce the cost of AWS for our client, without compromising the security or efficiency of their systems.
Interested in expanding your DevOps team or looking to consult with our experts to see how you can cut costs?
Our team truly works for you and ensures that the tools, services, and practices we use will be high-quality and cost-effective. Please reach out to us to see how our solutions can help your business.