{"id":403,"date":"2011-08-02T22:41:13","date_gmt":"2011-08-03T05:41:13","guid":{"rendered":"http:\/\/10kdev.ivystreetinc.com\/?p=403"},"modified":"2011-08-02T22:52:59","modified_gmt":"2011-08-03T05:52:59","slug":"enterprise-hosting-at-home","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=403","title":{"rendered":"Enterprise Hosting At Home"},"content":{"rendered":"<p>OK that title is a <em>not<\/em> serious.<\/p>\n<p>At my current gig we need servers; and I&#8217;ve been waiting for the bosses to make the deals to get some real server services.\u00a0 It&#8217;s finally happening, but, its real slow &#8212; the handshakes, board room stuff all that.\u00a0 I didn&#8217;t want to strap myself to a kluge solution, but since I see the light at the end of the tunnel I went ahead and pulled a solution out.<\/p>\n<p>Here&#8217;s the need:\u00a0 we need a QA server to allow the product owners\/business to look at and test the websites we are developing before we deploy them.\u00a0 Our current solution involves a week on a staging server before production and we do not control the deployments or data or anything.<\/p>\n<p>Our sites are Java\/Spring\/Hibernate running on Tomcat with Afresco\/MySQL.\u00a0 Services for Java can be pretty expensive and time consuming to set up correctly, and I wasn&#8217;t about to pay for it myself.<\/p>\n<p><em><strong>First Solution spike: <\/strong><\/em> Amazon EC2.\u00a0 It seems like a good solution but the business wouldn&#8217;t give me a credit card and some of the &#8220;free tier&#8221; services run out after a year &#8212; and then they start charging.\u00a0 Plus the 10 gig limit is of no use to us for storage we have a ton of data and media. (Honestly, its expensive to do this for real we spiked our needs and were quite surprised.)<\/p>\n<p><em><strong>Second Solution spike:<\/strong><\/em> Google App Engine.\u00a0 Nope &#8212; waaaaay to limited, good for proof of concept\/RAD apps and that&#8217;s it (or Python).<\/p>\n<p><em><strong>Third Solution spike:<\/strong><\/em> VMWare.\u00a0 Easy enough to set up an image but, would have to have business users install VMware and then obtain my 1 gig+ images.\u00a0\u00a0 Too complicated.<\/p>\n<p><em><strong>Fourth Solution spike: <\/strong><\/em> Portable Linux.\u00a0 In the old days you could run a version of Linux in Windows &#8212; Damn Small Linux still does this.\u00a0\u00a0 But them as you know, you descend into distro hell trying to get everything configured on some weird Linux deployment.\u00a0 Finally I tried QEMU with and Ubuntu iso &#8212; is worked but was sooooooooooo heavy and slow, and again the file izes were massive over a gig easy.<\/p>\n<p><strong>The Solution<\/strong><\/p>\n<p>I went home and saw a dusty old server tower sitting in the corner and decided that was it &#8212; serve it up from home.\u00a0 I used to do this in the old days with another domain I have, before it became cost effective to have PHP sites hosted (like WordPress).\u00a0 I used Zone Edit, which maps a static ip\/domain name to the\u00a0 dynamic IP you get from your DSL service provider (or whomever) and had a little daemon software you install on your local home machine (that has no static IP) that syncs the IP addresses should the service change it.<\/p>\n<p>Setup:<\/p>\n<ul>\n<li>Set up my server with my apps.\u00a0 I set them on port 80 &#8212; even though Tomcat runs on 8080.\u00a0 Just easier.<\/li>\n<li>Made sure the server&#8217;s firewall wasn&#8217;t blocking anything.<\/li>\n<li>Gave my server an internal static IP (although &#8212; could use the DNS server).<\/li>\n<li>Opened port 80 on my DSL modem\/router for the server&#8217;s IP.<\/li>\n<li>Created an account at a site called No IP.\u00a0 You can also still use Zone Edit but No IP has a better daemon software to run. This account maps the dynamic IP my DSL service gives me to a static IP and domain name for free &#8212; like &#8220;mysite.no-ip.net&#8221; or something.\u00a0 So you have to create that domain, or you can also map an existing name to the static IP they give you (for a fee I think).<\/li>\n<li>Installed and configured the No IP daemon on my server (Win\/Mac or Linux!!!!)<\/li>\n<\/ul>\n<p>Testing:<\/p>\n<p>You can&#8217;t test inside your network for some modems because they do not allow loopback mapping &#8212; for me, if I went to &#8220;mysite.no-ip.net&#8221; I got the login for my modem on 192.168.0.1.\u00a0 You need an outside line AND you can put the mapping in your lmhosts file.\u00a0\u00a0 In the old days with Zone Edit I used a dial-up Juno account to make sure it was running for real.\u00a0 But in my case, I just used my Android phone and surfed on the 4g network (make sure you turn off local networking) to make sure the sites were up.<\/p>\n<p>Also I installed TeamViewer on the server, my work machine and the app for my android phone.\u00a0 TeamViewer (to me) is the next generation of VNC for remote machine access and management.\u00a0 You have to pay if its for commercial &#8212; I&#8217;ll be taking the work site proof of concept offline soon &#8212; but its free for home\/personal use such as the open source Grails things I have been looking to publish.<\/p>\n<p>That&#8217;s it, you&#8217;re serving up from home, enterprise style.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OK that title is a not serious. At my current gig we need servers; and I&#8217;ve been waiting for the bosses to make the deals to get some real server services.\u00a0 It&#8217;s finally happening, but, its real slow &#8212; the handshakes, board room stuff all that.\u00a0 I didn&#8217;t want to strap myself to a kluge [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/403"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=403"}],"version-history":[{"count":3,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions"}],"predecessor-version":[{"id":405,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions\/405"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=403"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}