Jodo’s Infrastructure Revamp Journey: From 2021 to 2024 | Jodo Fees, done with ease!

Jodo's Infrastructure Revamp Journey: From 2021 to 2024

Our journey from our beginnings in 2021 to the infrastructure that we have today.

· 4 mins read
Generated using DALL-E
Generated using DALL-E

In June 2024, we at Jodo embarked on a mission to revamp our infrastructure. This post highlights our journey from our humble beginnings to the robust infrastructure we have today.

2021: Manual Operations and Process Formation

Jodo’s operations were predominantly manual, a common scenario for startups focusing on achieving Product-Market Fit (PMF). The goal during this period was to align the team around PMF while maintaining operational agility. However, as our services gained traction, the necessity for structured processes around development workflows became evident.

The main objective was to streamline our releases to be quick, reliable, and of high quality. We took baby steps to ensure no drastic changes would disrupt our progress. We identified below challenges-

  • Inefficient release processes
  • Lack of standardized testing environments
  • Insufficient focus on code quality and runtime monitoring

Here is what our initial solution to these problems were-

  • Containers: We adopted containerization to ensure consistency across development, testing, and production environments. According to research by IBM, containerized applications are 30% more efficient in terms of deployment speed and resource utilization.
  • Staging Environment: Implementing a staging environment allowed for thorough testing before production releases. Studies indicate that staging environments can reduce production bugs by up to 40%.
  • Code Quality and Monitoring Tools: Pre-commit hooks to identify code smells and Sentry for error monitoring, which significantly improved our ability to detect and resolve issues early.

2022-23: Infrastructure as Code

Mid-2022 to 2023: Our next phase involved migrating to AWS and adopting Infrastructure as Code (IaC) using Terraform. The need of the hour was to minimise human errors and keep the stack consistent. Our previous efforts, such as streamlining webhook handling, were part of this approach.

The key changes were leveraging AWS’s scalable and reliable infrastructure and managing our resources with Terraform allowed for version control and automated deployments, enhancing consistency and repeatability.

During this phase we also adopted some of the tools best at its job, for example-

  • SonarQube: For continuous code quality checks, helping in maintaining high standards and reducing technical debt.
  • Sentry: For real-time error tracking and monitoring, which led to a 30% reduction in mean time to resolution (MTTR).
  • SumoLogic: For centralized logging and analytics, providing deep insights into system performance and security.

Before relying on these tools we also did some extensive research on picking these up. For example we tried using ELK before going for SumoLogic. Many factors like cost, performance and reliability were major contributors to take these calls.

2024: Cost Efficiency and Scalability

With clear objectives, our primary focus areas were cost efficiency and scalability. These goals are interconnected, as effective scalability can lead to cost savings. To achieve cost efficiency, we approached the challenge from multiple angles.

Service-Level Optimisation

Continuous improvement of services to require fewer resources. This is an ongoing process tied to feature updates and changes. Overtime we have added and build toolings to alert us on things like query time, uptime and use grafana to monitor these and optimise these as we evolve.

Physical Resource Optimisation

We focused on optimising physical resources first, based on our experiments and research below two actions were needed highest attention.

Switching to ARM-Based Machines

Moving from Intel-based machines to ARM-based ones, which are more cost-effective and offer better performance. Our benchmarks indicated that ARM-based machines offered a 50% cost reduction and improved performance compared to Intel-based instances. Research from AWS supports these findings, showing up to 40% cost savings and enhanced energy efficiency with ARM architecture.

Note: Switching to ARM-based machines will necessitate changes in your CI/CD pipelines. A detailed post on this will be coming shortly.

Dynamic Scaling

Implementing strategies to scale resources up and down based on demand, ensuring we only pay for what we use when we need it.

By dynamically managing our resources, we optimise costs without compromising on performance or reliability. This approach allows us to respond to demand fluctuations efficiently.

Standard Architecture Across Services

Our primary goals were cost optimization and service standardization. To achieve this, we emphasized dynamic scaling and transitioning to ARM-based machines. This year, we took our “Infrastructure as Code” from 2023 to the next level by unifying standard architecture across services.

  • Migrating to Graviton-Based Machines: We moved all our existing services to Graviton-based machines, which are ARM-based, to benefit from cost savings and improved performance.
  • Automated Scaling: We enhanced all services to scale automatically based on demand, ensuring efficient resource utilization.
  • Centralized Gateway: We implemented a centralized gateway to ensure that authorization is managed centrally, enhancing security and simplifying management.
  • Streamlined Deployment Process: We streamlined our deployment process across environments, including staging and production, ensuring smoother and more reliable deployments.
  • Platform Consistency: We made platform changes to ensure consistency across all services, which helps in maintaining uniform standards and simplifies maintenance and updates.

Conclusion

Our journey from a manual, startup-like operation in 2021 to a streamlined, scalable, and cost-effective infrastructure in 2024 has been marked by strategic, incremental improvements. The dedication to enhancing our infrastructure reflects our commitment to delivering reliable and high-quality services to our users.

As we continue to innovate and optimise, Jodo remains poised to meet the evolving needs of our customers, ensuring that our infrastructure supports our growth and success for years to come.

Stay Updated with Our Latest Posts!

Previous: Cash to Digital Payments to Subscriptions: A Reflection on India Payments! 🚀