comp.lang.ada
 help / color / mirror / Atom feed
* Ideas for a poor man's robust/efficient server setup
@ 2016-03-17 19:34 Olivier Henley
  2016-03-18  0:04 ` Shark8
  2016-03-18 10:28 ` G.B.
  0 siblings, 2 replies; 3+ messages in thread
From: Olivier Henley @ 2016-03-17 19:34 UTC (permalink / raw)


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.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Ideas for a poor man's robust/efficient server setup
  2016-03-17 19:34 Ideas for a poor man's robust/efficient server setup Olivier Henley
@ 2016-03-18  0:04 ` Shark8
  2016-03-18 10:28 ` G.B.
  1 sibling, 0 replies; 3+ messages in thread
From: Shark8 @ 2016-03-18  0:04 UTC (permalink / raw)


I would recomend ditching MySQL -- FireBird should be more than suffient for your needs (it's been used by the DOT to handle a *lot* of users/concurrent accesses)... FireBird is the open source of InterBase. (Postgres might also work, though I haven't used it much.

AWS might be appropriate, it might not. If you want provable high-integrity real-time you could use Ravenscar/SPARK... though this might be either overkill or too constrained to (easily) do what you need.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Ideas for a poor man's robust/efficient server setup
  2016-03-17 19:34 Ideas for a poor man's robust/efficient server setup Olivier Henley
  2016-03-18  0:04 ` Shark8
@ 2016-03-18 10:28 ` G.B.
  1 sibling, 0 replies; 3+ messages in thread
From: G.B. @ 2016-03-18 10:28 UTC (permalink / raw)


On 17.03.16 20:34, Olivier Henley wrote:
> -	Should I move away from MySQL? What are my options using Ada and Gnoga? NoSQL, persistent objects?

The physical data management layer of the model should reflect
properties of data objects and their relations (use cases),
I think. If items and their properties need to be related
in many directions, if they become part of "statistical"
algorithms (sums, comparisons to others, to results or
prior computations, ...) then NoSQL or any other ad-hoc or
minimalistic data layer can make your programs become a rather
burdensome, expensive re-invention of the wheel. It is not
efficient at all when tackling cases not made for "simplistic"
data storage.
  BTDT, I hope I never need to go there again.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-03-18 10:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-17 19:34 Ideas for a poor man's robust/efficient server setup Olivier Henley
2016-03-18  0:04 ` Shark8
2016-03-18 10:28 ` G.B.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox