Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .
El enlace a la publicación original, lo encontrarás al final de este artículo.
…
En el mundo actual, las aplicaciones son fundamentales para atraer a los clientes y, como resultado, existe una creciente demanda de desarrolladores en todas las industrias. Sin embargo, gran parte del tiempo de un desarrollador se dedica a trabajos no relacionados con el código, como el aprovisionamiento y la administración de servidores, la configuración del alojamiento, la administración de datos y la seguridad.
Afortunadamente, existen plataformas como Heroku que brindan la forma más rápida para que una empresa cree aplicaciones internas y orientadas al cliente. Entonces… ¿qué es Heroku? Heroku es una plataforma de aplicaciones basada en la nube que permite a las empresas crear, entregar, monitorear y escalar aplicaciones.
En esta publicación de blog, compartiremos cinco cosas sorprendentes que los desarrolladores pueden no saber sobre Heroku. En el camino, también discutiremos cómo Heroku brinda una excelente experiencia para desarrolladores y por qué es una plataforma como servicio (PaaS) ideal para desarrolladores de aplicaciones.
1) Ponga en marcha su aplicación en la nube en un instante
Crear una aplicación en Heroku es extremadamente rápido y fácil. Todo lo que necesita hacer es darle un nombre (único a nivel mundial) y elegir una región. ¡En serio, eso es todo!
Una vez que haga clic en Crear aplicación , tendrá una aplicación en la nube casi al instante. Es una de las soluciones PaaS más rápidas, lo que permite a los desarrolladores crear e implementar aplicaciones rápidamente.
Con Heroku, los desarrolladores pueden concentrarse en crear excelentes aplicaciones en lugar de preocuparse por configurar servidores o infraestructura. El proceso de implementación, configuración, escalado, ajuste y administración de aplicaciones se hace lo más simple y directo posible. También hay un nivel Gratis y Aficionado , que brinda a los desarrolladores una forma gratuita o de bajo costo de experimentar y comenzar, al tiempo que tienen la opción de escalar fácilmente a niveles de producción para uso empresarial.
Además, si tiene un repositorio público en GitHub, puede permitir fácilmente que otros desarrolladores implementen rápidamente su código en su aplicación Heroku con el aprovisionamiento con un solo clic mediante los botones de Heroku . Esto permite una configuración e implementación superrápidas de componentes, bibliotecas y aplicaciones de patrones de terceros. Por ejemplo, esta plantilla de GitHub de Introducción a Python de muestra le permite implementar rápidamente una aplicación de Python de muestra con Django, todo con solo hacer clic en un botón.
Ver la implementación en Heroku botón con un círculo rojo en la captura de pantalla a continuación.
2) Implementar automáticamente en una gran variedad de idiomas
Por lo general, los desarrolladores tienen que instalar diferentes software y componentes para que su aplicación funcione. Pero los desarrolladores que implementan en Heroku pueden desarrollar fácilmente su aplicación usando cualquiera de los ocho lenguajes admitidos oficialmente, a saber, Node.js , Ruby , Python , Java , PHP , Go , Scala y Clojure , sin tener que preocuparse por instalar o configurar la pila. .
¡Heroku hace todo esto mágicamente en nombre del desarrollador! Una vez que se implementa el código, Heroku detecta automáticamente el código utilizado en su aplicación y, posteriormente, utiliza el paquete de compilación adecuado. Tomemos, por ejemplo, Django es un marco de aplicación web de Python ampliamente utilizado por los desarrolladores en la actualidad, y a menudo se usa junto con SQLite como motor de base de datos. Como puede ver aquí, Heroku detecta automáticamente que la aplicación está ejecutando Python y la plataforma instala automáticamente todos los paquetes y dependencias apropiados.
Aquí hay otro ejemplo. Si es un desarrollador que prefiere alojar aplicaciones web dinámicas en PHP, es posible que esté familiarizado con la popular pila LAMP, que generalmente se instala y configura, e incluye un grupo de software de código abierto, como el sistema operativo Linux. sistema, servidor web Apache, base de datos MySQL para procesar PHP (por lo tanto, "LAMP").
Y como puede ver aquí, una vez que Heroku detecta el paquete de compilación que necesita, también instala automáticamente los paquetes de plataforma requeridos, como apache, php, composer, nginx, etc.
Si los desarrolladores quieren usar un lenguaje o marco diferente de los ocho admitidos oficialmente, pueden encontrar un paquete de compilación de terceros para admitirlo . Heroku permite a los desarrolladores aprovechar fácilmente la fortaleza de cualquiera de sus idiomas preferidos para crear una combinación de aplicaciones en una variedad de idiomas, o elegir el idioma que mejor se adapte a su zona de confort o requisitos únicos.
Los desarrolladores pueden aprovechar fácilmente la fortaleza de cualquiera de sus idiomas preferidos para crear una combinación de aplicaciones en una variedad de idiomas, o elegir el idioma que mejor se adapte a su zona de confort o requisitos únicos.
Con eso, los desarrolladores pueden concentrarse solo en escribir código y, cuando se implementa en Heroku, la plataforma puede detectar los detalles de la aplicación y la descripción de la dependencia. El código fuente de su aplicación, junto con el archivo de dependencia, brinda suficiente información para que la Plataforma Heroku construya su aplicación, lo que le permite producir algo que se puede ejecutar muy rápido.
3) Agregue fácilmente componentes a su aplicación
Agregar nuevas funciones y componentes a una aplicación puede llevar mucho tiempo y ser complejo. Los complementos de Heroku son componentes que amplían una aplicación con servicios adicionales, como almacenamiento de datos, supervisión, análisis, procesamiento de datos y más. Los complementos de Heroku son completamente mantenidos por un proveedor externo o por Heroku. Permiten a los desarrolladores agregar rápida y fácilmente nuevas funciones y componentes a su aplicación, para que puedan concentrarse en su propio código y lógica de aplicación sin la complejidad adicional de mantener los servicios de soporte a plena capacidad de producción.
Por ejemplo, en este caso, los desarrolladores pueden agregar fácilmente una base de datos MySQL a su aplicación simplemente buscándola en la pestaña Recursos en su Tablero de Heroku. ¡Imagínese lo fácil que es activar una aplicación y experimentar con diferentes servicios adicionales para probar nuevas ideas!
4) Sincronice a la perfección los datos de Salesforce y Heroku
Con las aplicaciones modernas, hay muchos casos en los que sería extremadamente útil utilizar los datos de Salesforce dentro de la experiencia de la aplicación. Esto se puede lograr muy fácilmente usando uno de los increíbles complementos de Heroku: Heroku Connect. Este complemento permite a los desarrolladores configurar fácilmente una sincronización de puente de datos bidireccional entre Heroku Postgres de la aplicación base de datos (que también se puede aprovisionar fácilmente como complemento de Heroku) y objetos de Salesforce. Como puede ver en este ejemplo, los desarrolladores pueden decidir fácilmente qué campos de objetos en Salesforce asignar a la base de datos de Postgres. Lo mejor de Heroku Connect es que los datos sincronizados no afectan los límites de la API de Salesforce porque Heroku es parte de la Plataforma de Salesforce.
Con los cambios de datos sincronizados bidireccionalmente entre Salesforce y Postgres, los conectores de datos de transmisión de Heroku también son otra gran herramienta que permite a los desarrolladores aprovechar Heroku para aumentar el valor de los datos a través de una arquitectura basada en eventos. Los conectores de transmisión de datos permiten que los cambios de datos en Heroku Postgres se transmitan fácilmente a otras tiendas y aplicaciones dentro e incluso fuera de Salesforce para la integración con otras fuentes de datos, como un lago de datos de Snowflake o una cola de AWS Kinesis.
Estos son solo algunos casos de uso en los que los desarrolladores están creando valor comercial con Heroku Connect y Heroku Streaming Data Connectors:
- Combine datos de varias organizaciones de Salesforce para habilitar ventas cruzadas/aumentadas entre organizaciones para mejorar las eficiencias internas y vender más. Heroku Connect sincroniza los datos de Oportunidades de varias organizaciones de Salesforce con una base de datos Postgres de Heroku y los replica en la organización principal o "principal", que sirve como única fuente de información para todas las oportunidades. Esto facilita el uso de funciones, como Salesforce Connect, para virtualizar los datos de oportunidades en las organizaciones secundarias o ejecutar análisis desde una organización.
- Aproveche millones de interacciones de clientes para impulsar la personalización en aplicaciones, conocimientos y experiencias a partir de registros de aplicaciones, secuencias de clics o cualquier fuente de eventos para ofrecer experiencias omnicanal y vender más. Los conectores de datos de transmisión y Apache Kafka para Heroku facilitan más que nunca la combinación de datos de eventos de transmisión en un solo bus de eventos y convierten los datos transaccionales en un flujo de eventos.
- Cree experiencias de consumo, aplicaciones, notificaciones y conocimientos receptivos en tiempo real con transmisión de datos y una arquitectura basada en eventos unificada con Customer 360 para aumentar la adquisición, el compromiso, la adopción y la retención de clientes. Aloje datos de transmisión en Apache Kafka para Heroku y use conectores de datos de transmisión para convertir datos transaccionales en una transmisión de eventos e integrar estas experiencias con su instancia de Customer 360.
- Conecte las aplicaciones heredadas a las experiencias de aplicaciones modernas sin tener que reescribirlas para aumentar la agilidad de TI. Utilice conectores de datos de transmisión para convertir los datos transaccionales de Heroku Postgres en un flujo de eventos e integrarlos con Customer 360.
- Impulse la hiperautomatización con activadores de transmisión en todo el ecosistema de aplicaciones . Imagine que su producto activa un evento en el bus de eventos (Apache Kafka en Heroku) cada vez que se registra un nuevo usuario. Este evento activaría la creación de cuentas en Salesforce, la facturación en CPQ, un recorrido de marketing en Marketing Cloud y procesos de incorporación en Service Cloud.
5) Facilite DevOps con Heroku Pipelines
DevOps es un aspecto importante del trabajo de un desarrollador porque es un enfoque de operaciones y desarrollo de software que permite un desarrollo más rápido de nuevos productos y un mantenimiento más sencillo de las implementaciones existentes. Heroku hace que DevOps sea extremadamente fácil con Heroku Pipelines .
Una canalización es un grupo de aplicaciones de Heroku que comparten la misma base de código. Cada aplicación en la canalización representa una de las siguientes etapas en un flujo de trabajo de entrega continua : desarrollo, revisión, puesta en escena y producción.
La página de descripción general de una canalización ilustra las etapas de este flujo y proporciona información sobre el estado de cada etapa. Con un vistazo, los desarrolladores pueden ver en este tablero que el entorno de prueba se ejecuta de manera diferente a la producción. Por ejemplo, los hash 95961120
y 749f1b2c
son diferentes. La página de descripción general también permite a los desarrolladores promocionar fácilmente a producción con solo un clic, ¡sin causar ningún tiempo de inactividad en la aplicación!
Además, si los desarrolladores colaboran usando GitHub, pueden habilitar las aplicaciones de revisión de Heroku para mejorar aún más la experiencia de DevOps:
- Cuando un desarrollador crea una solicitud de extracción para realizar un cambio en el código base en GitHub, Heroku crea automáticamente una aplicación de revisión para la solicitud de extracción, lo que permite a los desarrolladores probar el cambio.
- Cuando se determina que el cambio está listo, se fusiona con la rama maestra de la base de código y los desarrolladores pueden optar por destruir automáticamente las aplicaciones de revisión obsoletas.
- La rama maestra se implementa automáticamente en la aplicación de prueba de la canalización para realizar más pruebas.
- Cuando se certifica que el cambio en el entorno de prueba está listo, un desarrollador promueve la aplicación de prueba a producción y la pone a disposición de los usuarios previstos.
¿Qué más puedo hacer con Heroku como desarrollador de Salesforce?
Si bien estas son mis cinco funciones favoritas de Heroku, hay muchas más cosas emocionantes que Heroku tiene para ofrecer, ¡especialmente para los desarrolladores de Salesforce! Con las funciones de Salesforce (lanzadas recientemente), los desarrolladores ahora tienen la opción de ejecutar código y ampliar la plataforma Customer 360 con una lógica empresarial escalable elásticamente personalizada. Con Salesforce Functions, los desarrolladores también tienen la opción de aprovechar fácilmente los datos de Heroku en el conjunto de servicios de datos de Heroku , que incluyen las ofertas de Postgres, Redis y Kafka de Heroku.
Los desarrolladores de Salesforce pueden crear una función para iterar fácilmente a través de los datos en Heroku Postgres, incluidos los datos administrados por Heroku Connect. Otros casos de uso incluyen la producción de mensajes en un flujo de Apache Kafka en Heroku, lo que facilita la implementación de Apache Kafka en Heroku como una capa de orquestación para microservicios en la plataforma Heroku, o compartir una cola de trabajo o caché basado en Heroku Data para Redis .
Conclusión
Heroku fue diseñado para desarrolladores, por desarrolladores. Esto significa que su interfaz de usuario y su experiencia son simples y fáciles de usar, tal como lo esperaría un desarrollador. Esperamos que al utilizar algunas de estas características menos conocidas dentro de la Plataforma Heroku, los desarrolladores puedan aumentar su productividad y crear aplicaciones atractivas que satisfagan las demandas actuales.
Sobre el Autor
Terence Lim es un evangelista de desarrolladores de Salesforce con un enfoque en el desarrollo de aplicaciones móviles y la plataforma de Salesforce. Conocido por su naturaleza altamente enérgica, le encanta trabajar con personas y nada lo emociona más que poder inspirar y empoderar a otros a través de la tecnología. Ha hablado frecuentemente en conferencias alrededor del mundo. Le encanta conocer gente nueva y aprender cosas nuevas, y tiene muchas historias increíbles de sus viajes para compartir. ¡A él también le encantaría escuchar tu historia! Echa un vistazo a sus proyectos de GitHub @terlim-sfdc.
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://developer.salesforce.com/blogs/2022/07/5-amazing-features-that-developers-may-not-know-about-heroku.html