Cloud Computing para dummies

cloud-computing-1

Seguramente has escuchado en infinidad de lugares, frases como : “súbelo a la nube”, “respalda tus archivos en la nube”, “mi trabajo lo hago en la nube” entre otras, pero, ¿qué demonios es la nube ?.

Over the Clouds

El concepto de “Nube” es, la forma más moderna y cool de referirnos al conjunto de direfentes servicios que se acceden a través de Internet, en donde se puede almacenar, manipular y distribuir la información.

Expliquemos un poco más esa definición. Hace unos años, ¿recuerdas tu etapa de estudiante de nivel medio superior, cuando a medio trabajo de impresión la tinta se terminaba , y después de maldecir mil veces a la impresora y a la humanidad, guardabas en una memoria USB tu documento para imprimirlo por la mañana, antes de llegar a la escuela?. Si lo hiciste, ¡felicidades eres un Millenial!, y esa era la forma más habitual de almacenar y transportar la información en ese entonces.

Lo anterior, tiene sus ventajas y desventajas, en este momento, me enfocaré sólo en dos desventajas, la portabilidad y disponibilidad de nuestra información. Si perdías la memoria USB, perdías también su contenido, y si no había respaldo, ¿era terrible verdad?, o si no la reconocía la PC del centro de computo, también era realmente frustrante. Estos problemas, son dos de tantos que podemos solucionar con el concepto de la nube.


Ahora, resulta demasiado fácil guardar los documentos en nuestro drive virtual y poder acceder a ellos desde cualquier parte del mundo, a cualquier hora y desde una infinidad de tipos de dispositivos. Ese drive virtual, realmente es, un servicio de almacenamiento que proveé alguna empresa, por ejemplo, Dropbox y realmente son servidores resguardados en Centros de Datos, en algún punto geográfico del planeta, con condiciones de seguridad muy elevada tanto de hardware como de software.

Una vez que nuestro documento queda almacenado en dichos servidores, se dice que, “lo subimos a la nube” o que “nuestro documento está en la nube”. ¿Queda un poco más claro el concepto de nube?. Espero que si.

 

¿Y qué hay del Cloud Computing?

Bueno, pues entonces el Cloud Computing, es un modelo informático que nos permite acceder a servicios informáticos a través de Internet.

Esta idea no es un invento reciente, pues desde la creación del Internet se ha tenido la idea de poder tener servicios que permitan ser productivos sin la necesidad de tener todo un equipo dotado con cientos de herramientas de software y prestaciones de hardware demasiado llamativas.

Por ejemplo, muchos estudios de animación medianos, no poseían granjas de renderizado (grandes centros con servidores dedicados a procesar los algoritmos que generar el material que podemos ver en el cine) por lo cual se rentaban las granjas de una empresa especializada y mediante enlaces dedicados se procesaba el maerial. Este ejemplo, se podría considerar como los primeros intentos del Cloud Computing, aunque no eran tan usados debido a las velocidades de Internet.

 

Entonces, ¿qué beneficios obtengo mediante este nuevo modelo informático?

¡Muchos!, por ejemplo, imagina que eres el encargado del área de informática de una empresa. Recientemente, se adquirieron 400 computadoras, y se requiere que se instale alguna suite de ofimática para que puedan trabajar los asociados y mantener los avances en el serivdor de la empresa. ¡Es una locura instalar 400 veces el mismo software!, ¿no crees?, aparte, los asuntos de licencias, hacer imagenes de respaldo, un usuario le movió y desconfiguró la suite, monitorear las condiciones ambientales del cuarto de servidores, su configuración, se cayó el servidor y detuvo el trabajo de todos, etc. ¿Te das cuenta el trabajo que conlleva?, eso es por parte del área de informática, pero ahora las cuentas de la empresa también se incrementan exponencialmente.

¿Qué podemos hacer para reducir los tiempos y costos de mantenimiento y de esta forma aumentar la productividad de la empresa?

¡Fácil!, hagamos uso de algún servicio de Cloud Computing, para “rentar” la infraestructura necesaria (EC2 de Amazón o Azure de Microsoft) y usemos algún software online de ofimática ( Zoho, Google Docs), así reducimos considerablemente los requerimientos de nuestros equipos, garantizamos que nuestra información esté disponible desde cualquier lugar del mundo y en cualquier momento, garantizamos la compatibilidad del software pues no depende del sistema operativo del equipo donde se ejecuta, entre otras muchas ventajas que trataremos en otro momento.

 

Preparemos un sandwich . . .

Existen principalmente tres modelos de servicios en el Cloud Computing y estos son los siguientes:

