Voglio sviluppare un backend per un’applicazione Android. Quale tecnologia dovrei usare?

Beh, questa domanda è abbastanza ampia in quanto è necessario dissociare il software/servizio di hosting e il software che si vuole scrivere:

- Per la parte di hosting :

-- Hai la soluzione cloud PaaS come Google App Engine, Azure, Parse, ecc. Tutti questi servizi funzionano con un approccio "pay as you go" con free tier (cioè consumo gratuito se non si scala). È una soluzione bella e facile in quanto non devi preoccuparti troppo di cose che non sono veramente rilevanti (come impostare il tuo server, fare aggiornamenti, preoccuparti dello spegnimento del server, ecc.)

-- Hai la soluzione cloud IaaS come Google Compute Engine, Amazon (AWS), Azure, ecc. Questa volta hai una macchina virtuale: significa che fondamentalmente hai un server linux e devi fare tutto (installare il server che vuoi come Apache, IIS, Node.js, Ruby On Rails, Java, ecc. Installare il DB, ecc.) Dovete capire che se scalate, è un sacco di lavoro per progettare una nuova architettura (di quale server ho bisogno? Dove metto il mio DB? ecc.) È anche una soluzione "pay as you go" con una scalabilità "facile" all'inizio (fondamentalmente dovete solo premere un pulsante per rendere il vostro server più potente) ma alla fine, non potete farlo all'infinito quindi finirete per impostare nuovi server con più preoccupazioni...

-- Potete affittare un server e farci quello che volete (sarà lo stesso della soluzione IaaS, solo un sistema linux) ma questa volta non c'è la possibilità di scalare ... Può essere la soluzione più economica ma anche la più rischiosa perché la notte in cui si salta da poca attività a TANTA attività, verrà voglia di piangere :/ (e sarà un sacco di lavoro).

Quindi, fondamentalmente, per il prezzo => affittare un server. Per la scalabilità => PaaS.
(è il mio punto di vista, può essere difettoso.)

- Per la parte software :

Beh, dipende davvero da quale servizio volete fornire e da cosa padroneggiate già. Puoi fare Java, Ruby, Python, Node.js, .NET, PHP, ecc. Ognuno di loro può fare praticamente tutto. Le domande da porsi sono :

-- Conosco già le basi del linguaggio ?

-- Mi piace come è costruito e come funziona ?

-- C'è qualche documentazione che riguarda ciò che voglio fare scritta con questo linguaggio su internet ?

Bene, penso che sia più o meno tutto quello che possiamo rispondere =)