Inicios - Proyecto web

BLZKZ

#30 vagos.es y taringa si no me equivoco es php+mysql y fin prefabricado todo xD

1 respuesta
Tunnecino

#31 Permiteme dudar de que Taringa sea prefabricado.

HoTiTo

Y respecto a las bases de datos no relacionales, tienen ventajas claras frente a las relacionales de toda la vida? Tengo la impresión de que se están poniendo de moda por lo que he podido leer...

1 respuesta
PiradoIV

#33 igual lo que más de moda se está poniendo es usar los "Motores de persistencia" (Propel, Doctrine o mi turbo-favorito Datamapper, para CodeIgniter).

El problema que tienen es que, para que todo sea tan mágico, hacen muchas llamadas innecesarias a la base de datos. En cualquier caso, en la mayoría de los casos merece más la pena, porque sale infinitamente más barato contratar un hosting con mejores características que pagarle a un desarrollador por preparar y mantener el código que te hace falta para hacer lo mismo pero más optimizado.

En el peor de los casos, si empiezas a hacer una web tirando de estos motores y es necesario hacer alguna llamada concreta a la base de datos a mano, para tenerla mucho más optimizada, tienes la oportunidad de hacerlo =)

HoTiTo

Omg, vale, los ORM si que me suenan ya xd

Le echo un ojo a Datamapper y probablemente lo incluya conjuntamente con CodeIgniter.

Letto

Es que hoy en día al precio que está el hosting y con soluciones como las de Amazon que te permiten escalar fácil es mejor centrarte en hacer una web de cojones y si triunfa aguantas de manera temporal ampliando hard y vas optimizando código e infraestructura técnica.

eisenfaust

El problema viene cuando empiezan a venderte el rapid on fire and steroids development de RoR (por poner el ejemplo de moda), y luego a la hora de verdad te encuentras en seis meses con exactamente lo mismo que tendrías en Perl, pero con nula capacidad de iteración y maleabilidad.

Y ya no hablemos de que se le crucen los cables al equipo de desarrollo, y decidan que determinado ORM ya no es cool y hay que usar otro. O que en un futuro quieras emplear cierta feature pero estés usando una versión del framework antigua, quieras hacer un upgrade y te metas en un dependency hell de tres pares de cojones.

Por suerte la comunidad de PHP perdió el momentum hace años.

BTW, noticia fresca: http://www.infoq.com/articles/twitter-java-use

1 respuesta
MisKo

Si tuvieras que basarte por defecto en un framework, si que usaria lo de codeigniter, pero yo soy de la opinion de que las cosas se hacen justo como se necesitan, sin funciones de mas y sin funciones de menos, osea, a medida xD

Claro que para hacer eso, se puede emplear jquery y cosas asi, pero para PHP, prefiero hacerlo todo desde 0

2 respuestas
yarviT0

comot ehan dicho por ahi arriba, te recomiendo synphoni; codeigniter está bien pero tiene algunas cosas que son para meterte un tiro (control de sesiones y cookies por ejemplo)

#38 codeigniter creo que es de los framworks más "limpios" .

Josepanaero

#38, haciéndolo todo a medida claro que sale como a ti te gusta, pero en un entorno de producción hay que tener en cuenta muchas cosas. Y si dispones de herramientas que te agilicen mucho el desarrollo de las tareas más tediosas, lo más productivo es usarlas y no reinventar la rueda.

Y por varios motivos, además: es muchísimo más rápido de hacer (ya está hecho), más seguro (al estar testeado ya por mucha gente), es más estándar (en el sentido de que si usas CodeIgniter, otra persona que se incorpore al proyecto y también conozca CI, le costará menos adaptarse que si tiene que enterarse de cómo funciona tu código hecho a mano), etc.

Salu2.

1 respuesta
MisKo

#40 si, si no te digo lo contrario, todo eso son las ventajas de un framework, pero tambien ten en cuenta que, al ser probado por muxa gente, tambien es mas abierto a encontrar vulnerabilidades por ejemplo.

No digo que usar un framework sea malo, al reves, tiene muchas cosas muy buenas, pero que si tuviera tiempo, yo lo haría todo a medida xD

HoTiTo

Bien, pues hemos contratado un servidor dinámico que puedes ir escalando en hardware según las necesidades.

http://alta.1and1.es/xml/order/CloudDynamicServer;jsessionid=8C2CB203467F30D31D5EDA1F5C00C986.TCpfix151a?frame=_top&lf=Order-Tariff&linkOrigin=ServerPremium&linkId=hd.tab.cds

Los precios me parecen muy competitivos la verdad, recordaba los servidores dedicados bastante más caros xD

Hemos metido Apache2, PHP 5.2, MySQL, phpMyAdmin, CodeIgniter y estamos con el ORM. El hecho de que sea transferencia ilimitada está más que bien por la naturaleza del proyecto, pero los 100 mbps se quedarán cortos. Es un portal con gran cantidad de vídeos a visualizar vía streaming, y con 100 mbps nuestros cálculos dan para 200 personas simultáneas, lo cual es una chusta de mierda.

Así que la idea principal hasta el momento es alojar la web en un servidor dinámico, y los videos subidos por los usuarios en servidores auxiliares que sirvan el streaming a través de la web hospedada en el servidor principal.

Ahora bien, ¿que opciones conocéis para estos servidores auxiliares? ¿hay empresas ofreciendo servidores para este tipo concreto de caso (mucho caudal/transferencia disponible con precios ajustados)?

2 respuestas
PiradoIV

Di que conseguir 200 personas simultáneas de golpe y porrazo son muchas personas, ¿eh? =)

Prepara el proyecto para migrar a Amazon cuando quieras, si ves que te va a hacer falta. En cualquier caso puedes limitar la cantidad de cuentas a 50, 100, 150, 200, etc y así vas trasteando.

¡Mucha suerte!

scumah

#37 Yo evidentemente estoy hablando de gente experta, no uno que se ve el railcast de un blog en 5 minutos y se flipa. Evidentemente si un programador inexperto hace algo en rails, saldrá una caca, pero en PHP saldrá otra igual.

Y aún no sé porqué dices que rails da problemas a largo plazo... Teniendo en cuenta que twitter ahora mismo sigue estando hecha en gran parte con RoR, y que Groupon, Github, JustinTV, Hulu, Scribd o páginas amarillas, entre otras páginas enormes, también están hechas con rails, yo no lo entiendo.

Vamos, que a lo mejor alguno de nosotros hace una página con mucha más necesidad de escabilidad o maleabilidad que cualquiera de esas y resulta que con rails no nos da para mantenerlas, pero yo lo dudo muy mucho. Y ya te digo que sigo sin tener ni idea de porqué has dicho eso de rails, si lo supiera a lo mejor no te hubiera escrito nada de esto xD

pRAXIS

La tecnología en el fondo da igual, se pueden poner ejemplos de webs punteras en todas las tecnologías (.net, java, php, ruby...) Buscad con lo que os encontréis más o menos cómodos y a partir de ahí intented añadir cosas modernas, como usar jQuery; un ORM al principio es díficil de configurar (menos entity framework xD) pero a la larga las típicas operaciones CRUD salen volando y con menos errores que si tienes que tirar selects.

Y sobretodo suerte.

Kr4n3oK

Yo pienso que ya que andas oxidado en PHP no uses framework y programes desde 0, así te adentras en las tripas y ya después si eso, te metes en un framework.

1 respuesta
B

Los que dicen que ROR no escala... a que no sabeis bajo qué esta montado justin.tv?. Sobre #1, creo que se ha metido mas comida en la boca de la que puede masticar. Dicho esto, SUERTE!

#42 Red5 gratis o a gastarse la pasta con adobe y para alta diponibilidad olvidate de apache, usa nginx.

1 respuesta
HoTiTo

#46 Estoy oxidado porque hace un par de años que no lo toco, pero sé programar en PHP xD Además, no estoy yo solo, somos 4 personas y con posibilidad de contratar a más en caso de necesidad. No problem, pero gracias.

#47 Según estoy leyendo Red5 es un tipo de server especializado para streaming, ¿correcto? Pinta bastante bien, gracias!

Le estoy echando un ojo también a nginx, no tenía ni idea de que existía. He usado Cherokee, Lighttpd, etc, pero de éste no había oído nada. Gracias otra vez xdd