Infrastructure as a Service (IaaS) :

Es el primer pan del sandwich y se refiere a contratar toda la parte física, (hardware) que requiere el usuario final (una persona o una empresa). El proveedor se encarga del mantenimiento de los equipos, configuraciones de seguridad, resguardo de todo el equipo en un área geográfica.

Este modelo es utilizado mucho en el ámbito empresarial, ya que simplifica la parte de administración de los equipos y así mismo, reduce los gastos de las empresas, ya que no se hace una inversión en equipos ni en su mantenimiento, ni en su resguardo.

El usuario instala, configura y mantiene su software en los equipos remotos. Es muy utilizado en aplicaciones web, computación de alto rendimiento, análisis de datos, almacenamiento de backups, hospedaje web, principalmente.

La referencia más conocida, EC2 de Amazon

 

Plataform as a Service (PaaS) :

Este nivel es como el jamón del sandwich, explicaré qué es y por qué lo digo.

Esta capa de servicio está más enfocada a los desarrolladores, pues ya se tiene todo un hardware soportando un sistema operativo y con herramientas de desarrollo instaladas, bases de datos, etc. Aquí, el proveedor se encarga de dejar todo el equipo listo para soportar el tiempo de desarrollo de la aplicación. Por su parte, el desarrollador se rige por ciertas normas que propone el proveedor para el correcto funcionamiento y desarrollo de las aplicaciones que correrán en la nube. Todo esto reduce los costos de las empresas, pues se evita la inversión en equipos, instalaciones y ahora también, licencias de software.

¡Ya se puso el primer pan y este es el jamón! XD

En resumen, es aquí donde se desarrolla el servicio de software que estará en la nube.

Algunos ejemplos de proveedores de PaaS, AWS Elastic Beanstalk, Windows Azure, Heroku

 

Y por último, ¡la otra rebanada de pan!

 

Software as a Service (SaaS) :

El último nivel o capa, es aquí, donde ya como usuario final haces uso del software online, en nuestro ejemplo corresponde a usar la suite de ofimática y beneficiarse del trabajo online.

Ya se tiene un soporte de hardware y de software completo, o sea, ese bonito programa, editor de textos que ejecutas desde tu navegador, fue desarrollado por un grupo y está corriendo en servidores instalados, lo más seguro alrededor del mundo.

No necesitas obviamente instalar nada en tu computadora o dispositivo inteligente para poder hacer uso del software, los archivos los guardas en la nube, donde quedan respaldados y disponibles.

Un ejemplo de esta layer, Microsoft Office 365

 
En el siguiente gráfico podemos observar como están organizadas las capas anteriores para efecto de aclarar más el panorama

 

visual-uaas

 

 

¡Listo nuestro sandwich está listo!

 

Como pudimos ver, los beneficios que nos ofrece este paradigma son muchísimos, pero como todo, también hay puntos en contra, me refiero a las cuestiones de seguridad. Estas las trataremos en otra entrada.

 

¡Saludos terrícolas!

Software para electrónica | Lo que no podría faltar en mi alacena . . .

 

Hoy comenzaré con una lista de diversos programas que he usado o uso para temas relacionados con el diseño electrónico y programación.

Poco a poco iré subiendo algunos programas para que puedas descargarlos todos juntos aunque en su mayoría son gratuitos y los puedes descargar de sus respectivos sitios web.

ECLIPSE STUDIO

eclipse_bckgr_logo_fc_lg
Windows-Mac-Linux

Es una excelente IDE para diversos lenguajes en mi caso lo uso para programar microcontroladores AVR en C.


Descarga: https://eclipse.org/downloads/


 

ATOM
atom-editor-logo

Windows-Mac-Linux

Un excelente editor de texto con highlighting y con soporte de plugins lo cual lo hace extremadamente poderoso además de su gestor de proyectos integrado. Lo uso para programar HTML5, CSS3, PHP, JAVASCRIPT, JQUERY.

Descarga: https://atom.io/


ARDUINO IDE

hqdefault (1)Windows-Mac-Linux

Más claro ni el agua, aunque también lo uso para las custom boards que desarrollamos con diferentes micros AVR no soportados oficialmente

Descarga: http://www.arduino.cc


ENERGÍA IDE

EnergiaWindows-Mac-Linux

Es una IDE de programación para las Launchpad de Texas instruments, está basada en la IDE de Arduino, La uso para programar las tarjetas de desarrolla de Texas Instruments.

Descarga:  http://www.energia.nu


CODE COMPOSER STUDIO

CCSSPLASH

Windows-Mac-Linux

