El nivel de acceso Archive en Azure

En las cuentas de Storage en Azure, disponemos de varios elementos de configuración que influyen directamente en la disponibilidad de la información que vamos a almacenar, el precio de tenerlo guardado, el de acceder a los datos y la latencia que tendremos hasta poder leer el primer byte de información. Entre esos elementos está el propio tipo de cuenta y el nivel de rendimiento, así como el tipo de replicación. Para simplificar todo y no desviarnos del objetivo de este artículo, nos centraremos en las cuentas de tipo propósito general V2 (StorageV2) con nivel de rendimiento estándar y replicación LRS (Locally-redundant storage). De este modo nos podremos centrar en el elemento que nos interesa explicar hoy: el nivel de acceso.

Nivel de acceso Azure

Seguir leyendo en CompartiMOSS.

La gran pregunta (y su corta respuesta)

Recurrentemente hay quien me pregunta si estaría interesado en trabajar a jornada completa para una única empresa. Normalmente son clientes con los que ya he trabajado, o gente que me conoce de otras épocas. La respuesta muy corta es un sí. Hay ciertas cosas que creo que sólo se pueden hacer cuando estás trabajando para una empresa y precisamente ahora, que he tenido ciertos cambios en mi vida que me permiten ir a vivir a cualquier sitio del mundo (y tengo que tomar alguna decisión en ese sentido), puede ser un buen momento para involucrarme en un proyecto.

La respuesta no tan corta sigue siendo un sí, pero si todo encaja. Al fin y al cabo como autónomo estoy bien, me gano la vida haciendo cosas que me gustan y tengo mucha libertad. Es cierto que hay ciertos proyectos que están avanzando (¡pintan muy bien!) y que no querría dejar de lado ya que tampoco me consumen apenas tiempo, pero la parte más importante de mi día a día la podría remplazar.

Como decía, hay ciertas cosas que creo que no puedes hacer fácilmente como autónomo y que se echan de menos. Ya sea gestionar equipos de decenas de personas o plantear arquitecturas de grandes soluciones, hay cosas que como freelance te vas a encontrar pocas veces (o al menos yo no me encuentro muy a menudo).

A pesar de que me guste programar y que programe en cualquier cosa, creo que soy mejor con la arquitectura y mejor aún gestionando gente y proyectos. Como freelance, las cosas que me surgen acostumbran a ser más de desarrollo puro y duro.

Tampoco es que sea un mal programador, si atendemos a los artículos de Chritopher Wenham sobre las señales de ser un buen o mal programador, estoy dentro de los buenos. ¡De algo tenía que servir estar haciéndolo desde que tengo uso de razón!

El otro día, le resumí mis puntos fuertes a una persona a la que me tocaba actualizar, os les comparto:

  • Desarrollo, y conozco multitud de tecnologías/plataformas/lenguajes. Soy de los que creen que hay que usar la mejor herramienta para una solución que se quiera crear. Aunque no soy especialista en ninguna, por lo que cualquier desarrollador que lleve un par de años trabajando con X debería saber más que yo de X.
  • Se me da mejor la arquitectura que el desarrollo.
  • Se me da mejor gestionar que la arquitectura.
  • Como he tenido siempre un pie en el lado técnico y otro en el de negocio, hablo el idioma de todos. Soy un gran intercomunicador.
  • He participado en el proceso de selección de unas 100 personas. De 30 he liderado yo el proceso de selección y tenido la última palabra. Una tasa de acierto (gente que ha cumplido las expectativas y ha permanecido más de un año en la empresa) de más de un 95%.
  • He formado parte del consejo de dirección de una empresa de Ingram Micro (una multinacional) que tenía que pasar de 12 empleados a 100 en un año.
  • La gente a mi cargo siempre ha progresado muchísimo a nivel profesional, incluso gente que antes de entrar a mi cargo querían despedir.
  • He montado y gestionado empresas.
  • Los grupos a mi cargo directo han sido de hasta 10 personas, aunque indirectamente he influido en el modo de gestionar, formar, y mantener felices de decenas.
  • Se me da bien optimizar procesos y solucionar problemas (técnicos y conflictos interpersonales).

Como todo no pueden ser puntos fuertes, creo que mi mayor handicap ahora mismo es que llevo años sin trabajar hablando inglés. Antes tenía reuniones diarias con rusos, indios y americanos. Incluso me ha tocado decirle lo que había que hacer al director de IT de una empresa muy grande en USA, lo cual requiere algo de soltura y cintura. Sin embargo, tras 4 años sin usarlo apenas, creo que si tuviese que currar en inglés ahora no rendiría al 100% desde el principio.

Teniendo todo en cuenta, por hablar no perdemos nada y las cosas hay que verlas en su conjunto, pero para mi pesa más el lado de gestión que el de desarrollo y/o los proyectos grandes. Me “encanta” cuando hay problemas que nadie sabe resolver, son todo un reto. También daría puntos un proyecto en un país angloparlante (no me gusta verme mal en ese aspecto y quiero ponerle remedio cuanto antes). Los retos siempre me han motivado, pero también me gusta vivir (correr por la playa, escalar alguna montaña o ir a un concierto) por lo que obviamente busco equilibrio, así que como decía: sí, pero todo tiene que encajar.

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.

Cursos para el verano

Si este verano vas a ser una de esas personas afortunadas con un montón de tiempo libre, tal vez quieras invertir parte de ese tiempo en formarte. En ese caso, hay muy buenos cursos para hacerlo.

Cursos para el verano

Por Internet hay multitud de cursos de distintas áreas de desarrollo y, aunque todos hay que elogiarlos porque alguien se ha tomado la molestia de compartir conocimiento, no todos son igual de buenos.

Hoy os traigo unos pocos que, a mi parecer, destacan sobre la mayoría de contenidos de Internet, por si queréis aprovechar vuestro tiempo para seguirlos y aprender más de tecnología de lo que ya sabéis.

Cursos destacados:
  • Tech dev guide: es una web de Google en la que hay cuatro itinerarios para formarse: programación básica, programación avanzada, Machine Learning y Cloud Computing.
  • A Code-First introduction to Natural Language Processing: es un nuevo curso de fast.ai que se centra en el procesamiento de lenguaje natural. Va muy al grano y es muy práctico.
  • Crypto101: es un curso para adentrarse en el mundo de la criptografía empezando desde cero, por lo que no hace falta que sepas ni lo que significa criptografía.
  • Learning how to learn: no es un curso sobre desarrollo, pero es el curso más popular de Coursera por algo. Con este curso aprenderás distintos métodos para aprender del mejor modo posible.
  • Wargames: para los que no vivisteis el Internet de finales de los 90 (los albores de Internet), el mejor modo que teníamos de aprender en aquel entonces cosas sobre desarrollo o, como en este caso, seguridad eran los juegos de guerra. Era un modo de aprender a programar jugando, en el que se proponían retos en orden ascendente de dificultad en el que cada uno te abría la puerta del siguiente.
  • Ethernaut: basado en el anterior, propone diferentes retos para aprender sobre seguridad en la máquina virtual de Ethereum.
  • Teach me Quantum: un curso sobre Quantum Computing que empieza en lo más básico y llega a un punto bastante avanzado y actual.

Estos 7 son los que más destacan de entre los que conozco, pero seguro que hay muchos otros que no conozco, así que decidme ¿qué y cómo vais a aprender este verano?

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!