Docker vs Vagrant: diferencias y similitudes y cuándo usar cada uno

Docker-o-Vagrant

Una de las cuestiones más de moda en los últimos meses en el mundillo de los “devops” es, sin duda, el uso de contenedores. Como ya explicamos aquí hace tiempo, la tecnología de contenedores va un paso más allá de la virtualización para ofrecer entornos ligeros de ejecución aislados del sistema operativo subyacente, pero sin toda la carga que conlleva hacer una verdadera virtualización. Consulta el enlace anterior para conocer más detalles.

Una confusión común en estos entornos es la de mezclar tecnologías diferentes bajo el mismo paraguas. Y un ejemplo claro de esto es la confusión que existe entre dos tecnologías muy conocidas relacionadas con todo esto pero que, como veremos, no tienen nada que ver entre sí: Docker y Vagrant.

Como ya explicamos en el artículo enlazado antes, Docker es una tecnología Open Source para crear contenedores ligeros y portables para cualquier aplicación. Lo bueno que tiene es que podemos empaquetar nuestra app en un contenedor Docker desde nuestro portátil y moverla tal cual a un servidor, una máquina virtual o a la nube sin hacer cambio de ningún tipo, asegurándonos que va a funcionar exactamente de la misma manera. Con esto nos olvidamos de dependencias, versiones del sistema operativo y bibliotecas, etc… Se trata de un avance increíble y está llamado a acabar con aquella famosa disculpa de “Pero, ¡en mi máquina funcionaba!”.

Por otro lado Vagrant es otro tipo totalmente diferente de tecnología pero, dado que el resultado es parecido, hay cierta tendencia a confundirlos. Lo que proporciona Vagrant es la creación y gestión sencilla de entornos de trabajo “portables” y replicables que funcionan sobre tecnologías de virtualización conocidas, ofreciendo además un modo de trabajo claro para poder transportar dichos entornos y que funcionen sin problemas en otro lugar: nuevamente en un servidor, la nube, etc… En realidad Vagrant se puede asimilar a un gestor de máquinas virtuales ya que por debajo usa la tecnología de virtualización que nos interese: VMWare, VirtualBox, Hyper-V, Amazon web Services, RackSpace Cloud, Google Compute Engine… Su factor diferencial es lo mucho que facilita la creación de las máquinas virtuales: creas un archivo que describe el tipo de máquina que necesitas, el software que tiene que tener instalado, la forma de acceder a la máquina virtual… Luego abres una línea de comandos, lanzas una  instrucción y en un momento Vagrant te crea el entorno completo que necesites, tal y como lo has descrito. Luego te puedes llevar ese entorno a cualquier otro sistema y usarlo desde allí.

Los resultados son parecidos, pero la tecnología para lograrlo es completamente distinta, y no hay que confundirlas.

Si hay algo que debería haberte quedado claro de todo lo anterior es que son tecnologías diferentes y no son excluyentes entre sí. Es decir, es posible utilizar Vagrant para crear un entorno capaz de ejecutar Docker dentro de éste y así desplegar una aplicación. Es más, Vagrant viene “de serie” con un proveedor para generar contenedores Dockerdirectamente en el sistema operativo actual.

De todos modos hay más diferencias entre ellos que podemos resumir en la siguiente tabla:

Característica Docker Vagrant
Tipo de virtualización: Contenedores Máquina virtual
Nivel de aislamiento: Débil Muy alto
Tiempo de creación: <10 min >10 min
Tamaño del despliegue: Al menos 100MB Al menos 1GB
Tiempo de arranque: Segundos Minutos
Impacto en el sistema: Muy bajo Alto
Garantiza recursos en el S.O.: No
Cuántos se pueden albergar a la vez: >50 <10
Principal ventaja: Rápido, ligero, fácil de aprender Fácil de gestionar, muy bien preparado para entornos de empresa

Ambas herramientas son excelentes para entornos de desarrollo y de pruebas y para pasar a producción entornos completos despreocupándonos por las posibles diferencias o la falta de bibliotecas o servicios necesarios. En ambos casos son mucho más flexibles que una ̶

0;simple” máquina virtual tradicional, y bien utilizados, pueden suponer un ahorro enorme de problemas y de dificultades de gestión. Es por eso que todos los grandes actores de la industria están apostando por ellos, especialmente por Docker, e incluso Microsoft ofrece soporte para el producto dentro de sus sistemas operativos y dentro de Azure (hay que pensar que originalmente Docker solo funcionaba en Linux).

via: http://www.campusmvp.es/recursos/post/Docker-vs-Vagrant-diferencias-y-similitudes-y-cuando-usar-cada-uno.aspx

