Building a SaaS application using the Twelve-Factor App methodology

15%

Increased in team productivity

99.99%

System Uptime and Redundant

100%

Development and Production parity
development iterations scaled

Scaling Enterprise Saas

Click here to download

Overview

One of our clients is a software-as-a-service (SaaS) startup that wanted to develop an enterprise application for managing utilities, bank statements, medical records, and tax papers. The client was aiming to create a platform that would enable users to access all of their important information in one secure place, from any location at any time.

The Business Need

When it came to building the new application, the client had two main priorities:

1. The system had to be a robust SaaS platform by following Twelve-Factor App methodology

2. The system had to be deployable in any cloud environment

Challenges

  • How to manage one codebase with multiple deployment
  • How can we explicitly declare and isolate dependencies
  • How can we manage backing servies as resources.
  • How can we manage application configuration.
  • How can we define build and run stages of multiple apps
  • How can we develop and execute stateless applications
  • How can we expose all application services over port.
  • How can we write application that can independently scale.
  • How can we make sure application startup fast and shutdown gracefully.
  • How can we manage development and production parity
  • How can we aggregate, store and search logs events
  • How can we automate admin processes.

Solution

  • Used GIT for managing code base per deployment
  • Used JFrog for managing external as well as internal dependencies
  • Used OS environment variable for storing config
  • Selected Backing services that share similar behavior on dev and prod
  • Used Atlassian Bamboo for CI/CD
  • Developed stateless services that can scale out
  • Exposed all services over ports
  • Utilized AWS Loadbalancer & Auto scaling group for concurrency
  • Make system start faster
  • Managed Dev and Prod Parity
  • Used Splunk Storm for log management
  • Utilized Flyway for database migration

Business Benefits

  • Deployable anywhere
  • Superior scalability
  • High resiliency
  • Easily maintainable system
  • Improved security and code practices
  • Automated and efficient operational tasks

Conclusion

Tenup Software Services has helped deliver a robust, cost-effective, and future-proof application that will empower our client to compete with the biggest players in its industry.

Despite having to change our mindset and development approach to adopt the Twelve-Factor App methodology, we were able to meet all of our client’s goals in record time. The successful outcome of the project made all the effort worthwhile.

Download Case Study
Contact us