Nods js Deployment since all my servers are very old (any alternatives.) - node.js

All the servers which i have are windows servers which are very old.
What would be an alternate to deploy the Node js tool which i have developed.
Any free servers on-line or from Local,is it possible to make it available to everyone.
Please help.

When you are developing it's typical to run your Node apps locally on your own computer and use localhost to connect to them. But to make it available to the wider public then you really need to get a server. The cheapest options are Virtual Private Servers. The only free option to have such a server that I know about is Digital Ocean when you register with a coupon link to get 10 usd coupon to use on their servers, which is two months for their cheapest server - which is actually quite nice: 512MB RAM, 20GB SSD disk, and 1000GB monthly transfer. The billing is actually per hour so if you want a server just once in a while for some tests, that 10 usd credit can potentially last you for years. There are no limits on domains that you host and you can choose an operating system from: Ubuntu, Debian, Fedora, CoreOS, CentOS, FreeBSD. You can choose location in New York, San Francisco, Toronto, London, Frankfurt, Singapore, Bangalore and Amsterdam - whatever place is closest to you or your users.

Related

Nginx country based routing with socket.io

I am trying to run a node.js - mongo db application with nginx as a reverse proxy on digital ocean and mlab.
My website will be used from usa, india, uk and some asian countries potentially.
I have created my droplet on digital ocean in bangalore, India site. Config - ubuntu 14x, 2GB Ram, 40 GB disk.
I was very surprised to notice that the performance of the site when accessed from USA is terrible. It takes around 25 seconds to load. However the same url can be accessed within 6 seconds from Mumbai, India.
Lot of my files are already minimized, images are compreseed etc.
So what are my options at this time? I can try to do subdomains and have nginx do County based routing to different servers but what impact will it have on socket.io?
Will i have to do have nginx on each individual servers as well? Or just in routing server? What about nginx caching? On which site will i create the server which does routing?
Any examples will be greatly appreciated! Thanks in advance
I ended up using cloudflare for CDN. I saw significant improvement in speed.

Host my own node.js webapp or deploy using a hosting service

I have a web app that's like a bulletin board where users upload their images and such. Is it best if I host this web app on my own hardware or use a hosting site?
The reason why I'm considering my own hardware is because it's my hardware which will be simple to me and something I know best, also I'll have file system access and see what the users are uploading, most hosting sites don't offer that .
You might want to base your choice depending on what's your favourite operating system for servers. If it's on window, I would recommend self hosting as most VPS with window cost way more than linux server. Overall, depending on the resources you need, the average cost of a linux server in the cloud is around 2.50 ~ 10.00 per months and with that you have a guaranteed fix IP address.
Soooo the question is, is all the trouble of setting up your server + maintaining it + managing a fixed IP with your ISP (plus ISP charges *) worth at worst 10 box per month? Your choice!
here is a few services you might want to consider for VPS
https://aws.amazon.com/
https://www.digitalocean.com/
https://www.heroku.com/ (this one have free hosting if you don't mind the 24/7 uptime)
and there is so many others.
As an example, my ISP charge around 100 CAD more per month just to consider my IP static and have a commercial profile for my internet.
You can host on VPS. It can have any operation system you want. And you control it. It is much cheaper that dedicated hosting on your hardware.
http://www.google.com/search?q=vps
If you want to host node. You have to install manually, NodeJS, and the required NPM modules.

Remote access, configuration and monitoring needs for linux machines in retail venues (shops) distributed across the country.

We plan on deploying machines with a Linux distro, in retail venues (shops) across the country. The venues have their own connectivity with the wider world and their own network, which we have no control over. We also need an ability to configure Chrome in these machines. The machines are simple desktops, which we will set up and distribute in venues, and they have the following ongoing needs…
Remote monitoring – we have New Relic for all our EC2 servers, and a strategy to use New Relic would work well as the team is already familiar with it. Is that feasible?
Remote configuration and upgrade – again puppet and mcollective are the tools of choice as they would probably do the job and the team is well aware of the toolset.
Chrome configuration – will something like Google Admin Console work to configure the browser.

linode vs amazon ec2 vs heroku for project with amazon s3

