Montar blobs de Azure en Windows

Tal y como hicimos hace unas semanas con Linux, vamos a montar blobs de Azure en Windows para poder usar un container como una unidad de almacenamiento barato.

La verdad es que con Azure CLI y usando el comando subst sería muy fácil montar algo. Sin embargo, todo buen programador ha de revisar si alguien antes que él ya se ha enfrentado al mismo problema. En este caso, así es.

La empresa Gladinet mantiene (o mantenía, ya que no parece muy actualizado y algunos conectores han dejado de funcionar) un software que te permite montar como una unidad virtual casi cualquier repositorio online que se os podáis imaginar.

La página de descargas es una locura, y sólo uno de los enlaces parece llevar a su última versión (la 4) que es la que incluye un conector a los blobs de Azure que funciona.

Una vez instalado y conectado con vuestro container, ya podréis acceder a su contenido y subir archivos como si de cualquier otra carpata de vuestro sistema se tratase.

Montar blobs de Azure en Linux

Si necesitas más espacio en un sistema, por ejemplo, para almacenar copias de seguridad, puedes montar un almacenamiento en la nube como los blobs de Azure en Linux para dotar a tu sistema de almacenamiento “infinito” a un precio muy competitivo aprovechando el Storage.

Se puede hacer con cualquiera, yo lo voy a hacer con Azure porque es con el que suelo trabajar por defecto, aunque haya trabajado con muchos otros.

Esto lo he hecho en Ubuntu 18.04 aunque debería de poderse hacer con más o menos complicaciones en cualquier versión de Linux.

  1. Actualizar repositorios
    wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
    dpkg -i packages-microsoft-prod.deb
    apt-get update
    
  2. Instalar paquetes
    apt-get install blobfuse fuse -y
    
  3. Crear directorio temporal
    mkdir /mnt/resource/blobfusetmp -p
    
  4. Crear archivo de configuración
    vi ~/fuse_connection.cfg
    #Hay que poner las siguientes líneas sin comentarios y con los valores de tu cuenta, tu key y tu container
    #accountName myaccount
    #accountKey storageaccesskey
    #containerName mycontainer
    chmod 600 fuse_connection.cfg
    
    
  5. Montar en un directorio
    mkdir ~/disks
    blobfuse /root/disks --tmp-path=/mnt/resource/blobfusetmp  --config-file=/root/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120
    

Si esta última llamada la metes en un script que se llame, por ejemplo, desde rc.local te asegurarás de que la “unidad cloud” que has creado en Azure se monte con cada arranque del sistema.

Con esto habrás conseguido tener una nueva unidad montada aprovechando los blobs de Azure en Linux que, aunque sí tendrá más latencia que las unidades físicas de las que dispongas, su precio será mucho menor.

El futuro es transparente

Algunos ven el futuro negro, otros quieren un futuro verde, pero cada vez estoy más convencido de que el futuro es transparente. Transparente en cuanto a que las cosas estén claras, transparente en cuanto a no esconder e ir con la verdad por delante. Vamos a ver algunos ejemplos.

Camino transparente

Históricamente en este país se ha guardado mucha información de manera celosa. En cuanto a salarios, facturación, procedimientos, etc.

Por ejemplo, en cuanto a salarios (que puede ser lo más evidente) las empresas no acostumbraban a transmitir la horquilla salarial a la hora de publicar una oferta de trabajo. ¡Es más! En algunas empresas era casi un tabú que los empleados comentasen entre ellos lo que ganaban. En contraposición, cada vez se ven más ofertas con todos los detalles relevantes, entre ellos el salario que se ofrece. Sin ir más lejos, hace un par de semanas que la empresa Corunet hacía públicos en su web los distintos perfiles y planes de carrera incluyendo no sólo lo que esperan recibir si no también lo que dan.

En el mundo técnico ya hace tiempo que es más habitual ver que la gente y las empresas comparte su modo de trabajar, de organizarse, etc. Todo el mundo comparte su adaptación de Scrum (o de su metodología en cuestión), cuenta lo que le funciona y lo que no le ha funcionado, o que arquitecturas montan y lo más importante: los porqués.