¿Qué debo hacer para certificarme como desarrollador con Microsoft?

Microsoft certifica a las personas que dominan sus tecnologías de modo que puedan demostrarlo. Para ello es necesario presentarse a uno o varios exámenes oficiales que se realizan en centros certificadores que colaboran con el gigante informático.

Lo primero que debemos decidir es en qué queremos certificarnos. En el caso de los desarrolladores/programadores, las certificaciones que tiene disponibles Microsoft son las que refleja el siguiente diagrama (pulsa para aumentar):

Rutas-Certificación-Microsoft-Desarrolladores-2016

Como puedes ver, actualmente Microsoft ofrece 6 rutas de certificación diferentes para los profesionales del desarrollo:

  • Desarrollo de aplicaciones Web
  • Desarrollo de aplicaciones sobre SharePoint
  • Desarrollo de aplicaciones para la Windows Store con tecnologías Web (HTML5, CSS3 y JavaScript)
  • Desarrollo de aplicaciones para la Windows Store con C# y la plataforma .NET
  • Gestión de ciclo de vida de las aplicaciones (o sea, especialista en gestión de proyectos de desarrollo de software)
  • Desarrollo de aplicaciones universales para Windows

Para poder obtener alguna de estas certificaciones es obligatorio realizar todos los exámenes que están en el gráfico anterior, es decir, es necesario aprobar 3 exámenes en todas ellas menos en el caso de la de SharePoint que son necesarios 4 exámenes.

Además hay que tener en cuenta una cosa importante: estas certificaciones caducan al cabo de un par de años, de manera que hay que volver a renovarlas y probar de nuevo que nuestros conocimientos se han ido actualizando en ese tiempo. Para la renovación solo es necesario un examen y en algunos casos llega incluso con seguir algunos cursos on-line que proporciona la propia Microsoft, sin examinarse siquiera.

La excepción son los dos siguientes exámenes:

  • Examen 70-480: Programación en HTML5 con JavaScript y CSS3: este examen certifica tus conocimientos en tecnologías Front-End estándar. Es bastante amplio y es necesario dominar bastantes materias, pero hoy por hoy es la única forma que tienes de obtener un título oficial que pruebe documentalmente tus conocimientos de HTML5, CSS3, JavaScript y jQuery, ya que ni la W3C ni ningún otro fabricante ofrecen nada similar. Curiosamente ninguna de estas tecnologías es de Microsoft, claro, pero lo importante es que te certifican en ellas y tienes un reconocimiento oficial.
  • Examen 70-483: Programación en C# y la plataforma .NET: al aprobar este examen te certificas como especialista en la plataforma .NET y el lenguaje de programación C#. Es también un examen que abarca muchísimos conocimientos y que, para aprobarlo, tendrás que demostrar un buen dominio de estas tecnologías.

Estos dos exámenes son los únicos que te permiten obtener una certificación directamente, nada más aprobarlos: la certificación como especialista en esa tecnología. Además estas dos certificaciones no caducan ya que certifican conocimientos de base transversales, lo cual siempre es una ventaja.

Los hemos marcado en rojo en el diagrama anterior porque son los que preparamos en campusMVP. Y además muy a fondo para que, más allá de que apruebes los exámenes de certificación, aprendas de verdad y puedas sacarle partido en un puesto de trabajo real.

¿Cómo me presento a un examen?

En la página de información de cada examen en la web de Microsoft tienes un botón para pedir cita y examinarte. Al pulsarlo, una vez que te identifiques con una cuenta Microsoft (de Hotmail o de Outllook.com valen), te permiten buscar el centro examinador más cercano a donde vivas. Existen miles de ellos repartidos por todo el mundo por lo que es muy probable que tengas uno en tu cuidad o muy cerca de ésta.

Desde hace una temporada es posible hacer el examen también desde casa. No obstante no es demasiado cómodo, puesto que tienes que cumplir diversos requisitos, instalar un software especial y te estarán vigilando todo el tiempo mientras lo realizas. Y debes saber inglés para comunicarte adecuadamente.

¿Cuánto cuesta un examen de certificación?

Depende del país donde lo hagas. Te informan de ello en el momento de registrarte para hacerlo. Para que te hagas una idea, en España los derechos de examen son 140€.

Además de este precio algunos centros le cobran un “extra” a los que se examina en concepto de gestión y alquiler del aula para realización del examen. No suele ser mucho más a mayores pero debes tenerlo en cuenta, y si tienes más de un centro examinador que te quede cerca, pregunta en varios para ver cuál te cobra menos.

¿En qué idioma están los exámenes?