I have a project in ruby on rails 3.1 like flickr, tumblr, pinterest...etc with a lot of pictures for maintenance.
My project have database Mongodb.
I'm using amazon s3 for host pictures.
I want to know what is the best hosting combination to get the most quality/price, linode + s3, or amazon ec2 + s3 or heroku + amazon s3.
I need enough scale because the project is growing fast.
Any other suggest is welcome :D.
After much reading I am not clear.
If you want to save the most money then I'd go with linode (Amazon ec2 might cost about the same though). With linode for $19.95/month you get 20gb of space where you can host your website and database. If you're using s3 then you can use most of the 20gb for your database. Not only that but on linode the addons that would cost you money on Heroku will be free (solr/sphinx, background jobs, email, etc). Compare this to Heroku where a 20gb shared database alone costs $15/month. Then you need to pay monthly if you want solr, background jobs, etc.
On linode it's free because you run and maintain your own virtual private server (VPS). Which brings me to one of the most important things to consider here, linode will save you money but it will cost you more time since you have to manage everything yourself.
For what it's worth, I am currently in the process of moving much of my hosting over from Heroku to Linode because of the costs involved and because as a rails developer I feel it's important to understand how to manage my own webserver.
There are a lot of other advantages to having your own VPS though. For example, hosting multiple website, creating multiple databases used by other web apps, your own email server, etc.
Update: April 2014
An even cheaper alternative to linode is digitalocean. Their cheapest plan is currently $5/month.
Just for a performance point of view, you'll get better performance if you use EC2 or Heroku since both are parts of the Amazon infrastructure (Heroku runs on EC2).
But it will only benefits if your pictures are processed by your Python server. If your pictures are served directly to the client, it will not have any impact to use Linode :)

Is there a subversion appliance / toolset for the enterprise

I am looking for an enterprise subversion setup, that will fit the following requirements:
I need at least 2 instances of the repository server for high availability reasons
Management of multiple repositories
The 2 repository servers need to be synchronized.
Easy administration and configuration
User & authorization management with LDAP integration (web-interface) - optional
Backup & restore features, that guarantee the recovery with not more than 1 day of lost data
Fast and easy setup.
Monitoring of the repository(traffic, data volume, hotspots..) - optional
good security
either open source or low price tag, if possible
some pricing range, if a commercial tool is recommended.
a VMWare appliance would be great.
I am interested in an appliance or a set of subversion tools, that support these requirements. The operating system should be Ubuntu.
The configuration and setup of the toolset should be doable in hours or at the most a few days...
Our development team is not huge (about 30 people), but grows continually.
I have been unable to find anything (with the exception of Subversion MultiSite, that seems to big (and expensive? - they give no price information) for our enterprise)
Can anyone recommend a solution? Could you also describe your experiences with the recommended tool?
The easier and faster installation and configuration is, the better... If it is without a price tag, this is even better..
Thank you for any help.
I haven't seen a shrink-wrap setup for this, so far. If you want to build that from scratch, here are some pointers:
You can use builtin commands for the mirroring of the repo.
For multiple repos, just create a huge one and then add paths below the root.
For me, the command line is "easy admin&config", so can't help you there
To get user management, let subversion listen to localhost (127::1) and put an apache web server in front. There a loads of tools for user management for web servers.
For backup&restore, see your standard server backup tools.
VisualSVN Server answers most of your requirements.
From the web promo page (my emphasis):
Zero Friction Setup and Maintenance
One package with the latest versions of all required components
Next-Next-Finish installation
Smooth upgrade to new version
Enterprise-ready Server for Windows Platform
Stable and secure Apache-based Windows service
Support for SSL connections
SSL certificate management
Active Directory authentication and authorization with groups support
Logging to the Windows Event Log
Access and operational logging (Enterprise edition only)
Based on open protocols and standards
Configured by Subversion committer to work correctly out-of-the-box
I can vouch for visual SVN. I use the free version for our team of 4 developers, and it does everything it says on the tin reliably. Installation also took all of 5 minutes. That said, it does require a windows box.
Running a subversion server in a VMWare instance with one of VMWare's "High Availability" tools will give you most of what you need. There are pre-built VMWare Appliances that have a Subversion server built in. http://www.vmware.com/appliances/directory/308
VMWare's HA features will give you the redundancy of the SVN server instance. (You're going to need multiple physical servers for true redundancy. If one server fails, VMWare will re-start the instance on the new server.)
I don't know of any VMWare appliances that have special backup features, but this is pretty trivial to script. Just run an 'svnadmin hotcopy' once a day, so you have a copy of the repository ready to go in case of a corruption. (On top of this, you really should be using a SAN RAID array with tape backups.)
Our setup:
Rack of Blade Servers
VMWare Infrastructure
Virtualized Windows 2003 Server
If Windows crashes or one of the blades goes down, VMWare re-starts the Windows instance.
CollabNet Subversion Server, running Apache with SSPI authentication
SVN repo lives on a SAN
Nightly svnadmin hotcopy and verify of the repo (to another directory on the SAN), so we have a "hot" backup of the repo ready to go in case of a corruption problem.
Nightly tape backups of everything
Tapes taken offsite regularly
The cost of the server hardware and VMWare is going to be your biggest issue (assuming you don't already have this.) If you're not willing to make this kind of cash outlay, it may be worth looking at a hosted SVN provider.
We use svn for enterprise work. It is perfectly adequate. There are plenty of enterprise testimonials, including one from Fog Creek (Joel on Software, Stack Overflow).
I don't believe you need anything beyond the regular version.
I suppose you are aware that it is typical to use Subversion with TRAC, the issue tracking system.

Resources