SitePoint Sponsor

User Tag List

Results 1 to 5 of 5
  1. #1
    SitePoint Member
    Join Date
    Nov 2005
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    social software: J2EE, ASP.NET or scripting?

    Hello,

    We're planning to create a web based service for a community of users, allowing users to perform some social activities on the web. An example of such services is flickr.com.

    The estimated number of page clicks when the service becomes popular is 500,000 per month. After this, more activities will be added and the estimated number of page clicks will become 2 mln per month. There are also peaks of user activity when there are much more users coming than on average.

    Can you provide comments on the following plan?

    J2EE is chosen because of the performance reason, and because open source tools and servers are avaialble. There is probably no way to pick some scripting language instead because there might be hundreds of users visiting at the same time. Is this right? Also, what would be a reason to choose ASP.NET instead of Java?

    The database server (in the final version) will be MySQL certified, to try - MySQL free. Is this a good choice?

    Before the service becomes popular (or doesn't) we want to get shared hosting that offers a Java server and MySQL. It's something like $30-70/month. JVM heap size offered is 128 Mb, traffic 20-100 Gb/month. What argument can be against using such hosting in the initial stage?

    After the number of visitors grows dramatically, we want to rent a dedicated server with all servers and stuff preinstalled, that comes to $400-500/month+ extras. After that we can buy our own server.

    Can you provide some extra advice of comment?

    Thanks to everyone

  2. #2
    SitePoint Wizard gold trophysilver trophybronze trophy dc dalton's Avatar
    Join Date
    Nov 2004
    Location
    Right behind you, watching, always watching.
    Posts
    5,431
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think Java is probably a good choice for something like this although I'm not sure you are going to need an Enterprise server. Most good servlet engines already have all the J2EE goodies included without all the J2EE bloat.

    As far as MySQL? Couldn't DISAGREE any stronger ..... no way will MySQL be able to keep up with the kind of application you are describing. I would highly recommend Postresql, again free and open source but at least 100x more powerful that MySQL.

    Buiding it on a shared plan .... might have some problems there. Im thinking you are probably going to have to start on a dedicated plan (small one) and then upgrade as needed until you can finally buy your own boxes and co-locate.

    Make darn sure you have a ROCK SOLID operating system too .... I'd suggest a good Fedora core Linux..

    Everyone knows I'm not a big windows fan so I don't have too much to say about using .NET. You'll have to run it on a Windows machine which will probably end up costing you more than a Linux box. I will also say side by side, for the kind of app you are talking about I think you are going to be a lot happier with the stability of Linux (security wise too)

  3. #3
    SitePoint Guru
    Join Date
    Dec 2003
    Location
    oz
    Posts
    819
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by crazzycloe
    J2EE is chosen because of the performance reason
    What are you basing this on, and what are you comparing it to?
    I guess my real question is - are you pulling this out of the air or basing it on something?
    Also, is it because you (or someone you know) knows some Java and wants to use that becuase that's what is farmilar?

    Quote Originally Posted by crazzycloe
    There is probably no way to pick some scripting language instead because there might be hundreds of users visiting at the same time. Is this right?
    What on earth are you talking about?

    Quote Originally Posted by crazzycloe
    Also, what would be a reason to choose ASP.NET instead of Java?
    These are all technical issues, they really have no place in the business forum.
    Having said that, if you post it in the Java forum, they will say Java is best and flame the others. Similarly other languages/platforms.
    I would say the main reason to choose J2EE or .Net would be because it's already popular and would be easier to find employee's to work on it. I know it sounds like a crap reason - to use it because it's popular - but if you choose something less popular, it's extremely difficult to find good people to work on it. I think they're both fine and can do it, as long as you have a good technical lead with plenty of experience (which is damn hard to find and you better be willing to pay what they're worth!)

    Quote Originally Posted by crazzycloe
    The database server (in the final version) will be MySQL certified, to try - MySQL free. Is this a good choice?
    No, that is definitely not a good choice.
    If you want free, go for Postgres. It's light years ahead of MySql.
    Having said that, I think postgres is far less popular than all the dbms's in it's league, so will be much harder to find people who are great at using it, for the same reason above.
    I would question why you don't want to pay anything? It will be much more costly when it grows and you are tied to a cr*p dbms. Think total cost, not right-now cost.

    Quote Originally Posted by crazzycloe
    Before the service becomes popular (or doesn't) we want to get shared hosting that offers a Java server and MySQL. It's something like $30-70/month. JVM heap size offered is 128 Mb, traffic 20-100 Gb/month. What argument can be against using such hosting in the initial stage?
    You really need to use options thinking with all of these decisions. It's not a good idea to think of reasons to agree with your gut feeling. Write up advantages and disadvantages of every option and only *then* decide. I would suggest doing this with other stakeholders also to make sure you get all major pros and cons before deciding.

    Regards,
    Eli

  4. #4
    SitePoint Member
    Join Date
    Nov 2005
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanx guys!

    Quote Originally Posted by dc dalton

    Buiding it on a shared plan .... might have some problems there. Im thinking you are probably going to have to start on a dedicated plan (small one) and then upgrade as needed until you can finally buy your own boxes and co-locate.
    There is a shared machine but with a dedicated JVM. Is this what you mean about a "dedicated plan"? The disadvantage of it is that it's not configurable, 128 Mb JVM heap size and 100 Gb traffic per month is the maximum we can get.

    lazy_yogi, we won't have money till the service becomes popular, that's what this plan is about. If we did have money, we wouldn't hesitate to purchase a a server all stuffed with commercial software, a team of developers and a soccer team if we wish.

  5. #5
    SitePoint Guru
    Join Date
    Dec 2003
    Location
    oz
    Posts
    819
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well, in that case, you want to make sure you can switch databases at a later stage by having a data layer there. If you want the option to also change platforms, you need will need to design the system in a platform-independant service based way - ie web services. Actually, you should really do this anyway, but in this situation it looks like you really can't do without it.

    If cheap is what you're looking for, I'd start with php/mysql and make sure the overall system design is not done by a beginner. Plan for the ability to move to another DBMS when you have the money, and by making it service based, if you need to later change to another platform for any reason such as scalabilty, you can change a piece at a time.

    That's super cheap, and allows the flexibility to scale as needed. Be very careful who you get though to design it, because if it isn't built with these requirements, you're gonna have problems later on.

    Cheers,
    Eli


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •