Hacker News new | ask | show | jobs
by dcao 4722 days ago
Good question. This is the point why I'd like to discuss with you guys. Let me explain, for example, Linux hosting and deployment is a must to have before I can relesae, right? You may say, it barely takes two weeks' time. I thought so too. However, it took me 2 months. Why am I so slow? See the following tasks I've completed, almost none of them can be eliminated:

    - Find the right hosting service after learn how to analyze the Linux memroy usage, VPS (Virtual Private Service) simply cannot serve the needs for a multi-server environment
    - Choose Linux flavor, CentOS vs Debian, choose OpenJDK vs Oracle JDK
    - Download, install and configure applications, servers and modules
    - Set up multiple static IPs with vitual server instances and link to Tomcat from the Apache through mod_jk
    - Purchase  and generate SSL certificates and deploy them for each Tomcat instances
    - Grant proper privileges for different instances of Tomcat and MySQL servers.
    - Build auto-scripts for database initialization and entire Linux server environment set up with the applications deployed and configured
    - Set up the firewall with appropriate security privileges with or without LinuxSE
    - Document every step to repeat the tasks
Since I'm a Java developer with some Unix knowledge, not quite familiar with Linux, I need to figure out every command to run through all the processes. After every thing is done, I found GoDaddy VPS cannot support two Tomcat instances. I have to find another cheap hosting site, chat with some of them to find out which one is ok and run the deployment again and again to make sure everything is ok. Actually before I deploy it on GoDaddy VPS, I need to run it through CentOS on my local Vitual Box which took another one week to figure out how to set up static IP on it, which is different from the physical Linux server, along with the CentOS environment.

I did take the performance into design consideration to scale it out by learning various of Java synchronized/concurrent Collections in the new version, but I didn't take too far away, simply use the LRU cache so far, and not invested time into Tomcat and MySQL performance tuning yet, only make sure the JDBC level is scalable.

That's why I'm asking how long it may take for any real world beta production site from their prototype. I'll really appreciate your comment and advice. Thanks.