Aunque suelen estar traducidos a alemán, chino o japonés, no hay muchos exámenes de desarrollo que estén disponibles en español. Así que casi seguro que te toca hacerlo en inglés.

Si declaras de antemano que tu idioma nativo no es el inglés te darán 30 minutos extra para realizar el examen, así que aprovéchalos.

via: http://www.campusmvp.es/recursos/post/191;Que-debo-hacer-para-certificarme-como-desarrollador-con-Microsoft.aspx

Cómo generar ingresos automatizados en 2016

“-Y tus sueños?

-Los cambié por un trabajo estable”.

Podría partir de la base de que todos querríamos generar ingresos automatizados (aquellos ingresos que entran recurrentemente en nuestra órbita haciendo poco y nada para ello), pero seguramente me equivocaría: por más extraño que parezca, una gran cantidad de personas no podrían sentirse a gusto en una situación en la cual no tengan que trabajar para obtener dinero, ya sea por culpa, falsa moral o simplemente porque sienten que no podrían estar “sin hacer nada” (como si el “todo” fuese el trabajo y sin él se cayera en la nada misma).

Es que para generar ingresos automatizados hace falta emprender, y para emprender hace falta entusiasmo, y para entusiasmarse se necesita pasión; algo que muchos tienen disociado de la parte laboral o de generación de dinero.

Sumado a ello, se suele asociar la faceta emprendedora con la creación de empresas importantes, cuando la realidad es que se puede emprender a una escala mucho más pequeña, que no tenga por qué desembocar en el establecimiento de una empresa millonaria sino de micro emprendimientos que generen vehículos automatizados y atomizados de ingresos, con los cuales acceder a una mejor calidad de vida que genera el disponer de más del doble de tiempo libre que el actual.

Comenzaremos esta última columna del año analizando las diferencias entre un emprendedor y un trabajador en relación de dependencia, para luego adentrarnos más profundo en lo referente a la generación de ingresos automatizados y algunos mecanismos posibles para alcanzar esta meta en el 2016.

Emprendedor versus empleado

Emprendedor: Que tiene decisión e iniciativa para realizar acciones que son difíciles o entrañan algún riesgo.

La definición habla por si sola: cuando trabajamos en relación de dependencia, elegimos que el riesgo lo corra el empleador, al igual que la iniciativa.

Por ello, el realizar cualquier acción para nuestro propio beneficio en el plano laboral o de inversiones que encarne cierto tipo de riesgo (que no tiene por qué ser riesgo de pérdida de capital, sino que puede ser el riesgo de dedicar mucho tiempo a algo que luego no podamos monetizar) podría ser catalogado como el nacimiento de un emprendimiento a pequeña escala.

Pero veamos cómo opera la diferencia de realidad y el entendimiento de 3 aspectos claves del día a día en la mente de un emprendedor y de un trabajador en relación de dependencia.

1)Ingresos: Mientras que el trabajador en relación de dependencia obtiene ingresos sólo por las horas trabajadas, el emprendedor lo hace incluso mientras duerme, al haber instrumentado un sistema que no requiere su presencia física ni atención constante.

Además, mientras que en el primero el ingreso es limitado, unidireccional y la remuneración fija y “segura”, en el emprendedor el ingreso es multidireccional, mientras que las oportunidades de obtención de ingresos suelen ser ilimitadas.

Por último, el ingreso del trabajador en relación de dependencia es previsible en el corto plazo y riesgoso en momentos de crisis económicas, mientras que el del emprendedor es variable en el corto plazo pero predecible en el largo, siendo los momentos de crisis económicas los de mayor crecimiento de su patrimonio gracias al aprovechamiento de las oportunidades emergentes.

2)Sistema, tiempo y compañía: El trabajador en relación de dependencia debe seguir el sistema establecido por sus superiores, le guste o no. El emprendedor, en cambio, crea su propio sistema, según su conveniencia, y puede cambiarlo cuando lo desee.

Los sistemas laborales creados por el empleador tienen como fin aprovechar al máximo el tiempo laboral de sus empleados, y esa es la razón por la cuál el tiempo libre disponible de un trabajador en relación de dependencia suele ser escaso, mientras que el de un emprendedor (si sabe organizarse bien) puede ser abundante vía la generación de ingresos automatizados.

La compañía diaria del trabajador en relación de dependencia no es elegida, es decir, debe pasar la mayor parte de su día (y, probablemente, de su vida) rodeado de compañeros con los cuales puede tener una mayor o menor afinidad, pero que no son elegidos por él. El emprendedor, en cambio, elige la compañía que quiere para su día a día, siendo verdad también que muchos de ellos prefieren trabajar en soledad y estar comunicados con sus empleados (que pueden ser propios o tercerizados) a través de herramientas tecnológicas como skype o what´s app.

