OurBit


Random slogan commming soon/Próximamente, slogan aleatorio

Ese código no es nuestro

La primera vez que leí algo acerca de la “Ley de Conway” fue en el contexto de un excelente libro “Building Microservices” by Sam Newman. Esta ley dice que: “Cualquier organización que diseña un sistema (en el sentido amplio de su definición), producirá un diseño cuya estructura es una copia de la estructura comunicacional de la organización”.

Seguir leyendo →



APIsAR Episodio V - API Management con Azure

Durante un evento realizado el pasado 3 de Mayo de 2017, en Buenos Aires German Küber dió una presentación acerca de API Management con Azure, la plataforma desarrollada y comercializada por Microsoft.

Seguir leyendo →



La teoría "Dueño vs. Víctima" y las trampas de usarla para todo

Si ya tengo su atención, déjenme decirles que este no es el artículo donde se vaya a explicar el significado de la teoría, el cual se puede encontrar en un sin fin de lugares. De todos modos se va a tratar de manera general, ya que estamos hablando del tema. Este artículo es más bien acerca de las trampas en las que cae la gente cuando intenta leer gente, y de cómo el mal uso de esta teoría puede llevarnos a perdernos mensajes importantes.

Seguir leyendo →



APIsAR Episodio IV - Introducción a GraphQL

Durante un evento realizado el pasado 9 de Noviembre de 2016, en Buenos Aires Horacio “Qcho” Gomez dió una introducción a GraphQL, la tecnología desarrollada y utilizada por facebook para constuir sus propias APIs.

Seguir leyendo →



Acerca de la predictibilidad y definir claramente los objetivos del equipo

Es responsabilidad de un Manager de Ingeniería garantizar la salud del equipo medida en términos de cualidades tales como performance, compromiso, responsabilidad y predictibilidad (entre un montón de otras). Sin embargo, esto no puede ser forzado por el Manager. En realidad el esfuerzo del equipo, y su correcta canalización son factores decisivos para alcanzar estos objetivos. Porque estos, son objetivos, ¿o no?

Seguir leyendo →



Los acrónimos realmente apestan

Mientras leía “Elon Musk”, en un colectivo, camino a casa, no pude evitar reirme de un email que envió a todos los empleados de SpaceX acerca del mal o excesivo uso de acrónimos. El asunto del mail era “Acronyms Seriously Suck” (Los acrónimos realmente apestan) (ustedes mismos pueden resolver el acrónimo para esa línea).

Seguir leyendo →



Una recopilación de patologías de los Arquitectos de Software

Por Marcos Chicote, Guido de Caso, y Norberto Herz

Poco después de que el campo de las arquitecturas de software naciera formalmente, gracias al trabajo de Garlan, Shaw, Notkin y otros a principios de los 90s, el rol del “Arquitecto de Software” apareció en el área del desarrollo de software. De acuerdo con las definiciones de la comunidad de Arquitectura de Software, el trabajo de un arquitecto es definir el diseño de alto nivel de un sistema de software, o en otras palabras, tomar las principales decisiones de diseño para construir ese puente entre requerimientos e implementación.
Sin embargo, llevado a la práctica no es tan sencillo. El trabajo del arquitecto está lleno de “trampas” y contradicciones. En este artículo describimos cinco patologías que pueden afectar a los arquitectos de software, incluyendo síntomas y tratamiento, con el objeto de disparar algunas discusiones acerca del rol y su evolución esperada.

Seguir leyendo →



Nobel 0.2 soporta Swagger y RAML

Tiempo atrás, cuando trabajaba con el equipo que desarrolló RAML, aproveché el tiempo de una hackathon para crear una primera versión de Nobel. En pocas palabras, Nobel es una aplicación que utiliza una definición de una API en un lenguaje de alto nivel (Swagger o RAML) para generar el código Arduino que implementa dicha API. Esta primera versión solo soportaba RAML como lenguaje de definición. Recientemente, habiendo podido investigar un poco más Swagger y sus herramientas, pude agregar soporte para este lenguaje también.

Seguir leyendo →



Docker en acción I

Hace unos (cuantos) años, hablar de escalabilidad traía a la mesa una serie de sorpresas de todo tipo. Gente hablando de escalabilidad como una cualidad del hardware, gente demasiado soprendida al escuchar que el que escala no es el hardware sino que las aplicaciones deben estar diseñadas de forma que puedan escalar, y por supuesto, la poca distinción entre escalabilidad horizontal y vertical.
Afortunadamente, en estos días, el concepto ha sido digerido, explicado y aparentemente entendido, pero sigue resultando curioso entender por qué durante tantos años, hubo tanta confusión al respecto.
No se si es causa o efecto de esta nueva era, pero la virtualización juega un rol principal, y especialmente, la virtualización mediante containers.
Este es el primer post de una saga de tres, en la cual se cubrirán los conceptos básicos de escalabilidad, el rol/cultura DevOps, introducción a Docker, una explicación y guía para su instalación, primeros pasos y configuración de una docker regisrty. En este primer post, DevOps, y escalabilidad.

Seguir leyendo →



De una API a una Streaming API

Son muchas las ventajas de desarrollar una API que exponga los recursos de nuestra aplicación. En particular, se logra reducir al mínimo el acoplamiento entre capas, y mejor aún permite que distintas aplicaciones accedan a nuestros recursos. En el caso de APIs bien diseñadas, además, esto ocurrirá de una forma intuitiva.
Pero incluso las mejores APIs pueden estar implementadas para que el cliente realice una llamada cada vez que quiere conocer el estado de un recurso. Para este caso, la API deberá devolver el recurso entero cada vez que sea solicitado.
Pero, ¿no sería más eficiente si la API solo devolviera lo que cambió desde la última vez que fue consultada? ¿Y no sería incluso más eficiente si el cliente no necesitara llamar a la API para chequear si algo cambió?
Streaming APIs (y su buena implementación) apuntan exactamente a esto. En este post veremos cómo pueden ser implementadas, y cómo funciona streamdata.io para convertir una API tradicional en una Streaming API.

Seguir leyendo →