Como ya lo abrán notado es para los micros y demás cosillas de Texas Instruments. Lo uso para  las Launchpads.

Descarga: http://www.ti.com/tool/ccstudio



EAGLE CADSOFT

Created with The GIMP

Created with The GIMP

Windows-Mac-Linux

El líder en diseño de PCB desde mi punto de vista puesto que es uno de los más usados a nivel mundial y poderosísimo por sus plugins.

Descarga: http://www.cadsoft.de


 

DREAMWEAVER

macromedia_dreamweaver

Sí, lo sé, es una versión viejita pero es la que me agrada, lo uso principalmente para PHP y HTML5.
Uso una versión portable que encontré en la red y lo ejecuto con WINE en Linux.



GEDIT

650px-Gedit-logo-clean.svg

Uno de los editores de texto por default en GNOME me gusta mucho por lo liviano que es. HTML, CSS, PHP JQUERY, C principalmente.

Descarga : $ sudo apt-get install gedit


APACHE WEBSERVER

Apache-http-server

Windows-Mac-Linux

Mi servidor de desarrollo favorito por su magnífico soporte y potencia al trabajar. Lo uso en el desarrollo de apps en PHP, HTML5, CSS3, JQUERY principalmente.

Descarga: http://www.apache.org 


PROTEUS ISIS

proteus

El simulador por defecto que uso preferentemente en la versión 7. Me gusta por el soporte que tiene y su relativa facilidad de uso además de las librerias que poseé y las que andan navegando por internet.


MPLABX

21086

La IDE de programación de Microchip para sus microcontroladores. Lo uso obviamente en la programación de PICS en C y Ensamblador.

Descarga: http://www.microchip.com


CCS COMPILER

images (1)

Esta IDE la ocupo a la par que MPLAB ya que es más intuitiva y muy potente en la programación de micros en C.


VIRTUALBOX

oracle_virtualbox1

Windows-Mac-Linux

Un gestor de máquinas virtuales muy potente e interesante lo uso para cargar un windows XP donde hago ciertas pruebas y para probar una que otra nueva distro de Linux.

Descarga: https://www.virtualbox.org/

Estos son algunos de los programas que uso para hacer mis proyectos personales así como también para trabajar. La mayoría son Gratuitos. Maś adelante incluiré algunos otros que también uso.

Espero que te sirva este pequeño post.

¡Hasta la próxima!

 

Marketing electrónico: Mailing. Instalando y configurando PHPList

Hola, en esta entrada hablaré sobre qué hay detrás de esos correos electrónicos que llegan cada «equis» tiempo a nuestra bandeja de correo sobre novedades de alguna empresa, ¿los escribirá una persona de la empresa a cada persona registrada en su sitio?. La respuesta a la pregunta anterior es: «Sí y no».

Comencemos diciendo que  el nombre de esa técnica es: «mailing o e-mailing». Dicho método es ampliamente usado en  la mercadotecnia digital y  poseé muchas ventajas frente a otros métodos como son :

Agilizar las ventas y/o renta de bienes o servicios:
Esto debido a que en cuestión de minutos se puede abarcar un listado amplio de clientes potenciales acrecentando las posibles ganancias de la empresa sin utilizar métodos «tradicionales» con un costo de implementación elevado.

Estrechar la relación (empresa – cliente):
Ya que dichos correos normalmente se redactan en un ambiente de «plática entre dos personas» dando la sensación de confianza y seguridad que el cliente actual o nuevo necesita para crear un lazo más estrecho con la empresa y que este influya en su toma de decisiones con respecto a los servicios y/o productos ofrecidos.


Reducción de costos:
Como ya lo mencioné en los párrafos anteriores esta técnica es muy fácil de implemementar y de mantener puesto que un sistema automatizado es quien se encarga de distribuir los correos dándole ese «toque personal» a cada e-mail enviado.

Reducción de tiempo en el proceso de toma de decisiones del consumidor:
Por la velocidad de respuesta inherente en los sistemas de mailing la decisión del consumidor se ve realmente modificada a favor de la empresa llevando consigo un aumento en la posible compra o renta de producto o servicio.

Estas son algunas ventajas de los sistemas de distribución masiva de correo.
– He leido el texto anterior y me interesa esta técnica pero, . . .

 

¿Qué requerimientos necesito para el mailing?

En realidad es muy fácil de echar a andar un sistema, lo podríamos resumir en los siguientes pasos:

1) Tener un dominio con hosting
2) Instalar y configurar algún script de mailing en el servidor
3) Tener una cuenta de correo destinada para este menester
4) Crear el material a distribuir
5) Dar click en «enviar mails» XD