1 respuesta
eisenfaust

Creo que no se ha dicho que Rails no escale, sino que únicamente lo hace peor que su competencia.

Sólo hay que ver benchmarks. RoR es de todos los frameworks el que menos rendimiento ofrece, y de los cinco grandes lenguajes de scripting hoy día (Perl, Lua, Python, PHP y Ruby), éste ultimo es el más lento.

Pero bueno, al final que cada cual use la herramienta con la que es más productivo, que al final es lo que cuenta.

1 respuesta
HoTiTo

He encontrado esto a través de nginx, que puede ser interesante:

http://www.kegel.com/c10k.html

Básicamente, plantea el problema de tener una plataforma que aguante miles y miles de clientes simultáneamente, de ahí el fragmento siguiente:

"With that in mind, here are a few notes on how to configure operating systems and write code to support thousands of clients. The discussion centers around Unix-like operating systems, as that's my personal area of interest, but Windows is also covered a bit."

Tiene buena pinta.

B

#48 Yo implementé un web que necesitaba alta disponibilidad(4000 conexiones concurrentes de media) y nginx se las comia como si nada. Fijate que la mayoria de los sitios porno de streaming lo usan por el tema de consumo de recursos y disponibilidad.

1 respuesta
HoTiTo

#51 Me está convenciendo el tema, vamos a meter Nginx.

scumah

#49 Es que como habías dicho que si alguien elige rails para un proyecto, acabará dándole problemas, pues yo qué sé... Por eso preguntaba.

Letto

#42 Yo en una web con tanto contenido estático no me comería la cabeza y metería los vídeos en un CDN. El S3 de Amazon es el típico aunque yo trabajé con Tata (koreanos) y acabé encantado y con unos precios de risa.

Para el desarrollo y primera fase está bien tenerlo todo en local pero con el chip que eso va a ir fuera sí o sí en cuanto empiece a haber tráfico así que déjalo todo listo en un subdominio o similar de manera que sea muy poco traumático el publicarlo en CDN.

Las ventajas no son a nivel de costes sino que te permite centrarte en optimizar la aplicación y dejas todo el follón de ir escalando, balanceos, distribuir contenido por servidores a gente que lleva muchos años trabajando en ello y lo va a hacer mejor que tu seguro.

1 respuesta
HoTiTo

#54 Esa es nuestra idea, le eché un ojo a Amazon y me gustó lo que vi. Lo único que hemos hecho es instalar en el dedicado lo típico para los inicios como tú dices. De hecho, tenemos hecha una migración al dinamic cloud que nos permite ir escalando en hardware sin problemas. Lo único, como comenté anteriormente, el tema del ancho de banda que en cuanto se nos quede corto lo más lógico será tirar hacia Amazon.

Hemos instalado Nginx, el cual a primera vista consume bastante menos que Apache. Menos ram y menos procesos. Además, es bastante fácil de configurar y parece ir bastante bien.

Por ahora todo va según lo planeado xD

Gracias por todos los aportes!

P.D: Le echaré un ojo al tema del CDN también.

HoTiTo

Empiezo a cogerle gusto a CodeIgniter y sobre todo a DataMapper, son una virguería. Nice work.

Y la curva de aprendizaje es muy liviana. Iré poniendo los recursos que he ido encontrando para documentarme en el post inicial por si a alguno le sirve, aunque parece que aquí yo era el único mono que lo necesitaba xD

2 respuestas
MisKo

#56 a mi me interesaria que pusieras como te has ido documentado tanto de nginx como de code igniter, son cosas que tengo pendientes xD

BLZKZ

#56 lo mismo me pasó a mi con CI+DM es todo amor, y más cuando ves que haces todo bastante rápido.

dr_Rouman

Llego tarde, pero estoy trabajando últimamente con GWT y no está nada mal

HoTiTo

Estoy en proceso de modificar #1 para poner lo que elegí al final, como me documenté y los recursos que encontré por la red para poder dejar todo configurado y listo para trabajar. No sé si le servirá a alguno, pero es lo menos que puedo hacer por la ayuda que me habéis prestado xD