Building technology for enterprises is no small feat. Not only does enterprise software have to be extensible and robust, it also needs to have certain key features that enterprises demand. This is because most enterprise applications do not work in a silo, but rather plug into a large network of existing tools. The success of the application often depends directly on how quickly an enterprise can adopt it.
In reality, your application will need to satisfy a myriad of requirements from portability to security and recoverability. There's a lot of work and research to do and companies building enterprise technology often report cost overruns of nearly 66% With so many things to build, where do you start?
Here are five important pieces of enterprise functionality that should be a part of your developer tools, APIs, and services today.
Enterprises use hundreds of applications on a daily basis – which means that employees need to remember credentials to hundreds of applications as well. Fortunately, with Single Sign-On, application authentication happens at a centralized location, and employees can avoid having to remember dozens or passwords.
A popular Single Sign-On provider is Active Directory (AD) by Microsoft. With an Active Directory integration, users can log in to your application with their Microsoft credentials.
An alternative to AD is SAML. Security Assertion Markup Language (SAML) is an open standard that identity providers use to authenticate login requests from service providers. It behaves similarly to OAuth but, importantly, authenticates users as well. Your application just has to redirect users to a different page for them to be authenticated and then they will be sent right back.
You might be wondering if AD is just another OAuth implementation – not exactly! With OAuth, you can only 'authenticate' users, not authorize their access to the application.
Popular implementations of OAuth involve buttons like, "Login with Facebook" or "Sign up with Google"; however, this only authenticates this user. Meaning, it only verifies whether the user has valid Facebook or Google credentials. With AD, you also get access to user attributes like group name, active state and more.
The list of AD attributes is very long. However, your application should aim at making use of at least the most important ones. The General Tab of AD contains the following,
- First Name: John
- Last Name: Smith
- Common Name: John Smith
- Description: Sales Manager
- Telephone Number: 949-555-1234
- E-mail-Addresses: JSmith@domain.com
- Office: London Office
For access control, the most important attribute is the Group Tab. You can use this to figure out the role of the user, whether they are an admin level user or just a member.
Role-Based Access Control
Role-Based Access Control (RBAC) systems are essential to enterprises. With dozens of departments and complex organizational structures, enterprise admins need finer control of applications and what users can access. They need a single point of control over access roles and permissions. A one-size-fits-all approach doesn’t work in this scenario since each enterprise works differently.
With an RBAC in place, IT administrators can create specific roles and assign privileges to it so as to ensure controlled access to services and applications. In case of any breach of security, or termination of service, IT administrators simply have to go to their RABC system and revoke access permissions directly at the source.
When defining access rules in an RBAC, the following three conventions are important,
- Subject: A person or automated agent
- Role: Job function or title which defines an authority level
- Permissions: An approval of a mode of access to a resource
Users can be granted pre-set permissions or an ad hoc, temporary set of permissions. At any point of time, access can be revoked.
Further, with AD in place, your application can communicate with RBAC more efficiently. This means that as an application developer, you will not have to modify access control on your service to match what each enterprise follows. Rather, once you provide an AD integration, your application automatically complies with all access control regulations.
Data Protection and Compliance
Enterprises have to comply with various laws based on jurisdiction and industry, and the systems they use need to make this easy to do. Some regulations, such as the USA's Sarbanes-Oxley Act 2002 and the Health Insurance Portability and Accountability Act 1996 (HIPAA) mandate retaining data for specific periods, while others such as the EU's General Data Protection Regulation (GDPR) require enterprises to delete certain data on request.
Enterprise software therefore needs a range of data protection, audit, and compliance tools to help them manage their responsibilities. Happily, there are a variety of options you can use to add these capabilities to your software.
If the enterprise allows for cloud storage, data storage providers such as Amazon Web Services S3 or Google Cloud Storage have configurable data retention, backup and disaster recovery policies built in. Adding support for cloud storage can make your software more attractive to enterprise customers.
For organizations that prefer to keep their data on-site, enterprise storage infrastructure vendors have features and functions you can address via their API. By supporting common enterprise systems from vendors such as VMware, Dell EMC, HPE, Pure Storage, and Veeam you can help address concerns that enterprise customers may have about using your software.
You could also consider building an enterprise compliance tool ready for others to use, and then provide it for sale via Manifold's marketplace. Composing an application from modular components makes building enterprise ready apps much easier than it used to be, and listing them in a marketplace makes it easier for potential customers to find them.
Customer Success and Support
While customer support is important for most businesses, for enterprises, the ability to provide a robust and capable customer support team often makes or breaks the deal. In fact there even lies a huge opportunity in this space. Take the case of RedHat – they essentially spun up a business using open-source Linux and providing incredible tech support!
Many Software-as-a-Service (SaaS) businesses follow suit as well. Often SaaS products have an "Enterprise" price option that offers 24x7 customer support, hands-on training and more.
However, hiring a customer support team could be expensive for many businesses. Fortunately, there are ways to help out your customers other than redirecting them to a phone line. A great way to provide support is using an easy ticketing software like Zendesk, live chat support software like Intercom, and friendly FAQ pages.
Billing Reporting and Integration
The last thing you want to do is get stuck with an enterprise’s long cycle of payments and the dreaded finance team. Raising invoices manually and following up is such a pain!
Ensure that your application has multiple payment options, configurable reports, and integrations. All this has to tie into your robust customer support. Further, if you are going after the government sector, you might need to consider things such as your support team’s ability to access accounts and data. This is primarily because access to sensitive government data requires varying levels of permissions to be granted. Though you may “own” the application, you will not “own” the data that it reads or creates.
As your business grows, ‘a one-price-for-all option’ might not scale. Especially with the enterprise. You will have to accommodate complex pricing structures, discounts, collections and more.
Support for offline payment options would also be a great addition. Enterprises often expect specific invoices to be raised, checks to be collected, or for you to haggle with the finance team.
Of course, building all this means that you have to divert your vision from your core product to admin tasks. Fortunately, Manifold helps you stay focused and build functional aspects of your business with add-ons. You can add-on features like user provisioning, billing engines, analytics - everything you need to make your application enterprise ready!
Enterprises are large, they move slowly and are incredibly bureaucratic. Your goal here is to reduce further tensions as much as possible. Most enterprise requirements are centered around access roles, data privacy, and integrations. If you provide that, you’re one step closer to closing that lucrative deal!
At the end of the day, all enterprises need to know is that if something goes wrong, there's a reliable and quick fix. These essential features they require might be boring or mundane to build – they might even seem unnecessary – but it makes a world of difference when you have them.
<div class="blog-cta"><h3 class="blog-cta-headline">Sell APIs to developers in our network of cloud platforms.</h3><a class="button button-brand" href="/providers"><div class="button-text">Get started</div><img src="//assets.website-files.com/5d5acff74a2e86484bb721fc/5d7bbab3af998bd22c394550_arrow_right.svg" alt="" class="icon"></a></div>