Results 1 to 12 of 12
  1. #1
    Join Date
    Apr 2004
    Location
    lost
    Posts
    20

    Advice needed on infrastructure for hosting our app

    Hi all! This is my first post here so I'll welcome myself

    I work for a startup company with a very promising web based product soon to be launched. We're currently looking for hosting, and we mostly consider the colocation scenario. Due to the small size, I'm the all-round in charge of the tech aspects kind of guy, my main task is software developper but I also handle the infrastructure decisions like which hardware and technologies to go for. I like to seek other people's opinions a whole lot and I believe you guys will be of great help!

    Here's a background on the application we'll need to run :
    -Basicly its an online healthcare info system, partly similar to a search engine. We'll sell monthly subscriptions, and serve graphs and short summaries of medical researches. No sensible information or lives will depend on the system, just basicly decision helping for healtcare people kinda stuff.
    -All of our app is mostly OS independent. We chosed for linux for now, but would be opened to suggestions.
    -A java based jsp/servlet web application that is basicly a website with lots of business logic code to generate graphs and other information gathering stuff from a database. Currently we use Tomcat for our servlet container and consider moving to JBoss or some other application server. Java applications eat a lot of memory and ours is no exception.
    -A special object-oriented database server/system called FastObjects... Basicly I would expect it to run just like other high-end rdbms systems like Oracle or MSSQL. The database in this case is read-only and is about no more than 2 gigs of size. It supports caching and clustering features (we do not own licenses for those now but support for this in the hardware should be considered). The cost of additional server cpu licenses is fairly expensive and we have one license for now.
    -A php/mysql based customer management system. Basicly it will handle payments and stuff like that, the size shouldnt be too big.

    Since our product isnt launched, we expect no more than perhaps a thousand customers for first year, with maybe a hundred to two hundred concurrent at all times.

    Services we would like :
    -Comfortable bandwith. Only standard html pages will be accessed (roughly 40k per page). Also a backend access to upload our database daily to the remote hosting (the data entry will be done locally in our offices).
    -Backup services (mainly for our mysql db, but prefferably everything)
    -failure resistent / backup hardware if possible
    -remote & root access to all our stuff
    -some kind of minimum maintenance plan. Fully managed stuff usually costs a whole lot...
    -Ability to send weekly / support emails to our clients will be needed.

    Finally, my questions :
    -What kind of hardware/infrastructure would you guys recommend for this? Considering the load I described above, how many machines would we require?
    -Should we rent the hardware or buy it?
    -If we buy, should we buy hardware appart and bring it to the hosting company ourselves instead of buying it from them (which looks pricier)?
    -Is it a good idea to have physical access to our servers or it doesnt matter?

    Thanks all, I know this is a long post but we really need the help

  2. #2
    Join Date
    Feb 2004
    Location
    Louisville, Kentucky
    Posts
    1,083
    I've given your post a quick read, and while I won't go near the hardware recommendations for your JSP applications, I think I can provide a few constructive remarks.

    First of all, even if your hosting company offers backup service, be sure to do your own backups at regular intervals. It's great if your host can backup and restore for you; but your data is your livelyhood, and you should maintain your own backups just in case something happens to your hosting company's copy, your relationship to the hosting company, some nasty hacking incident, etc.

    You mention failure resistant / backup hardware. I've had a good deal of experience in design and implementation of clustered web applications, and I can tell you that your developers (you?) should think about this from the beginning. Use cookies when possible, have a backup option (mysql/files/etc) if you care about browsers with cookies disabled (damn users!) If you can distribute your application on independent (mostly) servers, you'll have no need for boxes with redundant power, disks, and so on; and you will scale horizontally with ease.

    Physical access is always a plus. If you can find a provider near you who doesn't charge a large premium, and provides adaquate service, that's great. If not, look for features like KVM-over-IP or serial console access for those "I fudged the kernel upgrade" emergencies that happen from time to time.

    You ask about buying or renting hardware. This is a tough question. From a data security perspective, your legal position is best when you own or lease the hardware with a fixed term, instead of something that your hosting company could terminate early for any reason. Also, while you may find hosts who offer RAID storage in dedicated boxes, you probably won't find redundant power supplies as easily, and it will limit your choices. If you find your application can't be distributed to scale horizontally with ease, then you may end up wanting fancy hardware. In those cases I believe you'll want to own it.
    Jeff at Innovative Network Concepts / 212-981-0607 x8579 / AIM: jeffsw6
    Expert IP network consultation and operation at affordable rates
    95th Percentile Explained Rate-Limiting on Cisco IOS switches

  3. #3
    Join Date
    Aug 2002
    Location
    Atlanta, GA
    Posts
    1,114
    brunod76,

    You should look at using H-Sphere as the control panel for your system. You can have multiple servers with multiple OS. We host a number of applications such as yours and this has worked great. You can add additional servers as needed.

    For servers it doesn't look like you're running that much banndwidth so what you want is good up time and easy support. You should look at using raid dirves with hot-swap carriers. We use a hardware raid with SATA harddrives. It's great to just go plug in a new drive if you lose one.

    On the servers I'd suggest you go with 1u servers on all servers except one. The one server should be a 2 or 3U unit that can hold a couple extra drives that you can do backups to. You would then have a system with raid drives and backup drives. That would help reduce the cost of the add on backup service. It would also give you more control.

    Other than the buy/rent/lease question everything else is pretty straight forward and you need to find a host that will provide the rest of your needs.
    SiteSouth
    Atlanta, GA and Las Vegas, NV. Colocation

  4. #4
    Join Date
    Apr 2004
    Location
    lost
    Posts
    20
    Thanks a lot!! I'll be out for the weekend for easter, I'll give this some thought and come back to you next week for some other small details... Happy easter all!!

  5. #5
    we host a lot of business apps (in fact, we started off hosting middleware/application servers), so the following suggestions come from experience:

    ---
    Web Server (Frontend)
    1U Quality Brand (Supermicro, Dell, IBM Xseries)
    2x2.4ghz Xeon
    4gb ecc registered ddr ram
    36gb scsi hdd (add another hdd and RAID 1 if budget allows)
    ---
    This box will happily handle your java app as well as the frontend for your client management app.

    ---
    OLTP Server (Backend)
    1U Quality Brand (Supermicro, Dell, IBM Xseries)
    2x2.4ghz Xeon
    2 to 4gb ecc registered ddr ram
    36gb scsi hdd (add another hdd and RAID 1 if budget allows)
    ---
    Since your main DB is read-only, you want to make sure that you have enough ram for the data to be held in ram at all time during normal operations. If the machine is tuned properly, you will achieve amazing performance, since the ODBMS will *never* hit the disk for any data access operation. I realize that you said you didnt have a license for a dual cpu server, but you *need* to have SMP on your OLTP server to avoid blocking on a barrage of slow queries. Your MySQL db can live here too to save some cash, since its not likely to be doing much.
    ---

    In terms of resiliency, you can have a box sit there as a cold spare for hardware failure cases, since both boxes essentially have the same specs.

    Now, depending on your requirements and budget, further additions/modifications may be made. Since your access patterns are largely read-only, companies who have high availability cluster engineering expertise will be able to offer an HA cluster active/passive setup with automatic failover. In other words, each of your machines will have a hot inactive spare sitting there, monitoring the main machine and waiting to take over its duties should it fail. If/when the takeover takes place, all relevant data will be available to the new primary machine(s) through the correct application of various real-time data replication solutions. You can go as fancy as shared scsi disks or a cheaper, software-only solution.

    Good luck,
    Paul
    * Rusko Enterprises LLC - Upgrade to 100% uptime today!
    * Premium NYC collocation and custom dedicated servers
    call 1-877-MY-RUSKO or paul [at] rusko.us

    dedicated servers, collocation, load balanced and high availability clusters

  6. #6
    Join Date
    Nov 2002
    Posts
    2,780
    On the Database issue, If you're looking to run database like Oracle and such. They usually are run as a HA cluster with Sun hardware and Solaris for maximum redundancy/stability.

    On the backup issue, Jeff is correct, always have a off site copy of your data somewhere. Your data is your business in this world now.

    Now to answer your question:
    If your site and frontend is heavily dependent on CPU power, I would recommend you to load balance your front end on an array of webservers. Something like a froundry serveriron sitting infront of the array. For the backup database, consider Sun Hardware, if that's out of the budget, Quad Xeons with redundant disk, power and everythign would be your choice.

    Renting your hardware would be quite difficult. It is quite hard to find a host that would invest a huge load of money into customized hardware for you and let you lease for it monthly. I personally would prefer to rent everything from the host since that would mean they'll take care of all hardware issues and generally, they would have spare parts lying around.

    Physical access is nice, but it seems to me you would need some expertise in setting up the solution. I think it is more important for you to find a host that have the expertise, unless you're willing to learn everything that's needed.

    Cheers and good luck on your search.
    http://Ethr.net jay@ethr.net
    West Coast AT&T / Level3 / Savvis Bandwidth, Colocation, Dedicated Server, Managed IP Service, Hardware Load Balancing Service, Transport Service, 365 Main St, SFO / 200 Paul Ave, SFO / PAIX, PAO / Market Post Tower, 55 S. Market, SJC / 11 Great Oaks, Equinix, SJC

  7. #7
    Join Date
    Feb 2004
    Posts
    633
    We also develop hosted apps primarily in Java, so I'll throw some quick comments.

    The decision to scale up vs. scale out is a difficult one to answer. I'll just say that for us, we see our client's needs moving towards less of a scale out architecture and more towards a scale up architecture to increase flexibility and lower administrative costs on multiple servers. There is definitely a push coming by the mainstream UNIX vendors to move the more sophisticated virtualization/partitioning functionality common in mainframes down to midlevel (and even low end) server environments. We do a lot of work with Solaris and have been beta testing Solaris 10, and it has some very nice features in that area. EMC/VMWare also has a nice product for Intel-based servers.

    Regarding your app server, if you're using servlets/JSPs and not EJBs, I would highly recommend Caucho's Resin. The per server license is only $500 (regardless of number of CPUs), and it's the fastest, most stable servlet container we've tested. If you don't need a full blown J2EE package with EJB support, I say avoid the overhead, though Resin does also offer an Enterprise edition that supports EJB for $1000. Orion Server (which was licensed by Oracle and rebranded as OC4J) is also a good choice, though I think you'll find the user community of Resin more active. I'm not a big fan of Tomcat from either a stability or performance perspective, but it is free. We have had some experience with JBoss and it's a good product, but when you factor in support costs from JBoss Inc. its actually quite a bit more expensive than Resin.

    While I've heard of FastObjects, we've never used it. An alternative you might want to consider is Intersystem's Caché. It is also an OO database and has a large presence in the health care industry; I believe multiuser licenses start at $1000 per server. It would actually be one of my first choices for a database regardless of cost. We developed/deployed a few apps with the Resin/Caché combination and it has worked extremely well for us. I'd take it over a Weblogic/Oracle system any day, even without factoring in the major difference in cost.

  8. #8
    my understanding is that they already have the app developed with the db decision already made. naturally they have more choice with respect to the jsp solution.

    paul
    * Rusko Enterprises LLC - Upgrade to 100% uptime today!
    * Premium NYC collocation and custom dedicated servers
    call 1-877-MY-RUSKO or paul [at] rusko.us

    dedicated servers, collocation, load balanced and high availability clusters

  9. #9
    Join Date
    Feb 2003
    Location
    Detroit
    Posts
    860
    brunod76,

    Honestly, this is a bit involved for a forum. You would be better off contacting reputable companys for one on one help. You could do this project several ways, but splicing it together from forum posts might not yet the result you need in the end.

    For instance, I would recommend staying far away from out of the box control panel solution. This is a bit more advanced, and needs a seamless development to ensure all of the pieces fit perfectly with one another. It doesn't seem like you want to be a web hosting reseller, so don't build anything related to it. Having experienced administration and engineering are going to be key to making this work, and that's not something you can get from a quick forum post or out of the box software.
    ManagedWay
    Connecting people through technology
    Cloud Computing | Fiber Optic Internet | Colocation

  10. #10
    agreed with rs. a provider suitable for your needs will be able to talk in detail about possible setups and explain performance and stability implications of said setups. if you get a cookie-cutter response, stay far away.

    paul
    * Rusko Enterprises LLC - Upgrade to 100% uptime today!
    * Premium NYC collocation and custom dedicated servers
    call 1-877-MY-RUSKO or paul [at] rusko.us

    dedicated servers, collocation, load balanced and high availability clusters

  11. #11
    Join Date
    Feb 2003
    Location
    Detroit
    Posts
    860
    agreed with rs. a provider suitable for your needs will be able to talk in detail about possible setups and explain performance and stability implications of said setups. if you get a cookie-cutter response, stay far away.
    9/10 responces from WHT are going to fit in the 'cookie-cutter' aswell.

    I think if you sat down, and put together a RFQ detailing what exactly your doing, and the details your looking for (like backup's, etc) most of what you need would naturally be worked out in the process. Quite a bit of engineering time can go into a quote ( at least from a company with a clue ), we typically pull in 1-2 depending on the application just to get a price. They aren't doing any favors, its part of the job designing large clusters.

    After re-reading this again, I think if you put together a RFQ and sent it to reputable company's you'll get much futher ahead faster than trying to figure out who to listen to on a forum. We get quite a few requests for things like this, and the best thing you can do is lay out a request and submit it to various companys specializing in mission critical hosting and clusters (i.e. not rackshack). Once you've established the lines of communications, then comming back to a forum to ask specific questions is much more helpfull.
    ManagedWay
    Connecting people through technology
    Cloud Computing | Fiber Optic Internet | Colocation

  12. #12
    Join Date
    Apr 2004
    Location
    lost
    Posts
    20
    Thanks a lot again, awesome insight!!

    rsanders, you're probably right, actually this is indeed what we did... We talked to two big hosting companies first. The thing is we felt like they are probably just too big to lose time explaining us into details too much. I also was coming in here because I felt I would get a more neutral answer than directly from the hosting company.

    So far I like the ideas you guys thrown here, especially concerning having a backup machine / disk solution. Also our choice for FastObjects is already done, it has also been a great fit for our needs... I remember looking at Intersystems Cache earlier, but our choice didnt land on them. As far as going for Caucho Resin, I'll give that a more serious look. And you're right we dont need EJB / J2EE for now, our app is simply jsp / servlets (via the struts framework). Also the idea about having the whole db in ram is great, it wouldnt be possible for the longer term (db size will keep growing) but for short term this is a great way to push our speed up.

    We will be looking for a 3rd competitor this week, prefferably a smaller sized company (the 2 other ones are big companies).

Posting Permissions

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