If you anticipate needing to scale your application significantly, what is the best solution?

55 Answers

author avatar

2) what does "best" mean?
--> Lowest cost?
--> Highest reliability?
--> lowest cost of development?
--> best set of service offerings?
--> specific set of capabilities (HIPAA, ISO compliances, HPC computation?
--> "hybrid management"?

author avatar

Yet another person chiming in that the question is generally too broad to answer.

1) what does "scale" mean?
--> do you mean millions/billons of simultaneous users?
--> do you mean petabytes of data?
--> do you mean thousands of parallel processing threads?

Each "scale" requires different archtectures.

Some can leverage PaaS, others require dedicated and specialized compute services. For example if you are going to do the kind of parallel processing that oil field analysis requires, even HOOPs in the Cloud won't scale.

OTOH if what you need is to support lots of simultaneous users. PaaS of the Google App Enging, MSFT Azure, Amazon Elastiic Beanstalk might well work for you.

author avatar

I would agree the question is far too broad to answer fully. You always design it to scale although I would suggest some more questions and understanding needed here.

author avatar
Real User

There is no good answer to that beyond "you design it to scale". If you
need a RBDMS, you work trying to use a cluster or master-multi-slave
arrangement, considering update propagation delays. You may consider
offloading work from the database by relying on all kinds of cache, from
memcache all the way to a CDN that can cache responses. You may want to use
queues to time-offset some workloads, smoothing them along time. If your
data fits, you may consider using a non-relational datastore that can be
immensely clustered. You may want to denormalize everything. You should
also design into the application several "degraded" modes that you can
control or that can be automatically set if a given event happens: you may
want to have a read-only mode for when you can't write to your database
(for any number of reasons, including maintenance) or a different visual
element arrangement if some external API goes offline.

Or you may simply opt to run it on Google App Engine, Heroku, OpenShift or
any other PaaS platform and let the platform guide your design.

author avatar

You must hire the right CTO or SOA architect and Clean Coders

Find out what your peers are saying about Microsoft, Amazon, Oracle and others in PaaS Clouds. Updated: May 2021.
479,323 professionals have used our research since 2012.