Live data from Hacker News

Ask HN: Main things to consider when building an app for business/enterprise?

news.ycombinator.com

51–60 of 132 posts

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#51

I was heading tech and product of a SAAS software for ~15 months so writing this from that experience. - Who is the buyer? Typically they are not same as the user of the product so understand what they look for in similar products. - SSO, preferably SAML based. - As for security, take care of OWASP top-10 [1] and you should be covered for app-sec. - Implement RBAC. Make it easy to add/manage users for an admin-user.…

Disclosure: I work for an auth service vendor.

Great feedback about knowing who the buyer is. Lots of folks think about the user, but knowing the buyer (and they are usually not the same person) is critical too.

If you are a building a SaaS, I'd recommend outsourcing your auth, since that is both critical and undifferentiated functionality.

There are lots of solutions out there. FusionAuth is one option (I work there); here's our multi-tenant guide: https://fusionauth.io/docs/v1/tech/guides/multi-tenant .

There are of course other options too. Here are some I've heard of that seem like they fit your needs (offering some combination of RBAC, SSO, and multi-tenancy), but I'd suggest doing a spike:

* clerk.dev

* workos

* supertokens

* propelauth

You could also start off with an open source solution like devise/omniauth (if building on rails) or passport.js (if building on JS). I'd only go down this path if you are familiar with the tech, as it can be difficult to configure if it is your first time, and, again, this is critical but undifferentiated functionality.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#53

I was heading tech and product of a SAAS software for ~15 months so writing this from that experience. - Who is the buyer? Typically they are not same as the user of the product so understand what they look for in similar products. - SSO, preferably SAML based. - As for security, take care of OWASP top-10 [1] and you should be covered for app-sec. - Implement RBAC. Make it easy to add/manage users for an admin-user.…

Background: cofounded an enterprise saas company.

I like this coverage of tech, though it's missing soc2 which will be required. And 27001 eventually.

I disagree on making it easy for admins to add users. Just don't: rather, implement (a bit of) scim or jit user creation with the idp flows.

The big thing it's missing is sales. This software is sold not bought. In any sales process with 3 different constituencies (users who really don't matter much, a champion, and an economic buyer) you need talented sales people. Bluntly, the vast majority of b2b / midmarket or enterprise tech companies are dead without an exceptional salesperson as a founder. The reason is that you have to sell your first 10 deals while the software basically doesn't work.

Realistically, tech matters less than sales here. When you look at your risks, tech falls well below sales and execution risks, because you're highly unlikely to be building something that's never been built before. ie it's not like google, which basically was build a significantly better search engine using novel relevance tech. Almost all midmarket or enterprise saas products have no novel technology inside them. (Which is not to say that you don't have to build a high-quality implementation: you do. But "can we build this / can we make it work" is rarely a top risk.)

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#54
Separate your engineering brain from the other aspects of what you are trying to do.

If you are doing UI/UX worry only about what it should look like to be maximally pleasant to use, worry about how later.

If you are doing marketing/sales, worry only about what sells and what gets traction, not about what you want to or think you should be building.

It took me a long time to figure out I was sabotaging myself by thinking about implementation while making other decisions.

Being a dev is just a tool in your toolbox but you aren’t really a software engineer anymore so behave as such.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#55

Build and design for multi tenancy all the way down to your schema. Keep identity and login mechanism decoupled - plan to support multiple login mechanisms per user (email/password, SAML, OpenID Connect, Google) for a single identity and multiple authentication factors (TOTP, Duo, etc). Be very careful to about what you consider a verified user and how you verify email addresses. Use TLS even for your database connec…

As an alternative, if you containerize everything in the stack, you can simply spool up another seperate and isolated stack of containers for each given customer. Then it's also trivial if they want it 'on premise' somewhere or 'in the cloud'. No need to try and add complexity at the schema level and make a monolith support multiple tenants. Also, this list is quite literally supabase ( https://supabase.com/ ) - I ca…

This is absolutely the worse idea possible. I would never base my business on a technology that’s not widely used.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#56
Disclaimer: I work at AWS in ProServe all opinions are my own.

What I wouldn’t do if starting my own business unless I already knew AWS is use AWS or any other cloud provider except for using a simple VPS solution like Linode or AWS LightSail (a fixed cost VM).

I know the ins an outs of AWS well. But if I were doing a side project that wasn’t completely serverless - Lambda + DynamoDB + API Gateway[1], I would use Lightsail or another simple VPS solution and create a simple monolithic app using a framework I knew well.