De hecho, algunos sistemas, como el OKR al que tanto tiempo le está dedicando últimamente Javier Martín en Futurizable, plantean la utilidad de exponerse. En el caso de OKR son los objetivos, el hecho de que sean públicos permite que todo el mundo los pueda conocer y que así sepan en qué estás. Además así pasarán de ser un compromiso contigo mismo a un compromiso con todos.

Pero hay gente que va más allá y muestra sus cartas en cuanto a negocio, muestran el camino que pretenden andar y los resultados de los caminos andados. Un gran exponente de este nudismo es David Bonilla quien cuenta todo sobre sus proyectos (ver La Bonilista o Manfred). También hay muchas startups que hacen gala de su desnudez y aportan una información brutal para cualquiera que pueda estar interesado en su negocio ya sea como competencia, inversión, empresas afines en busca de sinergias, etc.

Por mi parte, siempre he creído que la vida es más fácil cuando cuentas las cosas como son, con sus puntos buenos y sus puntos malos. Es algo que ya hacíamos en GPMESS y que intento hacer publicando claramente los precios de mis servicios o presupuestos de proyectos que he hecho.

¿Y vosotros y vuestras empresas? ¿Os desnudais a menudo? Cualquier dato ya sabéis que es bienvenido en los comentarios, twitter, LinkedIn, por correo o cualquier otro canal que os parezca. Saber cómo los demás trabajan, cuáles son sus sistemas, su modelo de negocio o su facturación, nos es útil a todos para no perder el tiempo y para saber cuales son los caminos adecuados permitiéndonos a todos caminar juntos.

Historias para CTOs y responsables de tecnología

Es duro y arduo el camino de los responsables de tecnología, ponga en su LinkedIn CTO o no.

CTO son sólo unas siglas sin importancia y lo que importa en realidad son las responsabilidades asociadas a ellas. La gente que acaba asumiéndolas suele tener un arranque poco planificado, al fin y al cabo no existe la carrera de CTO. Muchas veces se trata de una persona que se dedicaba a algún área de tecnología y que por circunstancias se ve obligada a tomar decisiones en cuanto a qué y cómo, crecer y gestionar equipos, estar al día, anticipar el futuro… A algunas les gusta y lo buscan, a otras no y se adaptan o lo sufren.

responsable de tecnología

Como siempre dice tía Azu: “cortando cojonitos, se aprende a capar”. Es cierto que a base de tortas todos podemos llegar a aprender y cuanto más tiempo lleves en esto más aprendes, sin embargo, apoyándote en las historias y aprendizajes de otros puedes hacer que ese camino sea un poco menos solitario, un poco menos duro, darte menos contra paredes que no se van a mover.

Siempre puedes tomar un té o una caña con un colega (si no tienes un colega a mano te lo puedes tomar conmigo :P) para compartir opiniones y aprender de experiencias ajenas, pero vamos a ver algunos recursos que tenemos a mano en Internet para aprender de otros que ya han pasado por un camino similar:

De personas concretas
  • Empezamos por el blog de una mujer que no sólo ha aprendido mucho en su camino, si no que sabe explicarlo y compartirlo . Se trata de Camille Fournier que además escribió un libro buenísimo que puede servir de guía a quien tenga que hacer esa transición de técnico a manager: The Manager’s Path.
  • Hablando de libros, no puedo dejar pasar la oportunidad de recomendar The Phoenix Project que cuenta la historia ficticia de un tío al que de buenas a primeras le encaroman muchas responsabilidades y de cómo lidia con este hecho. Se centra mucho en DevOps pero aunque sea sólo por lo entretenido que es, te lo tienes que leer.
  • Los blogs de los fundadores de Stack Overflow no tienen ningún despedicio. Tanto Jeff como Joel escriben artículos de temas variados e interesantes que le vendrán genial a todos los responsables de tecnología.
  • Están los artículos de Paul Graham, uno de los fundadores de Y Combinator, que ha visto pasar por delante de él un montón de empresas tecnológicas y suele plantear temas que dan que pensar.
  • Otro Graham pero Graham-Cumming, tiene una seríe de artículos en los que explica como fue el camino desde entrar como programador en Cloudflare y acabar siendo CTO con todo lo que conlleva.
  • La sección Management 101 de James Stanier cubre de una manera muy concreta distintas situaciones a las que se enfrenta quien tiene que tomar decisiones en ingeniería (el resto de los artículos también están muy bien).
