IT Architectures may let you save $120k per year
Migrating from low code platforms to serverless computing
Two years ago, we started a legacy modernization and cost reduction program. We have achieved both goals through a complete architectural review. After two years, I’ll try to share my impressions.
Step back
A few years ago, my team adopted a powerful low code platform which we used to implement some interesting applications and projects. The aim was to reduce delivery times, introduce DevOps and helping to take the team to the Cloud. A very powerful platform with a lot of strengths, but with negative sides too: vendor lock-in and high costs to name just the two of them.
We had a very short time to market, but we didn’t get enough flexibility for desired customizations. We had a DevOps native infrastructure, but to be honest, we were already using Azure Devops in other projects. There were advantages, of course. And, at the same time, there was a poorly integrated and redundant environment that was increasing costs.
Cost reduction and cloud-native architectures
In this scenario, new strategies have come to reduce costs and increase cloud services adoption.
So, we defined an exit strategy to replace the low code platform with an architecture based on languages, frameworks and open standards. That had to become our reference architecture and had to allow us to create software with a high level of decoupling between components.
We have built generic and reusable services in order to easily meet future needs. And this turned into an economic advantage too. More: strong decoupling between the components helped the teamworking and kept costs and delivery times low.
Finally: we have moved from an infrastructural model to serverless computing by choosing, where possible, AWS managed services (Lambda, API Gateway, Fargate, RDS, Cognito, S3, SNS, SES, etc.). In this way, we have natively got features like autoscaling and high availability and a pay-per-use billing model that helped us to be charged only for what we really used.
A general description of the architecture can be found at this address.
In a nutshell, we have:
领英推荐
Considerations after two years?
We currently have four applications in production, and for each application we pay less than $40 per month on average. The actual cost ranges between $30 and $45 per month and includes both infrastructure and computing costs. And the effective cost depends on the use of the application by end users.
In the worst case ($45 per month), the annual cost for an application would be around $540 and four applications would cost $2,200 per year.
We used to spend $120k per year for the same applications, so we are currently saving around $ 118k every year. Not so bad, isn’t it? Yes: every new application would result in a cost increase?of $540 per year. But, on the other hand, the low-code platform we replaced had a sizing that certainly didn’t let us create an infinite number of applications.
Considering a cost of $540 per year for each application, we could build more than 200 applications staying on the same budget! Far more than the low-code platform allowed.
Some insights about costs
Most of the cost is given by the data layer. RDS service is about 70% of the total. Infrastructure and computing costs are about 30% and are around ten dollars a month for each application. Not bad at all, since these applications, relying on managed services, are highly available and autoscaling: we have never had downtime periods over the last year, and we've got strong business continuity without having to pay for extra costs at design time.
Of course, the billing model affects costs: little-used applications will cost lower than highly-used applications according to a pay-per-use logic. But this is valid in general: even in an on-premise or iaas infrastructure, applications with greater computational loads need more resources and will result in higher costs.
Conclusions
In conclusion: in our case, we have gone from an annual expense of 120k dollars to 2200 dollars to run the same applications, thus obtaining a considerable saving of about 118k dollars every year. More: we abandoned a proprietary platform in favor of open languages and technologies widely supported by the community. And this is an even more important advantage than economic savings because it gives us back the "ownership" of the application logic.