Coffeehouse Thread

20 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

What tech would your startup use?

Back to Forum: Coffeehouse
  • User profile image
    ManipUni

    So it seems every start-up created in the last few years has the same basic setup, a webapp and a separate database of some kind. The webapps are normally designed to be replicated across multiple servers and often allow caching.

    So my question to you is, if you were creating a start-up today what technology would you use for it? What do you find more of a "trend" as opposed to be actually useful? Would you build from scratch or on a codebase?

  • User profile image
    Ray7

    Most startups are concerned about burning through the prayer fund, which seems to rule Microsoft tech out of the running straight away. There also seems to be a notion that folk who use MS tech are not 'entrepreneurial' by nature.

    Good question though. Groovy/Grails gives rapid development and a wealth of third-party frameworks to dip into. 

    The Play framework is also pretty good, and then there's the Scala-based Lift framework which is head-and-shoulders above everything else when it comes to separating code from presentation (I think FourSquare use it).

     

  • User profile image
    Bas

    @ManipUni: Simple. Microsoft. That way I wouldn't have to spend a lot of time learning new stuff, and it'd be free.

  • User profile image
    vesuvius

    @ManipUni: IT depends on the startup. I have worked for a few that have gone onto secure pretty big contracts with the government typically because they could develop systems for far less than aging C++ hard to modify type applications.

    .NET offfers a way to develop modern applications in a controllable and cost effective-ish manner. Far cheaper than any other tech.

    The difficulty in using Scala/Play or any other niche framework is that it is almost impossible to find good developers. Hell, We have difficulty finding good .NET developers because there are a lot of people that know a bit of C#, but that is just not enough.

    The problem with basing your start-up solely on .NET is that anyone can come and pretty much copy what you can do, unless you have a R&D department coming up with algorithms and tech that others would find to expensive to develop

  • User profile image
    Bass

    Ruby on Rails, MySQL (or Drizzle), Nginx/lighttpd, and Linux. With a heavy use of JQuery on the client side. It's certainly a tendy choice of technologies, but I think it's the best development stack available right now.

    I also like Scala and the Play Framework, but IMO it's a bit less mature then RoR. However, once you become big you'll want to start moving some of the computationally intensive stuff to the JVM or native. This is shown by Twitter and Facebook.

  • User profile image
    ManipUni

    @Bass: Why may I ask are you avoiding Apache?

  • User profile image
    Ray7

    , Bass wrote

    Ruby on Rails, MySQL (or Drizzle), Nginx/lighttpd, and Linux. With a heavy use of JQuery on the client side. It's certainly a tendy choice of technologies, but I think it's the best development stack available right now.

    I also like Scala and the Play Framework, but IMO it's a bit less mature then RoR. However, once you become big you'll want to start moving some of the computationally intensive stuff to the JVM or native. This is shown by Twitter and Facebook.

     

    Rails? Nah. I get the same rapid development with Grails and all the Java frameworks too.

  • User profile image
    Bass

    , ManipUni wrote

    @Bass: Why may I ask are you avoiding Apache?

    It's very common for RoR websites to be paired with non-Apache web servers, so I would say it's a well-tested configuration.

  • User profile image
    W3bbo

    , ManipUni wrote

    @Bass: Why may I ask are you avoiding Apache?

    Apache is... well... not exactly a modern webserver. Take a look at Apache's configuration files for example, they're a bad mish-mash of "old school" *.conf files with a kind of psuedo-XML thrown in.

    Lighthttpd is where it's at nowadays.

    I do have concern over the direction IIS is headed in. I'm not sure if intermixing managed and native code to handle "traditional" requests is necessary, I always held on to the belief that things like the CLR should be invoked on an as-needed basis. It's also favouritism: how come ASP.NET gets a special code path, but other VMs, like Java or Python don't?

  • User profile image
    ManipUni

    @W3bbo: You're calling Apache old on the basis of its config file alone? Plus what modern features does it lack that Lighthttpd has? 

  • User profile image
    JoshRoss

    I would get a Kodak Ngenuity 9150 Scanner. And I would use it to take shoe boxes filled with family photos and deposit them onto hard drives and or DVDs.

    -Josh

  • User profile image
    cbae

    With the restriction-free licensing of Windows Web Server 2008/2008 R2, you can now get the OS and IIS 7.5 for less than $400 retail from any number of Microsoft partners.

  • User profile image
    Bass

    , ManipUni wrote

    @W3bbo: You're calling Apache old on the basis of its config file alone? Plus what modern features does it lack that Lighthttpd has? 

    When it comes to web servers "number of features" doesn't often matter. The lack of features in lighttpd is actually a feature in itself - the goal is to serve FastCGI-based web requests with the least number of syscalls and CPU cycles as possible.

    Though you can configure Apache to be competitive to to lighttpd in performance, I don't feel  it's not a very common configuration. The "common configuration" aspect is what I feel is the most important.

    If you are doing RoR the nginx/lighttpd stack makes more sense simply because it's a common configuration.

    The "LAMP" stack is naturally a different story, possibly the most common configuration out on the Internet. PHP and Apache seem really to fit together like peanut butter and jelly because of more than a decade of cooperation and tuning. That's why LAMP generally stands for Linux/Apache/MySQL/PHP. So I wouldn't swap LAMP for LLMP or LNMP unless there was a good reason. Smiley

  • User profile image
    Ray7

    , Bass wrote

    *snip*

    The lack of features in lighttpd is actually a feature in itself 

    Ah, the 'Emporer's New Clothes' argument.

     

  • User profile image
    Bass

    , Ray7 wrote

    *snip*

    Ah, the 'Emporer's New Clothes' argument.

     

    Not really.

  • User profile image
    Setag_Yrneh

    Amazon EC2 cloud.

    nginx on a large cluster, $1400 for 3 years. Have nginx serve all the static content.

    Then put 3-4 Apache servers on $84/3 year micro instances in different regions, including Tokyo, ect...

    /etc/nginx/conf.d/file.conf

    upstream backend  {
            server 127.0.0.1:8080;
            server tokyo1.compute-1.amazonaws.com:80;
            server calif1.compute-1.amazonaws.com:80;
            server euro1.compute-1.amazonaws.com:80;
    }

    location / {
            proxy_pass   http://backend;
            server_name  sitename.com www.sitename.com;

            location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
                root   /home/sitename/public_html;
            }

    Now for about $1600 over 3 years you can run traffic like Facebook's. You can spin up thousands of Apache microtier instances all over the globe and use them as proxy pass slaves.

    If you need more CPU, just clone slave instance and run another one and add it to the nginx conf file.

    Or you could use EC2's own load balancer to forward traffic directly to those Apache slaves on Elastic IPs as a redundancy measure as well.

    As far as SQL, you run MySQL in multi-master mode with master/slave and split the SELECT requests amongst the instances. I considered MySQL Cluster, but it's SAP's MaxDB and that is a royal pain for maintenance.

    You can also use DNS based load balancing and forward requests from Europe directly to Apache on the European zone, ect...

    As far as file synchronization, you just NFS secure mount all the slaves to a master instance running rpc and mountd using the Amazon internal host names to avoid paying for elastic IP traffic. You also nfs mount /var/lib/php/session as well so all slaves can share sessions.

    As far as Desktop software for office workers, there's either Free Linux Office productivity software, or you could get free Microsoft software with BizSpark for 3 years. It really doesn't matter because neither have really good sales CRM and sales are what matter most.

    Either way you'll end up using SalesForce or an equivalent and buying leads and or using Jigsaw.

    You'll also need to buy Quickbooks Pro and TurboTax for business, but Amazon.com sells direct download versions of those software titles cheaply to American buyers.

    Generic Forum Image

  • User profile image
    Setag_Yrneh

    I almost forgot the most important part. You outsource all of your MS Exchange, and other office software to Google Apps:

    http://www.google.com/apps/

    Use the free version and live with the advertising and do the support yourself. Or if your start-up has an unusually high number of employees, you can pay the $50 support fee if you like.

    Most DNS registrars have automatic DNS settings for Google Apps so that the respective Google Apps resolve to your company's domain.

    Generic Forum Image

    This will probably save you the most money of all. Just getting mail, calendar, docs, ect... up and running using intranet tools will cost you thousands in software and man hours.

    Plus Google Apps has tons of addins for project management such as ManyMoon and other productivity tools for pennies on the dollar.

  • User profile image
    blowdart

    , Setag_Yrneh wrote

    I almost forgot the most important part. You outsource all of your MS Exchange, and other office software to Google Apps:

    http://www.google.com/apps/

    Use the free version and live with the advertising and do the support yourself. Or if your start-up has an unusually high number of employees, you can pay the $50 support fee if you like

    Or you could just host it on outsourced exchange, and hosted office, and hosted sharepoint if completly switching is just too much for you. Mind you office365 is still in beta, and not free, and doesn't offer a catch all adress *sigh*

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.