3)Emocionalidad y consumo: La emocionalidad del trabajador en relación de dependencia es más propensa a fluctuar según razones externas, que tiene que ver con el humor del jefe, las presiones laborales, ajustes de personal, etc; mientras que la emocionalidad del emprendedor está más ligada a factores intrínsecos, como el entusiasmo por lo que hace y el deseo de que eso llegue a la mayor cantidad posible de gente.

Por último, el consumo en el trabajador en relación de dependencia suele darse vía endeudamiento (préstamos bancarios o tarjeta de crédito) para aprovechar la previsibilidad de sus ingresos en el corto plazo de los cuales hablamos anteriormente, mientras que los emprendedores suelen invertir la mayoría de sus recursos en su emprendimiento y a la hora de consumir privilegian el disfrute por sobre la posesión (consumo inteligente).

Palabras claves para la obtención de ingresos automatizados

Para obtener ingresos automatizados en 2016 es una condición sine qua nonno asustarse ante la posibilidad de comenzar a pensar con mente emprendedora, entendiendo las diferentes realidades existentes enumeradas anteriormente.

Pero además, es importante tener en cuenta 3 conceptos clave:

1)Pasión/entusiasmo: Lo que sea que vayamos a emprender tiene que ser fruto de un entusiasmo propio y genuino, de algo que nos apasione. Colocar la demanda que puede llegar a tener o los ingresos inmediatos antes de esto es como poner el carro adelante del caballo.

2)Aprovechamiento de las nuevas tecnologías: El microemprendimiento debe ser pensado para su posicionamiento en Internet, con el fin de explotar la posibilidad que la red nos ofrece para llegar a potenciales demandantes de nuestro producto/servicio en cualquier lugar del país o del mundo.

Las redes sociales deben ser tomadas en cuenta seriamente como medio publicitario a la hora de dar a conocer al mundo nuestro emprendimiento.

3)Automatización, atomización, intangibilidad, tercerización y suscripción.

Estas 5 palabras son la mina de oro de todo emprendedor que no esté buscando crear la nueva Google sino simplemente agregar distintos ingresos automatizados y pasivos a su vida.

La automatización tiene que ver con diseñar sistemas en los cuales los procesos estén ya definidos de antemano y no requieran la intervención de quien los diseñó.

Atomizar la venta de un producto es dejar de pensar en un nicho de mercado o país específico y aprovechar las ventajas de la globalización e Internet para llegar a los miles o millones de personas alrededor del mundo que pueden estar interesados en lo que tenemos para ofrecer.

Con respecto a la intangibilidad, se considera que algo es intangible cuando, por alguna razón, no puede ser tocado o apreciado de manera física. Los productos intangibles son los servicios que una empresa o persona presta a otras, en donde el proceso de distribución mediante la utilización de intermediarios aparentemente desaparece al no existir un flujo físico, existiendo, en cambio, una relación directa entre el que presta el servicio y el usuario. No son susceptibles de ser almacenados ni transportados. Pueden asimilarse a productos que se elaboran y consumen simultáneamente. La gran ventaja de producir intangibles es que no tenés costos y problemas derivados de fabricación, insumos, delivery y logística.

Aprovechar la tercerización, sobre todo en los comienzos de un proyecto, es de vital importancia para mantener controlados los costos iniciales. Hoy en día es posible tercerizar desde la producción hasta la atención y venta al público a un costo accesible, ya sea en el país o en el exterior gracias a las ventajas de Internet.

Por último, el vender algún bien o servicio que se pague vía suscripción anual permite tener cierta previsibilidad en cuanto los cash flowsmensuales, pudiendo utilizarse para tal fin las herramientas de cobro onlinecon tarjeta de crédito que presentan grandes plataformas como Dineromailo Mercado Pago a costos accesibles para los pequeños emprendedores.

Conclusión

El comienzo del año nuevo presenta una oportunidad inmejorable para transformar nuestra realidad laboral y de vida, planteándonos como un nuevo objetivo la obtención de ingresos automatizados que permitan un mejor aprovechamiento del resto de los años por venir.

Entender el lugar del observador desde el cual estamos operando, ahora que sabemos que existen otras oportunidades y realidades más benignas para nuestros intereses, representa sin dudas la mejor reflexión que podemos llevar a cabo en estos últimos días del 2015.

Ahora, lo que queramos que pase en el 2016 dependerá pura y exclusivamente de nosotros.

¡Feliz año para todos!

via: http://www.lanacion.com.ar/1857833-como-generar-ingresos-automatizados-en-2016