Conocer Heroku
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Explicar lo que es el modelo de plataforma como servicio (PaaS) y nombrar dos de ellas.
- Comprender la diferencia entre PaaS y otros servicios.
- Describir qué es una API de RESTful.
- Nombrar cuatro casos de uso para Heroku.
Introducción a Heroku
Muchos desarrolladores de Salesforce nos preguntaron “¿Qué es esto de la plataforma Heroku? ¿Para qué podemos utilizarlo?” Le explicaremos qué es en este módulo, y profundizaremos en casos de uso y herramientas específicos. ¡Vamos a ello!
Heroku en Salesforce Platform
La plataforma Heroku forma parte de Salesforce Platform, una plataforma de aplicaciones multinube. ¡Parece un trabalenguas! Lo que queremos decir es que Salesforce Platform enlaza entre sí muchas herramientas y servicios en una plataforma cohesionada que puede utilizar para construir aplicaciones valiosas. Heroku es parte de ese conjunto de herramientas. Puede permitirle crear aplicaciones personalizadas para facilitar experiencias de clientes impresionantes.
Es posible que sepa que Lightning Platform le permite crear aplicaciones de cara a los empleados para personalizar y ampliar su CRM de Salesforce. Con Heroku puede ir incluso más allá y crear aplicaciones perfectas hasta el último píxel para sus clientes en lenguajes de código abierto como Java, Ruby, Python, PHP, JavaScript y Go.
Puede superar los límites de Lightning Platform, pero permanecer conectado a sus datos dentro de Salesforce. ¡Básicamente reúne lo mejor de todas las posibilidades! Muchos clientes aprovechan Heroku para crear potentes aplicaciones web y móviles que impulsan una mayor participación de los clientes.
Las aplicaciones constan de muchos componentes diferentes. Una típica aplicación de la actualidad consta de un sistema de gestión de back-end con un sistema de registro para los datos importantes (como la capa del Modelo de datos de Lightning Platform), herramientas de seguimiento y creación de reportes internas, así como una interfaz web o móvil pública que permita a los clientes implicarse con ella. Heroku le da la posibilidad de utilizar lenguajes de código abierto como los mencionados anteriormente y marcos de trabajo como Express, Ruby on Rails, Django o Spring para crear esa interfaz de cara al público.
Heroku es una Plataforma como servicio
Todos escuchamos sobre la infraestructura como servicio, como Amazon Web Services y software como servicio (SaaS), como Salesforce. Heroku es una PaaS similar a Lightning Platform, pero es una plataforma Express.js que proporciona diferentes funciones, como la cobertura de muchos lenguajes de programación diferentes, y la capacidad de controlar y ampliar recursos. Llegaremos a esto más adelante.
Por ahora, empecemos por el principio. ¿Qué es PaaS? ¿Cómo se relaciona con SaaS o la infraestructura como servicio (IaaS) o tener sus propios servidores? Analizaremos cada uno de estos y los compararemos empleando una analogía de sastrería. También verá cómo se construyen uno sobre otro.
Empezaremos con SaaS, que gestiona la mayoría de las partes de la aplicación por usted y por ello es la más sencilla de utilizar. SaaS a menudo está construida sobre una PaaS, que a su vez probablemente está construida sobre una IaaS, que está construida con hardware en las instalaciones. El hardware en las instalaciones requiere el mayor esfuerzo para su mantenimiento y uso, pero proporciona los cimientos de todos esos otros estupendos servicios.
Software como servicio
SaaS es una metodología para entregar software desde la nube sin descargarlo ni instalarlo en su computadora. Ya utilizó SaaS cuando inició sesión en Salesforce a través de Internet. Para describir mejor el concepto, utilicemos la analogía de comprar un traje. El uso de SaaS es como ir a unos grandes almacenes y comprar un traje de un expositor. Puede encontrar algo bastante bonito que ya está fabricado y ponérselo para una fiesta esa noche. También podría llevarlo a un sastre para hacer ajustes menores para obtener un ajuste más personalizado.
Como se mencionó, este método es el modelo familiar de Salesforce que todos conocemos y disfrutamos. Entre bambalinas, los ingenieros de Salesforce construyen, gestionan y actualizan todo el software por usted. Todo lo que tiene que hacer es iniciar sesión y utilizarlo. ¡Sencillo!
Plataforma como servicio
Una PaaS es una manera de entregar hardware y herramientas de software a usuarios como un servicio. También puede utilizar el hardware y las herramientas para el desarrollo de aplicaciones sobre la plataforma. ¡De este modo puede construir su propio SaaS directamente sobre una PaaS!
Naturalmente, una PaaS proporciona menos elementos preparados previamente para usted, pero la compensación es una flexibilidad aumentada. En el mundo de la ropa, este enfoque es semejante a ir a un establecimiento a medida donde selecciona la tela, los botones y el patrón y hacer que el sastre le haga un traje que se ajuste a usted de forma personalizada. ¿Desea un traje de tres piezas amarillo con lunares? No tiene que esperar que Armani se dé cuenta de que es la próxima tendencia de la moda, ¡puede hacérselo a medida! No podrá ponérselo para una fiesta esta noche, pero puede estar seguro de que le quedará perfecto cuando esté terminado. Y nadie más tendrá uno igual.
Aquí es donde entra Heroku. Heroku se encarga de las partes complicadas del funcionamiento subyacente de una aplicación a escala de Internet. Esto le permite concentrarse en la creación de la aplicación y la experiencia perfectas para sus clientes con lenguajes de código abierto, marcos de trabajo y otras herramientas que se ajusten mejor a sus necesidades, sin pensar en, por ejemplo, parches del sistema operativo.
Infraestructura como servicio
IaaS es un modelo que proporciona únicamente el hardware o los recursos virtualizados de fábrica a sus usuarios, sin la capa adicional de herramientas que lo convertiría en una plataforma. Si fuese a enfocar la fabricación de trajes con el modelo IaaS, tendría que comprar la tela, los botones y el hilo usted mismo, imaginar los diseños para su traje a medida y cortar la tecla según el patrón. Luego tendría que pagar a la tienda de costura local para reservar tiempo en una máquina de coser y coser el traje usted mismo. Es mucho trabajo, pero estaría seguro que podría utilizar una máquina de coser con patrones de costura especiales de su elección.
La plataforma Heroku en sí está basada en una potente IaaS denominada Amazon Web Services (AWS). AWS le permite ensamblar máquinas virtuales, equilibradores de carga y otros recursos de bajo nivel para construir clústeres de aplicaciones grandes y complejos. Estos sistemas requieren profesionales altamente cualificados para diseñar la arquitectura, crear, monitorear, proteger y mantener, pero son más personalizables que las plataformas.
Infraestructura en las instalaciones
La infraestructura en las instalaciones es la base del resto de los servicios. “En las instalaciones” significa que usted posee y gestiona servidores físicos y otro hardware. AWS nos puede ofrecer su IaaS porque mantiene miles y miles de servidores en las instalaciones.
Para confeccionar un traje siguiendo el modelo en las instalaciones, tendría que construir y mantener todas las partes que necesita. Para tener tela de lana, necesitaría tener un rebajo de ovejas, esquilarlas, tejer la lana y teñirla del color de su elección. Luego tendría que construir una máquina de coser, imaginar un patrón, cortar la piezas y coserlas entre sí. En un par de años, podría ponerse ese estupendo traje nuevo.
La construcción de su propio centro de datos en las instalaciones incorporando y apilando servidores es un trabajo ingente, pero el mantenimiento de todos los elementos usted mismo le da el control total. Afortunadamente, ¡no tiene que controlar su infraestructura hasta los mismos cimientos para crear aplicaciones increíbles!
¿Por qué Heroku?
Una PaaS elimina la complejidad de crear y llevar una infraestructura para aplicaciones. La utilización de una PaaS le permite crear fácilmente recopilaciones de contenedores con equilibrio de carga que ejecutan su software. Puede pensar en esos contenedores como contenedores de transporte que alojan todo el código y los recursos necesarios para ejecutar su aplicación.
Heroku es una PaaS completamente gestionada: toda la complejidad subyacente está controlada por usted por equipos dedicados en Salesforce, incluyendo cosas como la respuesta a fallos, el monitoreo de las vulnerabilidades de la seguridad y su parcheo, la planificación de ampliaciones y la ampliación real de la PaaS. Si deseara llevar su propia PaaS, necesitaría equipos de personas gestionado todas estas cosas de forma ininterrumpida todos los días de año.
Heroku se encarga de estas cosas por usted para que pueda concentrarse en crear aplicaciones personalizadas para complacer a sus clientes. Y también obtiene la flexibilidad agregada de poder emplear una variedad de lenguajes y la facilidad de ampliar sus recursos según vaya necesitando.
¡Heroku pinta bien! ¿Qué puedo hacer con él?
Con Heroku puede crear aplicaciones o sistemas con una variedad de lenguajes de código abierto, como Java, PHP, Python, Node, Go y Ruby. Los sistemas que cree podrán aceptar solicitudes a través de HTTP y HTTPS, conectarse a bases de datos, utilizar módulos complementarios de terceros, y poner en cola y ejecutar trabajos en segundo plano.
En pocas palabras, puede construir aplicaciones web vanguardistas desde cero empleando Heroku. También puede almacenar datos en una base de datos gestionada y utilizar complementos de otros fabricantes que proporcionan funciones adicionales desde el Heroku Elements Marketplace. Y ya que Heroku forma parte de Salesforce Platform, todas sus aplicaciones Heroku pueden obtener acceso fácilmente a los datos de Salesforce de su compañía.
Construir APIs de RESTful en Heroku
La naturaleza basada en Internet de Heroku significa que puede ampliar fácilmente su conjunto de aplicaciones para potenciar su estrategia móvil. Las aplicaciones móviles modernas están impulsadas por unas API de RESTful basadas en las Web que proporcionan métodos estándar para que las aplicaciones móviles realicen solicitudes y reciban respuestas desde su aplicación web. Sus aplicaciones web y móviles están conectadas a un sistema de software de back-end, con tecnología de Heroku.
Debido a que Heroku es una plataforma para aplicaciones basadas en Internet personalizadas, el límite es el cielo para lo que puede construir sobre ella. Podría crear su fantástico nuevo sitio web personalizado en Heroku. ¿Desea agregar su dispositivo a la Internet de las cosas? Heroku puede hacerlo. ¿Qué hay de la tecnología financiera? Incluso los servicios financieros del futuro pueden estar impulsados por Heroku.
¿Suena demasiado bien para ser cierto? Profundicemos en casos de uso específicos y la forma en que podría diseñar estas aplicaciones.
Caso de uso: Sitio web de participación de clientes
Su negocio es exclusivo y también las maneras con las que desea participar con sus clientes. Los sitios creados con moldes, incluso si tienen marca para coincidir con el sitio web de su compañía, no van a proporcionar las experiencias de implicación personal en todos los canales que los consumidores de Internet esperan de las marcas más importantes. Heroku le permite construir aplicaciones personalizadas empleando lo último en tecnología de código abierto.
Y con los datos de sus clientes y los sistemas de back-end en Salesforce, las aplicaciones construidas sobre Heroku pueden integrarse estrechamente. Puede construir una aplicación a medida dando a sus clientes una experiencia completamente personalizada sin perder la eficiencia de tener todos los datos en un único punto.
Caso de uso: Potenciar la capacidad móvil e IoT a través de servicios de API
Debido a que los servicios API de RESTful se basan en Internet, puede construir fácilmente la API de su compañía sobre la plataforma Heroku. Todos las excelentes aplicaciones móviles y dispositivos de la Internet de las cosas (Internet of Things, IoT) de la actualidad tienen una API subyacente que es reutilizable y ampliable.
Después de construir su servicio API, puede crear cualquier número de clientes móviles, ya sean nativos, híbridos o HTML5 sobre dicha API. Puede incluso construir nuevas aplicaciones web o dispositivos físicos que interactúen con esa API para ofrecer nuevas experiencias exclusivas para sus clientes. Con una API construida sobre Heroku, puede abrir un mundo de oportunidades móviles.
Caso de uso: Manipulación de datos
Salesforce viene con muchas excelentes herramientas para gestionar, manipular y explorar sus datos. Con Lightning Platform, puede construir aplicaciones sin programar y crear potentes flujos de trabajo y automatizaciones, mientras que Einstein Analytics le permite analizar la ingente cantidad de datos que recopiló de sus clientes. Lightning Platform es extremadamente potente, pero no es la mejor elección para algunos casos de uso. Heroku proporciona herramientas complementarias que pueden completar las funciones de Salesforce Platform.
Con Heroku puede aprovechar la estrecha integración de los datos de Salesforce y la capacidad de utilizar lenguajes de código abierto y herramientas para crear sus propias herramientas de procesamiento, almacenaje o archivación de datos. Puede incluso conectar sus herramientas de inteligencia de negocio directamente a sus aplicaciones de datos de Heroku, aprovechando sus conjuntos de datos transformados para extraer perspectivas aún más potentes y exclusivas. En pocas palabras, Heroku amplía las posibilidad des que tiene para vincular fácilmente entre sí el código abierto, las aplicaciones externas y los analíticos personalizados, todo ello para dar cobertura a sus casos de uso centrados en datos más exigentes.
Caso de uso: Pruebe de concepto o laboratorios
Una de las mejores cosas de Heroku es que es elástico. Solo tardará unos minutos en crear un nuevo entorno de aplicación y estará listo para ejecutar su código. Cuando termine de probar su nueva idea, puede eliminar la aplicación y pasar al siguiente paso. Muchos clientes utilizan Heroku para probar nuevas ideas para aplicaciones o proporcionar herramientas personalizadas valiosas.
¿Y qué pasaría si su aplicación de prueba de concepto, esa que empezó como un proyecto secundario destinado a explorar nuevas posibilidades, de pronto despega y necesita desplegarla inmediatamente a una audiencia más amplia? Con Heroku no tiene que preocuparse de nada en absoluto. Es una tarea menor ampliar los recursos detrás de su aplicación desde una miniatura a masivos para acomodar el tráfico del mundo real. No necesita emplear semanas planificando y aprovisionando infraestructuras y trasladando esas aplicaciones al entorno de producción. Heroku funcionan tan bien probando un concepto que para entregar la experiencia completa.
Un ejemplo hipotéticamente real
Digamos que tiene una idea brillante para revolucionar el mercado de los felpudos conectados. Necesita una aplicación que acepte puntos de datos de felpudos de puertas, mostrar mediciones procedentes de cada felpudo de los clientes y permitir que los clientes abran casos de asistencia sobre sus felpudos. También desea que los clientes potenciales van información sobre sus felpudos conectados y comprarlos.
¡Uau! Suena como algo muy trabajoso, ¿verdad?
Espere un momento, no se olvide de los tableros de negocio, los programas de marketing, la asistencia predictiva y todos los sistemas de back-end que necesita para realizar el seguimiento de los felpudos, aceptar pedidos, realizar el seguimiento de los pedidos, entregarlos y...
En un mundo de Salesforce Platform, usted se concentra en el código que tiene más repercusión sobre sus clientes. Usted construye los sitios web de sus clientes, los extremos de API de RESTful y los puntos de ingreso de altos volúmenes de datos como aplicaciones personalizadas en Heroku. Luego utiliza Lightning Platform para construir los sistemas de back-end, las herramientas de atención al cliente, la inteligencia de negocio, los flujos de trabajo y las trayectorias de marketing. Con Salesforce Platform, puede pasar de vender a dar cobertura y servicio a cientos de miles o incluso millones de felpudos.
Resumen
Con la incorporación de Heroku, el mundo de Salesforce Platform se amplió aún más y proporciona una plataforma para construir aplicaciones personalizadas para ofrecer experiencias exclusivas a sus clientes. ¿Suena demasiado bien para ser verdad o parece ser demasiado complicado? Síganos a la próxima unidad para ver las opciones de implementación de Heroku.