From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.4 X-Received: by 10.107.159.82 with SMTP id i79mr8343648ioe.32.1458243263436; Thu, 17 Mar 2016 12:34:23 -0700 (PDT) X-Received: by 10.182.19.129 with SMTP id f1mr176254obe.20.1458243263412; Thu, 17 Mar 2016 12:34:23 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!au2pb.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nt3no2514103igb.0!news-out.google.com!h1ni75igi.0!nntp.google.com!nt3no2514102igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 17 Mar 2016 12:34:23 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=216.98.56.20; posting-account=MRPdDAoAAADUJmZVjnYaoafXFMadSeY1 NNTP-Posting-Host: 216.98.56.20 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <2acb3815-157a-4d12-94fd-ffaa6b4267c1@googlegroups.com> Subject: Ideas for a poor man's robust/efficient server setup From: Olivier Henley Injection-Date: Thu, 17 Mar 2016 19:34:23 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 2901 X-Received-Body-CRC: 2099718460 Xref: news.eternal-september.org comp.lang.ada:29820 Date: 2016-03-17T12:34:23-07:00 List-Id: Hi all, Because I know some of you as seen and built really robust stuff, I would appreciate any advice on how to achieve a sound/good enough robust server on the cheap side. What it is: - Web app, real-time user generated content; will get highly dynamic as more people interact. Potential for high traffic; millions. - Using Gnoga and MySQL ... for now. - Using Nginx to failover between web app exec in case one crashes. Same machine. - One man show project ... for now. - Would spend max 50$ CAD per month to host ... for now. - I have no problem limiting the number of concurrent connections to stay on the safe side and take the time to upgrade my setup. - I already have a dedicated box: 8 C / 8T @2,4 Ghz x64, 16 Gig, 250Gig SSD, 99.9% SLA (16$ EUR ~ 25$ CAD) - Minimum Viable Product completed. Moving on small scale test phase. What I want: - Proper setup to move on, without too much damage, to other infra; to scale. - Near zero downtime. - Robustness for my service. (db, connection etc) - Snappy service. Respond/React quickly. I need guidance/advice/ideas on the following: - Should I move away from MySQL? What are my options using Ada and Gnoga? NoSQL, persistent objects? - Fast failover configuration options; DNS level or the sort. - A general setup/recipe for a poor man's 'robust' setup? Right now I am exploring those ideas: - DB at AWS RDS MySQL in configuration Multi-AZ. (scale, managed, redundant, robust)... but I can only pay for poor perf and little space - Using AWS highway 53, 2 small EC2 instances (in case one fails) that redirect to 2 dedicated servers (in case one fails) available on 2 different regions. (eg: one montreal, one paris). I feel this setup is overthought though. A big thank you in advance, Olivier p.s: I know I might be dreaming a bit but I try to prepare the best I can and do my best with what I have.