De personas random
  • Aunque no soy muy fan, hay algunos sitios con entrevistas escritas o en formato pocast que hay que reconocer que son muy interesantes, por ejemplo Modern CTO o Developer to manager.
  • Por último, pero no por ello menos útil, buscando un poco puedes encontrar ciertos checklists que te ayudarán al acometer tareas en las que no seas experto pero de las que serás responsable como son el cumplimiento de la GDPR o la seguridad general de los sistemas de la empresa.

Estos son algunos recursos, pero a sabiendas de que hay muchos más, me encatará saber cuales recomendaríais vosotros. No os pediré que los dejéis en los comentarios que ya nadie escribe, pero siempre me podéis escribir a través de la web, en Twitter, LinkedIn o por donde sea.

PD: Para suplir un poco esta soledad, hemos creado un grupo sin más pretensiones que hacer una quedada al mes para charlar, pedir consejo, contarnos cosas… llamado CTOs Anónimos Valencia (“responsables de tecnología anónimos de Valencia” no quedaba tan cool). Mañana será la primerísima quedada, así que ¡no dudeis y apuntaros!

Desbloquear un proyecto atascado

PROBLEMA

El cliente (A) vendió un proyecto a un cliente suyo (B) .

Es un proyecto con varias partes, principalmente de márketing y de desarrollo de un nuevo producto para B.

Todo está bloqueado porque uno de los componentes, una plataforma para poder vender ese nuevo producto, no acaba de arrancar.

El problema de base es que nadie tiene claro como podría hacerse, cuales son los pasos a dar, y por tanto cuánto tiempo puede llevar desarrollarlo o cual puede ser su coste.

Hasta ahora, B ha trabajado siempre con una gran consultora con quien preferiría no seguir trabajando. Todos sus sistemas están controlados por la consultora que es bastante opaca y no les permite ninguna flexibilidad a la hora de hacer cambios.

El nuevo producto debería lanzarse al mercado en tres meses.

CONCEPTO

El objetivo es ayudar y facilitar la toma de decisiones por parte de un cliente (B) del cliente, y aportarle al cliente (A) un presupuesto del proyecto que tiene con B.

Independientemente de cuándo se implemente o cuándo se establezca el deadline para ese proyecto, es necesario diseñar una solución que pueda encajar en tiempo y presupuesto con lo planteado por el cliente (A) a su cliente (B) inicialmente.

Durante la segunda quincena de febrero, se apoyará al cliente en las reuniones que tenga con B.

Además, para antes del día 1 de marzo, se le entregará al cliente un presupuesto de la solución que mejor parezca encajar para completar el proyecto en tiempo y forma, y que contemplará los siguientes puntos:

  • Definición detallada del proyecto.
  • Análisis de los requisitos.
  • Diseño de la arquitectura del proyecto.
  • Descripción de la interconexión de los componentes.
  • Estimación de tiempo de implementación.
  • Estimación del coste de implementación.
  • Posibles altenativas con sus pros/contras.

TIEMPOS

El presupuesto se entregará antes del 1 de marzo.

PRECIO

El precio de este proyecto de análisis es de 1.822,50€.

Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.

Amazon Business, el Amazon de siempre con funcionalidades para autónomos y empresas

Hoy en día todos compramos en Amazon. Es fácil, rápido y tiene de todo. El problema llega cuando eres autónomo o empresa, ya que a la hora de elegir tienes que tener en cuenta que el IVA (si aplica) se te devolverá, además tendrás que solicitar y gestionar las facturas (lo que puede ser una odisea en función del vendedor) o incluso integrar la información en tus sistemas. Me harté de esto el otro día y me puse a investigar un poco, descubriendo que todo se soluciona fácilmente con Amazon Business.

¿Qué es?

Amazon Business es la variedad de Amazon con funcionalidades pensadas para empresas y que resuelve todos estos problemas.

No está disponible para todos los países. Por ejemplo, en México no está, pero sí lo tenemos en España o en USA.

Funcionalidades

De partida, cuando tienes una cuenta de Amazon Business, en los vendedores que aplican IVA te muestra ambos precios y te ordena por el precio sin IVA.

Además, te permite crear políticas para restringir qué productos se compran, ya sea por categoría, vendedor o si son vendedores que generarán factura y te podrás desgravar el IVA. No te quita esos productos de las búsquedas, ni te impedirá comprarlos, pero sí que te mostrará un aviso bastante llamativo para que tengas la información a la hora de hacer la compra.