Como vemos son sólo 5 pasos para poder enviar su boletín de noticias a los 135,879 usuarios registrados en el sitio.

IMPORTANTE: Esta técnica no debemos confundirla con SPAM ya que son dos cosas diferentes puesto que nosotros tenemos la autorización de nuestro usuario de recibir correos de la empresa con novedades. El spammer carece de esta autorización.

En esta ocasión usaremos un script que he usado hace ya un tiempo y que me parece excelente por su facilidad de uso así como también de lo versatil en su configuración.

PHP List

Es un software Open Sorce desarrollado en el bendito PHP,  el cual podemos descargar desde su sitio de internet si no lo tenemos en la paquetería de nuestro servidor. En el caso de este tutorial el script venía incluido en la paquetería de software que el proveedor de hospeja me ofrece por lo que para instalarlo sólo debemos presionar instalar y el servidor se encarga de todo lo demás. [Esto en cPanel con Installatron]

Screenshot from 2015-10-03 14:57:37

Una vez instalado accedermos con las credenciales y URL que el servidor  nos pidió para que creara una cuenta en mi caso la ruta que seleccioné para la instalación es :

midominio.com.mx/l1st

por lo que para acceder al panel de configuración queda de esta forma:
midiminio.com.mx/l1st/admin

Ahora accedemos dicha durección de administración donde nos pedirá los datos de acceso. Los escribirmos y presionamos el botón «Continue [Continuar]«.

Screenshot from 2015-10-03 14:58:07

Una vez que accedemos nos encontramos en el dashboard donde hay algunos accesos rápidos a ciertas funciones.

Lo primero que haremos es configurar nuestro script para que haga uso de la dirección de correo saliente que hayamos creado para este fin.  Nos dirigimos a la sección Config -> Settings y nos aparecerá un formulario con diversos campos para la configuración básica nos interesan sólo algunos. Comencemos

Apartado General Settings

Website Adress: Aquí debemos poner la URL de nuestro sitio por ejemplo: http://www.ejemplo.com [sin el http://%5D

Domain name of your server: Escribe el dominio de tu sitio que aparecerá después del arroba en el correo. Ejemplo : ejemplo.com

Person in charge of this system: Escribe el mail de quién esté a cargo del sistema

Name of the organization: Nombre de tu empresa

 

Apartado Campaign Settings

Default for From in a campaign: Lo que aparecerá por default al iniciar una campaña en el sistema. Este campo lo puedes editar directo en la campaña.

Default for ‘email address to alert when sending starts’: El correo a donde se enviará una notificación al iniciar el envio de correos.

Default for ‘email address to alert when sending finish’: El correo a donde se enviará una notificación al terminar el envio de correos.

 

Con estas sencillas configuraciones ya tenemos nuestro sistema listo para arrancar. Ahora añadiremos una lista ysuscriptores

Creando una lista de distribución

Antes de importar nuestros destinatarios tenemos que crear una lista es un paso muy sencillo puesto que sólo nos dirijimos a «Subscribers» -> «Subscribers list». Una vez estando allí damos click en el botón que dice «Add List» y nos desplegará otra página en la que tenemos que rellenar algunos campos como lo podemos ver en la siguiente imagen:

Screenshot from 2015-10-06 23:30:52

List Name: El nombre que identificará a nuestra lista. Ejemplo «Lista de prueba»

Public list: Si lo seleccionamos se mostrará en el frontend de la aplicación. Yo les aconsejo dejarlo sin marcar para dar  privacidad.

Owner: El propietario de la lista por default será el administrador puesto que ahorita no existen más usuarios. Eso lo veremos en otra entrada

List Description: Una descripción de lo que contiene la lista por ejemplo: «compañeros de trabajo», «suscriptores de la revista impresa», etc.

Llenando estos datos ya tenemos lista el contenedor que podrá albergar a nuestros suscriptores.

 

Añadiendo destinatarios

Para que sea útil nuestro sistema tenemos que agregar personas quienes recibirán los mensajes que enviaremos.

El  primer paso será irnos a la sección «Subscribers» y dar click en «Import subscribers»

Screenshot from 2015-10-06 22:23:23

y se desplegará otra página en donde seleccionaremos el método de importación [en mi caso tengo una lista con todos los emails en un archivo .csv así que seleccionaré la opción 2, es el método más eficaz y sencillo]

Screenshot from 2015-10-06 22:28:17

Nota: no selececiono la opción 3 a pesar de que tengo el archivo CSV puesto que sólo me interesa tener la dirección de correo y dicha opción nos permite meter datos adicionales extraida del archivo.

 

Nos aparecerá estas opciones

