Choosing a SaaS Application Development Platform
If you answered all the key questions in our last post and you’re committing to developing a SaaS product (to take over your market!), you’ll also want to evaluate technology stacks. Perhaps you have in-house expertise in something, but you’ll want to verify that it’s feasible for SaaS (no, Microsoft Access is probably not a good idea…). Bear in mind that you’ll be married to this platform for 5-10 years. You don’t want to get a year into development and find you’ve made a terrible choice and must start over to reach your goals. With that foundation, we’ll outline key factors you should address when choosing the best framework for your product. Before you even start, you have hundreds programming languages to choose from, a number that grows if you include frameworks for individual languages. Note, using a *popular* framework doesn’t necessarily mean that your SaaS app will work well. One size never fits all. Here are some ideas to help you choose a viable SaaS application development platform.
When weighing your tech stack options, you should evaluate five essential areas.
1. Can We Buy It or Should We Build It?
Over the years, we’ve worked with many “NIH” companies – “Not Invented Here”. They prefer writing their own version of everything, even though there are inexpensive commercial options available. In many cases, the off-the-shelf solutions are customizable, well-supported, and cost-effective. So before you roll your own, look at what the market already offers, from a system and component level. If you were writing a CRM, for example, there’s an entire ecosystem around Salesforce. You could build a customized environment on their globally-renowned platform, or you could write a CRM from scratch. If you need to include a chatbot in your application, you could choose from a vast array of existing tools, or you could write your own chatbot using smart APIs from Google. Both cases reveal business decisions you’ll live with for a while. Build vs. Buy decisions should be based on gaining a competitive advantage in SaaS. If you can create something better/faster/cheaper, build. If you can’t, look for off-the-shelf alternatives you can live with.
2. Will the App Run in the Cloud or On-Premise?
Building in the cloud, from our perspective, should be the default choice. In some cases, however, security requires building on-premise solutions. If you’re not sure whether your SaaS system should reside in the cloud, ask cloud solution vendors what they suggest. Experienced cloud companies have a good perspective on security — it comes with the job — and can help you determine your best destination. Working in the cloud affords a choice of whose cloud — AWS, Microsoft Azure, Google, or smaller (ha!) vendors like IBM and Dell. Yet another factor in cloud applications, one with long-ranging implications, is the ability to develop serverless applications. Microservice and FaaS (functions as a service) architectures are the next big thing (or the current big thing) in software development…
3. What Database(s) Do We Need?
Your SaaS application will require a database. You have hundreds of options, including traditional SQL databases and modern NoSQL databases. SQL databases define relationships using structured tables, where you can add, edit, delete, and search for records. SQL relational databases include MySQL, MariaDB, Microsoft SQL Server, Oracle, and PostgreSQL. NoSQL databases are not relational and have no fixed schema. NoSQL (“Not Only SQL” or “Not SQL”) includes a variety of database technologies that can store structured, semi-structured, and unstructured data. It is often used for big data and real-time web applications. NoSQL databases include MongoDB, Redis, Amazon DynamoDB, Couch base, and Cassandra. SQL is a good choice for applications that need pre-defined structures and set schemas, which ensures more consistency (e.g., accounting). NoSQL is suitable for rapidly-growing applications with large data sets with loosely-defined structure (e.g., sensors).
4. What Programming Language(s) Will Work Best for 3-5 Years?
5. Are There Special Frameworks for the Language(s)?
6. Should We Deploy on Windows or Linux?
The Importance of Choosing the Right SaaS Application Development Platform
Building a cloud application, especially in today’s rapidly changing digital ecosystem, is not a set it and forget it operation. Long-term thinking is essential. Foundational decisions will be with you for years, and every day sets the foundation further into stone. You must build, listen, and adapt to grow a SaaS business. Some of the core benefits offered by SaaS platforms are frequent updates, feature integrations, and support. If you or your team aren’t prepared for or excited about making a long-term and regular commitment to product development and maintenance, it may be a good idea to consult with and hire an experienced team of SaaS developers. An outsourcing company will be able to offer industry insights and advice tailored to your business needs. If you do need help, work with someone to evaluate these development platform questions. Whether you need outside help or not, do yourself the favor of weighing each decision carefully.