Blog‎ > ‎

Application Hosting, Garbage Collection in Real Life, ED2K

posted Nov 30, 2013, 2:30 AM by Sami Lehtinen   [ updated Nov 30, 2013, 2:31 AM ]
  • Different levels on application hosting:
  • A) One physical server per customer
    B) One virtual server per customer
    C) Physical server with multi-instance installation (each customer having it's own separate processes & databases)
    D) Physical server with only one application installation (with possible multiple processes) utilizing multi-tenant architecture
    E) Several front end servers serving all customers, with multi-tenant backend server(s) (aka, server specific roles)
    F) Several servers, dynamically sharing resources, starting and scaling required services while providing service to all customers
    A is simplest and most inefficient solution and F is technically most complex but most efficient and fully dynamically scalable solution. Of course this directly affect system reliability etc. In cases A-D levels server outage means that those customers can't get any service. And by server outage I don't mean only hardware outage, what ever reason what causes server to be down. Even if that server would be virtual server with SAN, there still could be a reason (other that storage failure) which causes failure for whole system. 
  • Spotted a bug in Notepad++, cursor position changes suddenly when line number length grows. It's a clear bug. I just wonder how they were able to introduce such a bug!
  • Jolla First impressions by Seravo. Well, I think it's bit over hyped, but that's totally fine, because I live in Finland and it's Finnish product.
  • Started to use Mark & Don't Sweep with office fridge.  We tag all stuff with small generation numbered flags weekly, or depending from container write the number directly on it. If there's stuff which is older than two weeks and untagged, it's free for anyone consume / thrown out. Some guys use copy collection method with two fridges. Weekly one fridge is emptied and after that stuff is placed to it after use, so what ever isn't being used weekly, is thrown out / used.
  • Based on same theme, it's easy to purge stuff from home. What ever you haven't been using for a year, just get rid of it! If it's too hard to do this on memory basis (shouldn't be), you can use mark & sweep methodology. Get rid of stuff, you don't ever need, it makes life much simpler and more organized.
  • Finished reading and studying all Secure Share documentation in detail.
  • Web browsers should allow optional mode, where each tab is running as it's own isolated environment. It would efficiently prevent data leakage which is way too common with all current browsers. Basically data leak is basic feature of all current browsers and there's nothing much you can do about it.
  • Because I'm completely fedup with Google, Yahoo and other big corps and their spying. Also running own server can have drawbacks. The virtual server that disappeared overnight had all my ssl and mail configurations. ;( Also maintaining own server can be very or even extremely trouble some at times. Naturally there will be some trouble exactly when your schedule is very overbooked and you're going to have one month vacation in Thailand or so. Even worse, trip around the world. So it's practically impossible to get proper connectivity and time to fix systems. That's why I want my web pages and email to be outsourced. Google provides absolutely great services, but with terrible price. Of course for something really secret pgp and confirmed key finger prints are only viable solution.
  • I did plan to write about all these topics, but I got too much to write about anyway. So here's just compact list:
    Networking, security, web applications, APIs, Python, XML, JSON, HTML, SOAP, HTTP, SQL, Git, Agile, business economy, busines optimization, long term investing, prioritization, making goals crystal clear, work life balance, stock picking and startups. Time management, freemium as business model.
  • Many things can't be done properly because being in such hurry. Hmm, this blog is perfect example about that. That is what is expensive when talking about real products that should be delivered in volume. Customers are having constant problems, either support is going to be really expensive for service provider or customers are unhappy and discard the product. Is it better to update systems manually than using automatic updates. Endless discussion, I would love to have unit tests and automatic updates. Automatic updates would provider as solution that works where it's known to work and doesn't do random human errors while doing complex manual updates, which are hard to fix later or can cause extensive data corruption and many other major trouble. So being too busy, to do anything properly or not automating things just creates more acute problems and mess. 
  • Performance and suitability testing different modules for new software product: Testing databases, web servers, application servers and different mobile front-end technologi.
  • Added Remote by Jason Fried to Kindle.
  • I had hard time explaining to Edonkey 2000 developers that they should weight block selection by block availability, so that if blocks are rare those are downloaded first.  They stubbornly claimed that purely random selection is as efficient, but it isn't. I had to send them several screenshots where there were a few rare blocks that everyone was waiting for, yet clients did choose a random missing block to download from those sources, totally ignoring it's availability aka how rare it is
Ouch, it seems that my blog about list still got entries which are more than two years old. Now I got some catching up to do.

Comments