Cuando las personas piensan en la palabra Google, piensan en la búsqueda y la inmensa infraestructura computacional que convierte sus palabras en una lista de sitios web que probablemente tengan exactamente lo que usted busca. Google tardó años en contratar a los ingenieros, diseñar las computadoras personalizadas y crear la enorme colección de hardware que responde a las consultas web. Ahora puede ser tuyo con solo unas pocas pulsaciones de teclas y clics.
Google alquila gran parte de esa experiencia e infraestructura a otras compañías web. Si desea construir un sitio web o servicio inteligente, Google está listo para cobrarle por ejecutarlo en su amplia colección de máquinas. Todo lo que necesita hacer es comenzar a completar algunos formularios web y pronto tendrá una gran colección de servidores listos para escalar y manejar sus tareas.
Paso 1: configura tu cuenta
Esta es la parte fácil. Si tienes una cuenta de Google, estás listo para comenzar. Puedes iniciar sesión en cloud.google.com y dirigirte directamente a tu consola y panel. No habrá mucho que ver aquí cuando comiences, pero pronto comenzarás a ver detalles sobre lo que está haciendo. Es decir, la carga en cualquier instancia de servidor que hayas creado, los datos que fluyen a través de la red y el uso de la API. Puedes asegurarte de que todo funciona sin problemas con solo echar un vistazo.
Paso 2: identifica tu necesidad de estructura
Hay dos formas de usar la infraestructura de Google: a la manera predefinida y a tu manera. Si desea aprovechar todo el genio del equipo de desarrollo de Google, puede elegir las herramientas que le ofrecen. El Google App Engine, por ejemplo, le permite crear una aplicación web sofisticada con solo unos pocos cientos de líneas de código, todo al basarse en la colección curada de marcos internos y de código abierto de Google.
Si ya tiene su propio código, puede alquilar máquinas por segundo con Google Compute Engine. Todo lo que hace es elegir una de las principales distribuciones de Linux o Windows y, unos segundos más tarde, obtiene una contraseña de root, y acceso a una línea de comandos.
Hay opciones que se encuentran en el medio. Puede personalizar App Engine con su propio código si lo desea o puede elegir algunas de las imágenes precompiladas para Compute Engine que ya incluyen todos los archivos necesarios para aplicaciones populares como WordPress o Node.js.
Probablemente termines con una mezcla, tal vez usando una aplicación de App Engine totalmente estructurada para una parte y un código personalizado que se ejecuta en hardware básico para otra. Es más importante que decidas cuánto quieres hacer por ti mismo y cuánto estás dispuesto a desarrollar a partir de las herramientas de Google.
Paso 3: elige una máquina
Realmente solo eliges cuánta potencia de CPU, memoria y espacio en disco crees que necesitarás. Compute Engine ofrece docenas de máquinas de tamaño estándar, o puede elegir sus propias combinaciones personalizadas.
Si está buscando más de una máquina para manejar una carga más pesada, es probable que desee crear un clúster de Kubernetes con Google Kubernetes Engine. Google desarrolló la herramienta para simplificar la ejecución de contenedores en varias máquinas. Cuando las cargas aumentan, Kubernetes activará más instancias, y cuando las cargas disminuyan, las reducirá.
También puede elegir una ruta más automatizada como Google Cloud Functions. Google maneja las decisiones sobre el tamaño de la máquina para usted y le factura por la unidad de trabajo que hace su aplicación. Usted paga por el clic de cada cliente a fracciones de un centavo en lugar de pagar fijo por mes.
Vale la pena señalar que Google ha automatizado otros aspectos del proceso al ofrecer descuentos por uso sostenido que se activan luego de que su máquina se usa durante un determinado porcentaje de un mes. Otras compañías en la nube requieren que te comprometas con grandes cantidades de tiempo para obtener un descuento. Los descuentos de Google aparecen automáticamente a medida que su máquina se ejecuta durante un tiempo prolongado.
Paso 4: establece puntos de referencia para tu proyecto
Uno de los mayores desafíos es encontrar el tamaño adecuado para su máquina, y Google ofrece tantas opciones que puede ser desalentador. Se han encontrado diferencias significativas de rendimiento que son difíciles de anticipar. Duplicar el número de CPU virtuales rara vez reduce el tiempo de procesamiento a la mitad.
Agregar más memoria RAM puede acelerar drásticamente su máquina, hasta que ya haya agregado lo suficiente como para guardar sus datos de manera segura.
La única solución es comparar su software con diferentes configuraciones. Una de las mejores opciones de Google Compute Engine es la forma en que puede mezclar y combinar la cantidad de RAM, CPU y espacio en disco. No estás limitado a combinaciones predefinidas. Así que comience a experimentar al principio y luego recuerde intentar nuevamente cada pocos meses en caso de que las cargas hayan cambiado y su rendimiento sea diferente.
Paso 5: elige una opción de almacenamiento de datos
Google Cloud ofrece al menos cinco opciones diferentes para mantener la seguridad de sus datos, y luego siempre puede implementar su propio modelo de almacenamiento de datos utilizando sus discos persistentes. La primera pregunta es si desea usar la estructura de una base de datos relacional creada para responder a consultas SQL o si desea la mayor libertad de NoSQL y almacenamiento de objetos.
Para SQL, Google ha envuelto su propia API en MySQL y Postgres. Google Cloud SQL automatiza sus copias de seguridad, replicación, parches y actualizaciones. Usted escribe el código que se conecta a estas populares opciones de código abierto. Google Cloud Spanner también ofrece una estructura relacional, pero a niveles muy altos de servicio. Google hace la audaz promesa de “disponibilidad 99.999%, sin tiempo de inactividad planificado y seguridad de nivel empresarial”.
Si está más interesado en modelos de documentos menos estructurados de NoSQL, existen múltiples opciones que incluyen Cloud Storage, Cloud Bigtable y Cloud Datastore.
Y es importante comprobar Firebase, una base de datos sofisticada que hace mucho más que almacenar la información. Agrupa gran parte de la infraestructura que necesita para autenticar usuarios, sincronizar los datos con clientes, servir archivos, enviar notificaciones y estar al tanto de lo que su aplicación y lo que los usuarios están haciendo.
Todas estas opciones facturan según la cantidad de datos que ingresas en ellas. Cuanto más almacena, más paga.
Paso 6: explora las API de Google
Es casi abrumante cuántas API están disponibles para Google Cloud. Por supuesto, la mayoría de ellas están disponibles para cualquier computadora en Internet, pero funcionan mejor dentro de la nube de Google.
Muchas de estas API pueden ahorrarle mucho tiempo de programación. Google Maps, por ejemplo, ofrece mapas detallados de todo el mundo para su aplicación web. Cloud Data Loss Prevention revisará sus documentos y marcará (o incluso redactará) información confidencial como los números de seguridad social. Hay docenas de opciones y todas ellas se facturan con qué frecuencia y cuánto las usa. Muchos tienen niveles de servicio gratuitos para aplicaciones más pequeñas y nuevos clientes.
Paso 7: revisa las herramientas de análisis de datos
Google ha ampliado drásticamente la cantidad de herramientas de análisis de datos y aprendizaje automático utilizando todas sus investigaciones internas. Puede tomar cualquiera de los datos que almacena y luego aplicar las herramientas Big Data o Cloud Machine Learning de Google para encontrar patrones y señales.
Muchas de estas herramientas son buenas para analizar todos los datos recopilados de su aplicación. Si está vendiendo productos, puede buscar correlaciones entre los clientes y los productos que eligen para que pueda hacer un mejor trabajo al anticipar las necesidades de sus clientes.
Estas herramientas no requieren el uso de App Engine o Compute Engine para recopilar la información. Puede cargar datos desde otros sistemas.
Paso 8: elige tus regiones y zonas
Para muchos trabajos básicos, no hay razón para preocuparse mucho por la ubicación real de la computadora que hace el trabajo. Se llama la nube, ¿verdad? La metáfora sugiere que no necesitamos preocuparnos exactamente de dónde sucede la magia.
Sin embargo, algunos trabajos requieren atención por razones legales o prácticas. Google tiene centros de datos en todos los continentes, excepto en la Antártida y África.
Cada continente se divide en “regiones” y cada región se divide en “zonas”. Si quiere estar seguro de que la vida continuará cuando surjan algunos problemas, debe alquilar máquinas en zonas separadas. Si quiere estar aún más seguro, debe ejecutar sus aplicaciones en múltiples regiones.
Los productos y herramientas individuales generalmente funcionan en todas partes, pero hay algunas zonas no soportadas.
Paso 9: Comience a codificar
Deja de leer y saca el editor. Si vas a utilizar App Engine, no pasará mucho tiempo para que funcione algo. Si alquila hardware básico, tendrá acceso de nivel raíz a la distribución que elija en unos minutos. Solo toma unos segundos activar una gran cantidad de potencia informática. Lo que hagas con este poder depende de ti.