Acabo de terminar la lectura de este libro "Ingeniería de Software Ágil"
Me atreví a comprarlo después de ver una referencia suya en los comentarios de un artículo de barrapunto que habla sobre las "10 razones por las que fallan las estimaciones de plazos".
El libro me ha gustado mucho. Tiene dos partes, una de gestión de proyectos y otra sobre la práctica del desarrollo de software.
La primera parte es la mejor para mi gusto. Los primeros capítulo es una explicación, sencilla, clara y convincente del fracaso en la breve historia de la ingeniería del software. El primer capítulo es gratis y se puede descargar directamente de su web. Esta parte explica claramente cual debería ser la figura del desarrollador de software, porqué está considerado como un mero obrero cuando es casi justo lo contrario. Por qué falla la planificación tradicional y el capítulo de "Adaptación al cambio" son dos buenos capítulos. Los dedicados a Scrum y Programación Extrema son introductorios pero siguen el mismo esquema y nivel global del libro y se agradece.
La segunda parte es más pobre para mi gusto pues requeriría de mayor extensión el libro para poderse aprovechar completamente. Aun así los primeros capítulos son muy buenos cuando habla de los principios y patrones de diseño o de como debería ser la documentación ágil. Los últimos capítulos, -que se basan en la construcción, depuración, estándares de codificación y edición del código- tienen una orientación muy UNIX y quizás con un aire un poco caduco pero eso no quita la razón de su necesidad de conocer y dominar las herramientas expuestas pues a día de hoy no dejan de ser reinvenciones.
En definitiva, un libro obligatorio para todos aquellos que nos dedicamos al software que aunque no dice nada absolutamente nuevo tiene un gran hilo conductor. El libro da un repaso general a la ingeniería del software actual que encandila pues aunque no profundiza marca una claridad en lo expuesto. Totalmente recomendable
lunes, 6 de septiembre de 2010
domingo, 11 de julio de 2010
GIS y "La Nube"
Desde hace tiempo, llevo pensando hacer un artículo que hable sobre La Nube y GIS pues han aparecido varios artículos últimamente y mis ideas se han ido disparando.
Hace tiempo salió la noticia en la que la plataforma Azure soportaba en sus base de datos tipos espaciales. No está mal, pero no es lo que busco Con ello podemos en nuestras aplicaciones en la nube realizar análisis de los datos espaciales con operaciones de la base de datos pero no tenemos herramientas para poder mostrarlo de manera sencilla. Ni de como subir y operar con nuestra cartografía. Nos falta un motor espacial como ArcGIS Server, Geoserver, etc... que podamos poner en la nube de manera sencilla.
ESRI es el líder en temas de GIS, tiene los productos en mi opinión y quizás no siendo objetivo, mejores que hay en el mundo pero es caro. Estoy muy interesado en saber que intenciones tienen para La Nube. En un artículo de uno de los blogs que más me gustan me quedé un poco decepcionado. Creo que ESRI intenta dirigirse a esta nueva tecnología pero con las mismas licencias que antes. Por ahora parece bastante caro. No dudo que con el tiempo irán sacando soluciones más acertadas. Además el Cloud Computing como elemento disruptivo va a generar más de un problema en las grandes empresas.
Entonces queda buscar una solución buena (quizás no tan buena como utilizando productos de ESRI pero si lo suficientemente buena), bonita y barata.
Aquí es donde he encontrado la web de GIS Cloud. Esto si me ha empezado a parecer bastante interesante. Desconozco los precios. No se si es barato. Pero si he jugado un poco con la cuenta gratuita y me ha sorprendido como subir de manera sencilla (FTP) tu cartografía y poder operar con un visualizador que dispone de bastante funcionalidad. Parece un GIS genérico que puede encajar en bastantes casos pero no parece que se pueda mostrar de manera sencillas fichas de información o adaptaciones especiales para otros temas de GIS. De todas las maneras, habrá que seguir echándole un vistazo.
También quiero dejar de lado elementos como Arcgis.com o el API de Google Maps o de Bind. Son muy buenos y si te sirven para tu aplicación junto con sus condiciones no tienen rival. La idea es poder tener disponible como elemento de desarrollo de tu propia aplicación un servicio o motor GIS propio.
Entonces es donde se me ocurre que lo interesante sería tener un motor GIS open-source como GeoServer junto una base de datos espacial gratuita como Postgres en una plataforma de Cloud Computting barata y potente.
Aquí es donde he encontrado el suministrador Skygone que se especializa en temas de GIS (¿será porque también tiene la sede en Redlands?). No conozco a este proveedor pero la verdad es que tiene un sitio web especializado en despliegue de soluciones GIS en la nube. Curiosamente tiene plantillas de despliegue de GeoServer, ArcGIS o MapServer.
Solo queda ver que posibilidades existen con Amazon AWS, una de las plataformas más baratas, potentes y de moda en el momento. Me llama la atención que GeoServer sacó un proyecto para experimentar con AWS pero del que no he sacado ninguna conclusión.
Por ahora es esta página la que da en el blanco con lo que se busca y ofrecen imágenes AMI gratuitas con la configuración para un GeoServer+PostGIS en servidor Linux muy interesantes. Solo me faltaría poder jugar con ellas.
La verdad es que los precios de Amazon son bastante impresionantes:
El precio de una pequeña computadora con 1,7 GB de Memoria cuesta $0.085 por hora que tengamos la imagen encendida. Un Giga de almacenamiento de EBS cuesta $0.10 al mes aunque hay que sumar el número de peticiones de almacenamiento que son $0.10 por cada millón de peticiones más la transferencia de datos a través de Internet que son $0.00 el primer Giga y $0.15 cada GIGA transferido.
Apetece hacer unas pruebas..... Uno piensa que puede montar un sistema GIS escalable por poco dinero.
He hecho dos experimentos para calcular el coste que tendría una solución GIS, en los que seguro me falta algo.
La primera es la solución más pequeña posible consistente en un pequeño Linux encendido el 100% del tiempo con las características como el descrito anteriormente y 100Gb de almacenamiento. Total $110 al mes.
La siguiente solución es una más compleja compuesta de 2 instancias para el servidor de aplicaciones y mapas de tipo "Large" (7.5 Gb de Memoria y 2 Virtual Cores cada una) y una instancia de tipo "Large" para la Base de Datos. También he puesto balanceo de carga y monitorización de cada una de las instancias. Total $881 al mes
Otros temas que me llaman la atención:
- La posibilidad de poner una instancia del balanceador en Europa y otra en América del Norte.
- Tener una instancia reservada para poder hacer los "tiles" de nuestros mapas y solo activarla cuando lo vayamos a necesitar. Esto nos conlleva que las otras instancias están trabajando sin problemas y dando servicio al público mientras tenemos otra que está haciendo el trabajo "sucio". Pensemos en otras operaciones GIS costosas que se realizan de vez en cuando.
- Cuando las instancias son reservadas, en vez de bajo demanda (mínimo por un año) los precios de las instancias bajan considerablemente.
- Intentar hacer uso del almacenamiento S3 que es mucho más barato, al menos desde el código de nuestras aplicaciones pues tenemos un API preparado para ello.
Merece un buen experimento...
Hace tiempo salió la noticia en la que la plataforma Azure soportaba en sus base de datos tipos espaciales. No está mal, pero no es lo que busco Con ello podemos en nuestras aplicaciones en la nube realizar análisis de los datos espaciales con operaciones de la base de datos pero no tenemos herramientas para poder mostrarlo de manera sencilla. Ni de como subir y operar con nuestra cartografía. Nos falta un motor espacial como ArcGIS Server, Geoserver, etc... que podamos poner en la nube de manera sencilla.
ESRI es el líder en temas de GIS, tiene los productos en mi opinión y quizás no siendo objetivo, mejores que hay en el mundo pero es caro. Estoy muy interesado en saber que intenciones tienen para La Nube. En un artículo de uno de los blogs que más me gustan me quedé un poco decepcionado. Creo que ESRI intenta dirigirse a esta nueva tecnología pero con las mismas licencias que antes. Por ahora parece bastante caro. No dudo que con el tiempo irán sacando soluciones más acertadas. Además el Cloud Computing como elemento disruptivo va a generar más de un problema en las grandes empresas.
Entonces queda buscar una solución buena (quizás no tan buena como utilizando productos de ESRI pero si lo suficientemente buena), bonita y barata.
Aquí es donde he encontrado la web de GIS Cloud. Esto si me ha empezado a parecer bastante interesante. Desconozco los precios. No se si es barato. Pero si he jugado un poco con la cuenta gratuita y me ha sorprendido como subir de manera sencilla (FTP) tu cartografía y poder operar con un visualizador que dispone de bastante funcionalidad. Parece un GIS genérico que puede encajar en bastantes casos pero no parece que se pueda mostrar de manera sencillas fichas de información o adaptaciones especiales para otros temas de GIS. De todas las maneras, habrá que seguir echándole un vistazo.
También quiero dejar de lado elementos como Arcgis.com o el API de Google Maps o de Bind. Son muy buenos y si te sirven para tu aplicación junto con sus condiciones no tienen rival. La idea es poder tener disponible como elemento de desarrollo de tu propia aplicación un servicio o motor GIS propio.
Entonces es donde se me ocurre que lo interesante sería tener un motor GIS open-source como GeoServer junto una base de datos espacial gratuita como Postgres en una plataforma de Cloud Computting barata y potente.
Aquí es donde he encontrado el suministrador Skygone que se especializa en temas de GIS (¿será porque también tiene la sede en Redlands?). No conozco a este proveedor pero la verdad es que tiene un sitio web especializado en despliegue de soluciones GIS en la nube. Curiosamente tiene plantillas de despliegue de GeoServer, ArcGIS o MapServer.
Solo queda ver que posibilidades existen con Amazon AWS, una de las plataformas más baratas, potentes y de moda en el momento. Me llama la atención que GeoServer sacó un proyecto para experimentar con AWS pero del que no he sacado ninguna conclusión.
Por ahora es esta página la que da en el blanco con lo que se busca y ofrecen imágenes AMI gratuitas con la configuración para un GeoServer+PostGIS en servidor Linux muy interesantes. Solo me faltaría poder jugar con ellas.
La verdad es que los precios de Amazon son bastante impresionantes:
El precio de una pequeña computadora con 1,7 GB de Memoria cuesta $0.085 por hora que tengamos la imagen encendida. Un Giga de almacenamiento de EBS cuesta $0.10 al mes aunque hay que sumar el número de peticiones de almacenamiento que son $0.10 por cada millón de peticiones más la transferencia de datos a través de Internet que son $0.00 el primer Giga y $0.15 cada GIGA transferido.
Apetece hacer unas pruebas..... Uno piensa que puede montar un sistema GIS escalable por poco dinero.
He hecho dos experimentos para calcular el coste que tendría una solución GIS, en los que seguro me falta algo.
La primera es la solución más pequeña posible consistente en un pequeño Linux encendido el 100% del tiempo con las características como el descrito anteriormente y 100Gb de almacenamiento. Total $110 al mes.
La siguiente solución es una más compleja compuesta de 2 instancias para el servidor de aplicaciones y mapas de tipo "Large" (7.5 Gb de Memoria y 2 Virtual Cores cada una) y una instancia de tipo "Large" para la Base de Datos. También he puesto balanceo de carga y monitorización de cada una de las instancias. Total $881 al mes
Otros temas que me llaman la atención:
- La posibilidad de poner una instancia del balanceador en Europa y otra en América del Norte.
- Tener una instancia reservada para poder hacer los "tiles" de nuestros mapas y solo activarla cuando lo vayamos a necesitar. Esto nos conlleva que las otras instancias están trabajando sin problemas y dando servicio al público mientras tenemos otra que está haciendo el trabajo "sucio". Pensemos en otras operaciones GIS costosas que se realizan de vez en cuando.
- Cuando las instancias son reservadas, en vez de bajo demanda (mínimo por un año) los precios de las instancias bajan considerablemente.
- Intentar hacer uso del almacenamiento S3 que es mucho más barato, al menos desde el código de nuestras aplicaciones pues tenemos un API preparado para ello.
Merece un buen experimento...
domingo, 27 de junio de 2010
Grandes amenazas por el Cloud Computing
Parece evidente que la llegada del Cloud Computing está haciendo que antiguos modelos de negocio se replanteen, sobre todos aquellos que estaban basados en el PC, en el software que residía en la propia máquina. Una de estas compañías es Microsoft. ¿Quién no tenía hasta hace bien poco su sistema operativo o su software ofimático?
Leyendo el artículo de Barrapunto queda claro que las cosas están cambiando.
En mi opinión:
- No será de manera inmediata.
- Se intentará mantener en la medida de lo posible que la gente siga utilizando sus soluciones (office starter) aunque sean gratuitas.
- Ciertas áreas de negocio van a decrecer. Claramente la de sistemas operativos al haber cada vez más y mejores gratis. También sufrirá la parte ofimática. Yo cada día utilizo Zoho o Google Docs con cotidianidad. Aunque no tienen toda la funcionalidad de formato que Office me ofrecen una colaboración con la gente muy superior.
- Adaptación a la nube. Todos los productos sacarán su adaptación a la nube de manera clara.... el como su modelo de negocio pueda subsistir... es otra cosa.
Veremos que ocurre...
Leyendo el artículo de Barrapunto queda claro que las cosas están cambiando.
En mi opinión:
- No será de manera inmediata.
- Se intentará mantener en la medida de lo posible que la gente siga utilizando sus soluciones (office starter) aunque sean gratuitas.
- Ciertas áreas de negocio van a decrecer. Claramente la de sistemas operativos al haber cada vez más y mejores gratis. También sufrirá la parte ofimática. Yo cada día utilizo Zoho o Google Docs con cotidianidad. Aunque no tienen toda la funcionalidad de formato que Office me ofrecen una colaboración con la gente muy superior.
- Adaptación a la nube. Todos los productos sacarán su adaptación a la nube de manera clara.... el como su modelo de negocio pueda subsistir... es otra cosa.
Veremos que ocurre...
domingo, 20 de junio de 2010
Cloud Computing. Resistencia tecnológica
¿A que se debe esta lentitud? [....] a la presencia de personas en las empresas, particularmente los encargados de gestionar los centros de datos y las infraestructuras tecnológicas corporativas, que se negarán a aceptar las evidencias digan lo que digan los datos. Para el responsable de la informática corporativa, salvo honrosas excepciones, un centro de datos remoto siempre será un peligro para la seguridad, nunca estará tan bien atendido como en la propia empresa y tendrá un nivel de servicio infinitamente inferior. No solo lo afirmará con vehemencia, sino que tendrá varios casos que citar, varias historias para no dormir recogidas de las habladurías y exageraciones de sus compañeros de profesión, que demuestran exactamente lo contrario. La evidencia, simplemente, contradice sus experiencia, su aprendizaje, la esencia de su trabajo, el cómo se hacían las cosas antes de que la tecnología cambiase. Y pone decididamente en peligro su puesto de trabajo: ante la externalización de muchos servicios, es indudable que el dimensionamiento de los departamentos de tecnología dentro de las empresas se verá en cierta medida reducido. Algo que no es fácil de aceptar para nadie.Todo va a cambiar. Enrique Dans
miércoles, 16 de junio de 2010
ASP.NET MVC - Tutorial NerdDinner
He estado estos días haciendo el tutorial de NerdDinner para aprender un poco sobre el modelo de desarrollo MVC de Microsoft
El modelo MVC es muy famoso y yo había hecho ya algunas pequeñas cositas en Java con el framework de STRUCTS
La verdad es que el tutorial me ha gustado mucho. No solo porque hace que parezca muy fácil sino por lo que te hace pensar en el desarrollo de la aplicación.
De todo ello me ha gustado:
Creo que también es interesante utilizar este sistema para que proyectos Java y proyectos .NET que estén bajo este modelo sean parecidos y equipos de desarrollo puedan trabajar en ambos mundos sin muchos problemas.
Este tutorial es totalmente recomendable para los que quieran empezar en este modelo.
El modelo MVC es muy famoso y yo había hecho ya algunas pequeñas cositas en Java con el framework de STRUCTS
La verdad es que el tutorial me ha gustado mucho. No solo porque hace que parezca muy fácil sino por lo que te hace pensar en el desarrollo de la aplicación.
De todo ello me ha gustado:
- La estructura de proyecto que define MVC2. Ayuda mucho en tener todo organizado. Quizás para proyectos habrá que separarlo en librerías, sobre todo la parte del modelo. Habrá que ver algún proyecto más grande para ello.
- La posibilidad de hacer pruebas unitarias al proyecto web. Eso que siempre dejamos atrás. Uso de Dependency Injection y objetos Mock con la librería gratuita Moq ha sido muy interesante. El desarrollo de pruebas unitarias es un arte que es necesario dedicar tiempo y aprender.
- El uso que hace de todas las posibilidades del Framework 3.5 como "Linq for SQL" o la interfaz IQuerable.
- La integración con los sistemas de información geográfica a través de las funciones de JavaScript con las librerías de mapas de BING haciendo uso de AJAX y JSON.
- La re-utilización de vistas parciales y el enfoque del diseño basado en la edición de las fuentes de HTML y no utilizando la vista de diseño.
- Las utilidades que da el framework MVC para ayudar a no escribir mucho código repetitivo.
Creo que también es interesante utilizar este sistema para que proyectos Java y proyectos .NET que estén bajo este modelo sean parecidos y equipos de desarrollo puedan trabajar en ambos mundos sin muchos problemas.
Este tutorial es totalmente recomendable para los que quieran empezar en este modelo.
domingo, 16 de mayo de 2010
Artículo de computing.es sobre cloud computing
Pongo este enlace sobre un artículo que acabo de leer de cloud computing.
En el se puede ver que el cloud computing no es una broma y que hay grandes empresas que están haciendo un uso inteligente de este modelo.
Lectura muy recomendable
En el se puede ver que el cloud computing no es una broma y que hay grandes empresas que están haciendo un uso inteligente de este modelo.
Lectura muy recomendable
lunes, 3 de mayo de 2010
Utilizando Amazon S3 como sistema de Backup
Acabo de leer este artículo donde se puede observar como se utiliza el sistema de "Computación en la Nube" de Amazon como sistema de Backup. Hay que pensar que el coste de estos sistemas es muy competitivo y que su fiabilidad es muy alta.
Os recomiendo su lectura.
Os recomiendo su lectura.
Suscribirse a:
Entradas (Atom)