3 ms·
Define "enterprise quality"? A lot of people use the term to describe a "web scale" type of application, but in my experience, "enterprise quality" requires le
by bmelton 13y ago
Define "enterprise quality"? A lot of people use the term to describe a "web scale" type of application, but in my experience, "enterprise quality" requires less scaling and more enterprisey features, like log auditing, AD/LDAP authentication, etc.
As for a book on the subject, I don't know of any off the top of my head, but there are resources aplenty online.
I would suggest that if you're leaning towards the latter definition of 'Enterprise', your Wordpress experience isn't going to factor in very much. That said, for the most part, Enterprise web apps mostly tend to be CRUD-based applications with a little bit of specialized business logic -- a framework like Django or Rails is probably ideal for this, though bear in mind, that limits your target audience -- which brings up another question -- who are you building this for? Are you wanting to sell it, or is it for your current employer?
If the former, you'll have to evaluate your customer size. Enterprise customers aren slightly harder to sell to if your application doesn't conform to their application stack -- this means eschewing Django or Rails for Java, in a lot of cases.
If the answer is the latter though, then you should find out what languages and technologies your company allows, and target that as your starting point -- then look for "building applications with insert language here" type of books.
All in all, good luck.
- lettergram 13y agoI suppose it is more "web scale," it is a website I am building for my own product(s). We are now looking to create a form of a book club online. However, you can imagine we have 40 million or so possible books, and hope to have a few hundred to thousand(s) of users given time. That being said we need it to scale, and be secure. We both have some Rails experience, but we are willing to learn just about what ever.
- bmelton 13y agoI'm not a Rails guru, so hopefully somebody else will interject some best practices on security. In the interim, all I can say is don't worry too much about scaling. I mean, obviously, don't make it unscalable on purpose, but your most important priority is to launch a product that works. Your first 100 users or so won't notice poor scalability, and Rails is easy enough to scale wider at the app server that you should be able to get to profitability before having to worry too much about it. On the other end, if you spend three times longer building a scalable application out of the gate and don't get any customers, or lose first-mover advantage, then all that work was a waste of time, when you could have been launched and billing well before. ActiveRecord isn't notoriously efficient, but so long as appropriate indexes are in place on the database, tends of millions of records shouldn't cause too much of a problem, unless you're putting an inordinate amount of those records on each page, or have odd query patterns. The one good bit of scalability advice I can give you for a large dataset like that is "Don't use the database for searching data." It took me years to learn that one, which is sad, because SOLR is so easy to drop into a project, and is so well suited to the task that it's just silly to not use it. The exact usage patterns of when to query and when to search will depend on the application, but use SOLR, or something like it, where it makes sense to do so. Beyond that, make a product that works, and isn't too ugly. Faster is better than slow, so make it snappy if you can, but ultimately, if you offer value, save someone time or money, you'll have a product that should be able to be marketed into sales.