Te permite dar de alta a distintos compradores, esto permitirá acceder a distintas personas sin necesidad de compartir contraseñas. A parte, con que uno introduzca los métodos de pago, todos podrán usarlos; de ese modo, no tienes que ir dando los datos de una tarjeta de crédito al personal.

Proporciona reportes y dashboards para tener toda la información a mano y acceder a las facturas de cada pedido de un modo muy sencillo, lo que evitará perder tiempo en gestiones inútiles.

Integración

Si tu empresa tiene algún sistema de gestión de compras, es posible que puedas integrarlo. Amazon admite los sistemas Punchout basados en cXML y OCI, así como los sistemas de pedidos basados en cXML y OAG. En concreto, los sistemas admitidos son:

  • 2bits
  • Ariba
  • Awardco–Direct-Ordering
  • BASF–Direct–Ordering
  • Basware
  • Beka
  • BirchStreet
  • buy@Facebook
  • BuyerQuest
  • catalog360
  • Coupa
  • Determine
  • DIG
  • EB2BProcurement
  • Epaxios
  • ePhilos
  • ESKER
  • Fourth
  • HubWoo
  • IBX
  • InitialRewards–DirectOrdering
  • Inplan-Pro
  • Integra-eProc
  • Ivalua
  • JbxeBusinessSuite
  • Maxxeo
  • MSG_Clickapporter_DirectOrdering
  • NEWTRON
  • Onventis
  • OpusCapita
  • Oracle-iProcurement
  • OracleSupplierNetwork
  • Other-Purchasing-System
  • Oxalys
  • PaperCavalier–Direct-Ordering
  • pitchukp_DirectOrdering
  • pitchukp_PunchoutTest
  • Plenus
  • Pool4Tool
  • Proactis
  • ProActive
  • Procurify
  • Promitea
  • Qualiac
  • SAP-SRM
  • SciQuest-Jaggaer
  • Simeno
  • Spectrum
  • SynerTrade
  • Tradeshift
  • Veenion
  • WaxDigital
  • Weco
  • Workday
  • WPS

Para animar a la gente, ofrecen un 50% en la primera compra de hasta 100€, aunque creo que con todas las facilidades que dan para el día a día, eso es lo de menos. A mi, al menos, me tienen convencido.

Dispositivo experiencia interactiva

PROBLEMA

El cliente es una empresa de marketing que quiere una experiencia interactiva para un stand de una exposición algo similar a lo que se ve en el vídeo.

En lugar de revistas como se ve en el vídeo, quieren tener unos números grandes.

Han probado con reconocimiento de imágenes y alguna otra forma, pero no han tenido éxito.

Lo necesitan en 4 días (es jueves y lo tienen que tener funcionando el martes para tener tiempo para pruebas y ajustes, ya que la exposición es el siguiente jueves).

PROPUESTA

Se les propone hacer un dispositivo con sensores de luz que queden tapados por los números. Para ello, los números deberán de ser opacos.

El sistema en “reposo” mantendrá un vídeo reproduciendo en bucle y cuando se active uno de los sensores, se lanzará el vídeo vinculado al número en cuestión. Este vídeo se reproducirá hasta el final.

Los videos serán de 20 segundos, en formato mkv codificado con h264 a un máximo de 1080.

Si durante la reproducción de un vídeo que no sea el de reposo se levanta un número el sistema lo ignorará. Sólo se procesarán como activaciones las interacciones con números cuando el sistema esté en reposo.

El control de los sensores se hará con un Arduino que se conectará a una Raspberry Pi que será la que procese las señales de los sensores y lance los vídeos con un script en Python.

La Raspberry Pi estará configurada para lanzar el script cuando arranque.

El sistema de archivos estará almacenado en una tarjeta de memoria de 16GB. Los vídeos se podrán cambiar conectando la tarjeta a otro equipo o conectándose a la Raspberry por ssl.

PRECIO

Partida Importe (€)
1 Material y transporte 210,00
2 Desarrollo del hardware 1.000,00
3 Desarrollo del software 1.000,00
4 Testing, configuración y puesta en marcha 500,00
Total 2.710,00
Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.