[1] let me emphasize again that I’m not suggesting serverless unless you know it and I’m definitely not suggesting DDB unless you both know it’s limitations and have very well defined query patterns.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#57
You can wast a lot of time and money pursuing enterprisey features and miss the boat completely.

Focus on:

* Having a product that people want to buy. Most important thing in business is sales and it's close friend marketing. Worry about everything else after you have something people will buy.

* Make your software demo well. This is probably the most important thing you'll do. It will increase sales a lot, make marketing easier.

* Figure out where, how and who sells your software.

* Focus on making your app and company secure before you worry about theatrics that make compliance people happy. The hard part is securing the company.

* Make sure your customer data is only accessible by that customer. Leaks look bad, and so in your unit tests, make sure that there are a suite of tests that will find leaks where a developer got crossed up on keys.

* Invitation-style onboarding is fine. Not all vendors support SAML, and SSO is a nice to have.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#58

I was heading tech and product of a SAAS software for ~15 months so writing this from that experience. - Who is the buyer? Typically they are not same as the user of the product so understand what they look for in similar products. - SSO, preferably SAML based. - As for security, take care of OWASP top-10 [1] and you should be covered for app-sec. - Implement RBAC. Make it easy to add/manage users for an admin-user.…

Don't do soc just to do it. It's a lot of overhead if you don't need it, and your clients if they require it should give you a grace period.

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#59
Cold, logical advice, based on your questions: "don't do it."

It appears the things closest to your heart are technical issues. "[business questions] would also be really nice." Literally a last place afterthought.

That's not knocking you--there's absolutely nothing wrong with a technical view. But a successful business is primarily not about the technical issues. It's a people thing--customers, users, employees, suppliers. Case in point: a current thread on HN right now is how terrible SAP is. Technically terrible. As a business they're terrific. They know how what the important people issues are to them, and how to address them (i.e., how to sell to the decision makers, how to "impedence match" with their customer organizations)*. (And if you have no clue what I could possibly mean by "impedence match" then that's a hint.)

I think the odds are high you wouldn't, at this point, actually enjoy building a business. Pursue what it sounds like you're most interested in--building systems. For example, go ahead and create a POC for your idea. If possible, create some IP protections. Then expose it to the world as an example of your skills and abilities. Leverage that to get a gig in an interesting place, maybe as a founding engineer. Get exposure to the really important people and business aspects of a business. Become a team lead, manage a team, grow a team. Own a product, grow it. All of this doesn't necessarily take decades, but it won't be a year, either.

Basis for advice: Been there :) Started out as uber-geek, totally focused on the technical. Entrepreneur at very eary stage. System grand-slam technical success, business not so much. Despite being at the perfect opportunity point, product never got the traction and success it could have. Gradually, over the years, got into the people side and realized that's even more fun.

* [edit: Sorry, "impedence mismatch" is an engineering term (esp. electrical engineering). It describes the bad results you get when you connect two otherwise-good systems which have differing fundemantal properties. I will say that the comment is kind of pleasingly meta; its an excellent analogy (trust me!), but is totally inappropriate for an audience which is not familiar with the core term.]

Re: Ask HN: Main things to consider when building an app for business/enterprise?

#60

Build and design for multi tenancy all the way down to your schema. Keep identity and login mechanism decoupled - plan to support multiple login mechanisms per user (email/password, SAML, OpenID Connect, Google) for a single identity and multiple authentication factors (TOTP, Duo, etc). Be very careful to about what you consider a verified user and how you verify email addresses. Use TLS even for your database connec…

As an alternative, if you containerize everything in the stack, you can simply spool up another seperate and isolated stack of containers for each given customer. Then it's also trivial if they want it 'on premise' somewhere or 'in the cloud'. No need to try and add complexity at the schema level and make a monolith support multiple tenants. Also, this list is quite literally supabase ( https://supabase.com/ ) - I ca…

You can do this with containers, or, if the price point is right, with VMs for even more isolation.

There are levels of multi-tenancy:

* logical multi-tenancy, where isolation is enforced in code and the database (every table has a 'tenant id' key)

* container level multi-tenancy, where you run separate containers and possibly in different namespaces

* virtual machine multi-tenancy, where there are different VMs for each tenant and you can use network isolation as well (NACLs, security groups)

* hardware isolation, similar to virtual machine, but you use separate hardware. Hard to scale this with software, though using something like Equinix metal might work: https://www.equinix.com/products/digital-infrastructure-serv...

These each have different tradeoffs in upgradeability, operations cost and isolation.

Post reply on HN