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
Twelve-Factor compliant SaaS Application Development

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

Here are some real issues we faced during SaaS application development using twelve-factor app methodology:

  • 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

We combined twelve-factor app methodology with SaaS application development best practices to build a robust product.

  • 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

Our SaaS application development efforts provided the following advantages to our client:

  • Deployable anywhere
  • Superior scalability
  • High resiliency
  • Easily maintainable system
  • Improved security and code practices
  • Automated and efficient operational tasks
Time-bound SaaS Application Development

Conclusion

Tenup Software Services undertook development of a robust, cost-effective, and future-proof SaaS application that empowered 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