Screenshot from 2015-10-06 23:37:08

Primero seleccionaremos la lista a la que agregaremos los contactos
Segundo picaremos en «Choose File» para acceder a nuestro ordenador y buscar el archivo que contiene los correos a agregar. Cuando ya lo hayamos encontrado damos en «Import» y esperamos a que el proceso termine y nos avise.

Creando nuestra primera «campaña»

Si estás leyendo esto es porque seguramente los pasos anteriores los tienes listos pues ahora lo que toca es hacer una campaña de envio masivo de mensajes para esto nos dirigimos a «Campaigns»-> «Send a campaign» .

Nos saldrá una sección como esta:Screenshot from 2015-10-06 23:44:53

Ahora tenemos que ir siguiendo el asistente

En los campos:

Campaign Subject: Tenemos que escribir lo que queramos que el suscriptor vea en su  bandeja de entrada como asunto del correo por ejemplo :»¡Aprovecha esta promoción exclusiva para ti».

From line: El remitente que aparecerá en la bandeja por ejemplo: «ABCDE Emprendedores». Cabe señalar que si no se introduce nada será la dirección de email que escribirmos anteriormente la que se mostrará.

Content: Aquí hay dos opciones «Send a webpage » o «Compose message».
Send webpage: si queremos enviar una pagina web como mensaje seleccionemos esta opción y nos desplegará un campo donde tenemos que introducir la URL de la página a enviar y también podemos modificar el mensaje de pie de página que saldrá [Footer].

Compose message: En esta opción [es la que más utilizo] tenemos un editor WYSIWYG donde podemos hacer uso de los controles que el editor nos da o hacer uso de sentencias HTML y CSS para crear nuestros mensajes.

SI ya tenemos listo lo anterior demos click en «Next»

>>>> Paso 2 [Format]

Ahora aquí seleccionaremos como se interpretará el correo en la bandeja como simple texto [obvio no queremos eso si hicimos un diseño bonito con imagenes y CSS] y como HTML la cual es la más usada puesto que se mostrarán imagenes y nuestro lindo diseño XD.

>>>> Paso 3 [Scheduling]

En este paso nos aparecerá la siguientes opciones:

Screenshot from 2015-10-07 00:04:43

Embargoed until: Es la fecha y hora en que la campaña iniciará. Normalmente esta se define por default una hora después de la creación de la campaña. O sea mientras no llegue esa hora y fecha la campaña estará encolada.

Stop sending after: imaginemos que el próximo concierto de la banda los «Cavernicolas románticos»  en el Madison Square es el 10 de agosto de 2015 y tenemos un mes para promocionarlo entonces la campaña tiene que estar vigente hasta ese día entonces metemos esa fecha y la hora de inicio del concierto. Pasado el evento la campaña termina por lo que este campo determina la vigencia de la campaña.

Requeue every: Este campo determina si ha habido nuevos suscriptores a la lista según la frecuencia que determines. Si encontró nuevos suscriptores hace el envío unicamente a ellos. Este método depende del campo siguiente.

Requeue until: Determina hasta que fecha y hora se  estará verificando la adición de nuevos suscriptores.

Demos click en «Next».

>>>> Paso 4 [Lists]

En esta sección es tan simple como seleccionar a qué lista se enviará la campaña.

 

>>>> Paso 5 [Finish]

 

Aquí aparecerá:

Screenshot from 2015-10-07 00:21:21

 

El primer campo de texto sirve para recibir una notificación al o los correo[s] que determinemos ahí sobre el inicio de la campaña.

El segundo funciona igual sólo que cuando la campañ finalize.

Add Google Analytics code: SIrve para añadir un codigo de rastreo de Google para poder trabajar con esadísticas en las herramientas de webmaster de Google.

Reset click stadistics: SI hemos estado haciendo pruebas de la campaña las estadisticas de la misma tendrán valores irreales puesto que es nuestra propia actividad, seleccionando esta casilla eliminará todos los datos de nuestra actividad para comenzar de cero a recolectar infromación de nuestros suscriptores.

This is a test campaign: Esta opción solo es para indicar a la aplicación que es una campaña de prueba. Nunca marques esta opción cuando sea una campaña real.

AHora como último paso es dar click en «Enviar campaña» y paso seguido nos aparecerá el proceso de envio de correo. IMPORTANTE: no cierres esa ventana hasta que termine el proceso de salida y que la aplicación te informe.

email-icon

Pues está lista nuestro  sistema de mailing así como también nuestra primer campaña publicitaria por correo electrónico.

En entradas posteriores abordaré temas de configuraciones avanzadas para nuestras compañas.

SALUDOS.