Cosas que debes tener claro antes de "comprar" o "montar" nada:
1º
Tecnología que vas a emplear para el desarrollo de esta aplicación. Esto a parte de definir la estructura principal del proyecto, hará que te decidas por alquilar o comprar un servidor u otro. Normalmente un servidor que soporte Java cuesta más caro que uno que soporta PHP o ASP. Igualmente un servidor ASP forzosamente llevará un sistema operativo Windows Server, mientras que uno PHP podrá ser Linux o Windows (a tu elección).
2º
Deberás disponer de un servicio de venta virtual. Esto lo puedes realizar de dos maneras. Bien con una cuenta paypal (que generalmente está asociado a una cuenta bancaria), o bien a través de un TPV Virtual (Terminal Punto de Venta Virtual). Esto lo consigues a través de tu banco. Ponte en contacto con ellos, para saber cómo pueden ofrecértelo y bajo qué condiciones.
3º A parte del servidor que pagues, necesitarás un
nombre de dominio que no exista ya. Si tienes pensado un nombre, podrás comprobar su disponibilidad simplemente haciendo un whois:
Whois Lookup & Domain Availability Search | DomainTools. Normalmente los proveedores te dan ofertas con paquetes para las dos cosas. Esto es cuestión de gustos... Normalmente un dominio .com suele ser más barato que un .es.
4º A parte de un servidor/contenedor web, necesitarás un
servidor de base de datos. Dependiendo del volumen de datos que vas a manejar (cantidad de usuarios, cantidad de ficheros subidos, mensajes, si vas a llevar control de log, auditorías, etc...), necesitarás un motor u otro. Si hablamos del orden de unos pocos miles, tal vez una base de datos MySQL sea suficiente, pero si nos vamos al orden de millones, tal vez te interese más una Oracle... Mi consejo es que veas las múltiples comparativas que hay en internet entra cada motor de base de datos (SQL-Server, PostgreSQL, Teradata, Oracle, MySQL, etc...), y elijas la que más te convenga. Claro que todo esto no es matemático... Puedes montarte un sistema que maneje infinidad de datos, mediante un sistema MySQL distribuido... o mediante cualquier sistema de clústering (por ejemplo Hadoop con HBASE) :D. Pero bueno, mi consejo es que si el negocio que tienes entre manos está en sus inicios, entonces empieza por algo más sencillo y barato, es decir, con MySQL. Si a la larga ves que se te queda pequeño, pues sólo tendrás que migrar a otra base de datos con más prestaciones.
5º Para desarrollar la aplicación tienes dos opciones:
I) Usar un CMS (Sistema gestor de contenidos), o
II) Implementarte el código en el lenguaje seleccionado.
Cada una tiene sus pros y sus contras... a mi personalmente me gusta más la segunda, aunque cualquiera te dirá que es mejor la primera:
Con un CMS ganas en simplicidad, tiempo de puesta en producción, tienes el soporte de la comunidad (si es open source) o de la empresa que lo desarrolló (si es privado), fácil de usar, etc... Pero también es menos seguro... en el momento en que un bug, o mejor dicho un exploit salga a la luz, hasta que no salga la actualización (o tu lo corrijas) estás expuesto a ser atacado. Y créeme, aunque nadie tenga nada en contra tuya, tu negocio o sea algo personal, serás víctima de un ataque... En el 99% de los casos, Google habrá llevado a ese atacante hasta tu sitio, para que ese "atacante" haga una prueba de concepto :). Por otro lado, los CMS, con perdón de los amantes de CMS, meten "mucha mierda" que perjudica en la mayoría de los casos a la reputación de tu sitio, y si no, sólo basta ver el código fuente de la página generada, y ver los CSS redefinidos o sobreescritos, la cantidad de código JavaScript generado, etc... que lo único que hace es entorpecer tu aplicación y hacerla más lenta.
Un usuario que va a descargar contenido, quiere a toda costa rapidez.
6º Por último necesitas darte a conocer, y que te vaya bien. Aquí hay compañeros expertos en
SEO, que podrán orientarte mejor que yo... ya que el Black SEO está muy mal visto por Google y otros buscadores.
Si necesitas algo más, aquí en Hackhispano estaremos encantado de ayudarte.
Un saludo.