November 22nd, 2011 Category: Ambiente de Desarrollo cloud Open source Programacion
3 Comments »
Seguramente les paso muchas veces que tuvieron que heredar algun desarrollo ya empezado, y tenian que perder mucho tiempo leyendo codigo y usando la aplicacion para entender como funcionaba y sin embargo siempre encontraban algo nuevo. Que genial seria poder leer la documentacion de como esta diseñado un software y poder entender, alcance, features, bugs, puntos de entrada, tecnlogias usadas, etc. Lamentablemente esto casi nunca pasa, y tenemos que hacerlo de la forma dificil y lenta. Pero nosotros podemos cambiar eso, e implementar politicas de documentacion para nuestros proyectos.
En estos sistemas podemos agregar documentos, screenshot, imagenes, especificaciones de instalacion, configuracion, librerias a usar, detalle de servidores, listado de grupos de desarrollo (en el caso que sean varios grupos), etc. Todo lo que puede servir para que una persona nueva en el grupo o alguien que herede nuestro codigo pueda entender como funciona leyendo la documentacion del desarrollo.
Como formato ideal de documentacion para este tipo de cosas, me parece que gana el estilo wiki. No solo tenemos wikimedia, sino que tambien contamos con Trac, Confluence, PbWorks, y muchos mas. Pero obviamente si les resulta comodo usar google docs, o archivos con formato Word o Excel tambien es valido, pero por experiencia siempre terminamos teniendo carpetas inecesarias con un monton de archivos que no sabemos de que hablan, y capaz que ya perdieron vigencia.
Aca les voy a contar de algunos proyectos interesantes que pueden usar para sus proyectos.
Mediawiki.
El mismo codigo que se usa para la wikipedia esta disponible para que nosotros podamos instalarlo internamente en nuestro servidor con nuestros documentos privados, funciona de la misma forma que la wikipedia y se puede descargar de http://www.mediawiki.org/wiki/Download/es, dentro de nuestro ambiente lo podemos configurar como una pagina comun y corriente.
Mediawiki es un producto open source. Y no hay que pagar por usarlo
Confluence
Esta es otra alternativa a mediawiki que se presume mas completa y facil de integrar con otras herramientas como Jira.
http://www.atlassian.com/software/confluence/overview
Lamentablemente este servicio es pago. Pueden usar los servidores de atlassian.com o pueden usarlos dentro de su ambiente. Cualquiera de las dos es viable, el producto es muy bueno a pesar de su precio.
Trac

Durante mucho tiempo use Trac, no solo por la wiki, tambien por su integracion con el repositorio de svn, la verdad es que hoy no me resulta comodo, hay muchas alternativas, y esta paso a ser de mis ultimas elecciones. Trac esta desarrollado en python, y tiene plugin para integrarlo con git y creo que tambien con mercurial y bazaar. Es open source y gratuita.
http://pbworks.com/
Basecamp

http://basecamphq.com

Red Mine
Me olvidaba de una de las mejores alternativas opensource, RedMine. Desarrollado en Ruby on Rails, es una excelente alternativa a Jira + Confluence, un producto super completo y libre.
Conclusion
Hay otras soluciones, pagas y gratuitas para documentar nuestros desarrollos. Estas son con las que trabaje, en el proximo articulo vamos a tratar de elegir que software de control de versiones usar, y cual elegir entre tantas opciones nuevas.
No solo es importante configurar un ambiente sino tambien usarlo. Si implementamos algun sistema para documentar y no lo usamos no tiene sentido, es una buena costumbre documentar el codigo, y es algo vital para el futuro inmediato.
March 8th, 2010 Category: amazon cloud Programacion
No Comments »
Estuve teniendo unos problemas con un servidor en produccion, y me ocupo la mayor parte de mi ultimo tiempo, por eso no continue los capitulos de … “Escalando nuestras web”. La verdad que en este tiempo lei mucho sobre todo lo que este relacionado con la nube. Uno de los casos de exito que mas me intereso fue el de meneame. Como la mayoria debe saber meneame es un servicio de publicacion de noticias, donde los usuarios menean la noticia o no. Mientras mas meneos tenga mejor vista estara la noticia y conseguiras mas visitas a la misma, ademas de aumenta nuestro karma que es la valorisacion en meneame de un usuario. Pero lo que nos importa a nosotros es que es un sitio con muchisimo trafico. El cual su creador y director Ricardo Gallir decidio montar meneame en la nube.
Los videos que vamos a ver a continuacion son unas charlas que dio, donde explica, el porque y como migro a Amazon toda la estructura de meneame, que como nos va a explicar el no es nada sencillo. El audio esta bastante bajo pero el material es de altisima calidad para perderselo, suban lo maximo que puedan el volumen y disfruten de la conferencia.
Parte 1.
En el video van a encontrar una explicacion sobre el contenido estatico muy interesante en el cual Ricardo nos recomienda tener un dominio totalmente diferente para manejar este tipo de contenido, y tambien nos aconseja si vamos a manejar imagenes muy chicas no conviene usar cloudfront para esto porque encarece mucho los costos, y si usar otro servidor tipo lighthttp o nginx que la tienen mas clara con el manejo de contenido de este tipo. Siempre sobre el puerto 80 y no esas locuras de ponerlo en el 8080 que limitan a los usuarios que acceden desde lugares donde tienen restringidos los puertos.
Tambien nos explica bastante bien como funciona EC2 y que son las instancias. Los costos en un monstruo como Meneame y lo compara con los presupuesto que le dieron empresas como arsys.es entre otras.
Presten atencion a la parte que habla sobre escalado vertical y horizontal, y las herramientas que amazon EC2 nos brinda para esto.
Parte 2.
En la segunda parte vamos a un ejemplo practico como configurar Amazon EC2 para tener nuestra propia instancia y un sitio corriendo
Despues de estas charlas, y algunos comentarios en su blog y en el blog de meneame, Ricardo Gallir practicamente se convirtio en un promotor de Amazon. Tampoco es raro verlo en twitter haciendo comentarios sobre el buen servicio de amazon.
Esta es una opcion que todos deberiamos analizar cuando nuestro trafico requiere recursos que ningun hosting de usd 3 puede ofrecernos.





