The Key Steps to a Successful SaaS Enterprise System
Building SaaS Enterprise level applications requires a detailed approach for success, and for many, the blueprint is missing. Our team has years of experience working with some of the largest companies in their industries. Back office clearing transactions for Wells Fargo. Order Management Systems for Best Buy. Invoicing and Purchasing for the United States Postal Service. Each experience has helped us shape our platform and develop a solid plan for building an enterprise application. After handling billions of dollars in processed transactions, we are uniquely positioned to implement large-scale solutions and have identified a few key steps that drive success.
The key to a successful SaaS enterprise system is a strong foundation in the pillars of enterprise system design. Those pillars are security, infrastructure, flexibility, user management, and logging/audit. Each pillar deserves more research to truly appreciate and understand, and it’s recommended that you continue your own research into these ideas and concepts. Below are a few steps that will help get you started.
First and foremost is Security. Each year we undergo a PCI Service Level 1 audit provided by A-lign Security to confirm we are complying with PCI security standards as set forth by the PCI Security Standards Council. We keep security at the top of ours minds every day because of the importance it has in our line of business. We also hire ethical hackers that help us ensure that we’ve hit the mark in implementing our security. A single breach can have a massive impact on your business, and when payments are the backbone of your business, security becomes the number one priority.
Infrastructure – I’ve seen awesome systems work flawlessly when they are released; then add a couple thousand users and the system becomes unsustainable. This is because it was poorly written and doesn’t have the hardware to support the growth or ability to recover from hardware failures. The infrastructure decisions you make when designing your system can set you up for success or failure. We chose to go with Amazon around the same time most of the major technology companies were also moving in that direction. It’s great to get to take advantage of the same feature sets that much larger companies were pushing Amazon to figure out. It is also about focusing on what you are good at. Amazon’s great at Infrastructure. We are great at writing code.
We use many of Amazon’s products, and I’ll call out a few of them here. Elastic Load Balancing. ELB automatically distributes incoming application traffic across multiple servers to provide greater levels of fault tolerance across your application. Auto Scaling groups allow us to add and remove servers based on demand and can decrease capacity during lulls in order to reduce infrastructure costs.
Configuration Flexibility – SaaS applications need to perform as well for the mom and pop type operation as the largest operation in the world. Take Salesforce for example. Delta uses Salesforce to help its sales team communicate and collaborate with agencies and corporate partners around the world. Passport uses Salesforce for the same thing on a much smaller scale with far fewer complexities than Delta. Chicago Parking Meters, one of our larger customers, uses the same system that Willows Dream, a single parking lot in Asheville, NC, uses. The system needs to be able to support some of the most complex requirements for larger customers, but at the same time be able to support an installation that we want setup in an hour. It’s hard for me to say the number of configuration options that we’ve built for customers, but we are approaching the tens of thousands of different ways our system can run. Between rates, payment options, and full white-label capabilities, our systems can run effectively for any customer you throw at it.
User management – The ability to create and manage users in your system is extremely important. The company that ends up implementing your system doesn’t want to rely on you to create users, or roles for that matter. They need to have the ability to create and design the users and groups that are necessary to run their business. Going back to the mom and pop shop: this shop might have 2 users to a city with 200 officers, two or three finance and accounting professionals, 10 customer support reps, and a couple of operations managers. It’s important that they can manage this on their time.
The implementation of user management needs to be created in such a way that permissions can be granted to roles; and roles to users. This common pattern is found in most enterprise applications, which gives the flexibility to create very specific roles that can provide the functionality they need to get the job done. This satisfies business requirements around separation of duties and data access, which can be a deal breaker for winning business from sophisticated organizations.
Logging and Audit – For every permission changed, every account requested in our system saves an audit an audit entry for it. In our business, it’s important to know who changed a rate, when an event was created, when a transaction was voided, or even who searched for a customer on a particular license plate. In every business, it’s important to have an auditable trail of everything that happens in the system. Every action taken by a user in the system needs to be logged so that it can be reported on.
Building SaaS Enterprise systems isn’t all about the application features, it’s about supporting the organizations you serve.