Introdução à Heroku
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Explicar o que é uma plataforma como serviço (PaaS) e nomear duas plataformas existentes.
- Entender a diferença entre PaaS e outros serviços.
- Descrever uma API RESTful.
- Nomear quatro casos de uso da Heroku.
Introdução à Heroku
Vários desenvolvedores do Salesforce nos perguntaram: “o que é essa Plataforma Heroku? O que eu faço com isso?” Explicaremos tudo isso neste módulo e nos aprofundaremos nas ferramentas e nos casos de uso específicos. Vamos aos detalhes!
Heroku na Salesforce Platform
A Plataforma Heroku faz parte da Salesforce Platform, uma plataforma de aplicativos em várias nuvens. Isso é muita coisa! O que queremos dizer é que a Salesforce Platform junta muitos serviços e ferramentas em uma mesma plataforma que você pode usar para criar aplicativos inestimáveis. A Heroku faz parte desse conjunto de ferramentas. Ela permite que você crie aplicativos personalizados para oferecer experiências de usuário maravilhosas.
Você já deve saber que a Lightning Platform permite criar aplicativos voltados para o usuário a fim de personalizar e estender seu Salesforce CRM. A Heroku permite ir ainda mais longe, criando aplicativos perfeitos nos mínimos detalhes para seus clientes em linguagens de código aberto, como Java, Ruby, Python, PHP, JavaScript e Go.
Você pode se aventurar fora da Lightning Platform, mas continuar conectado aos seus dados no Salesforce. É basicamente o melhor dos dois mundos! Vários clientes aproveitam a Heroku em aplicativos Web e móveis avançados que aumentam a interação com o cliente.
Os aplicativos são compostos por muitos componentes diferentes. Um aplicativo típico dos dias de hoje consiste em um sistema back-end de gerenciamento com um sistema de registro de dados importantes (como a camada de modelo de dados da Lightning Platform), ferramentas internas de rastreamento e relatório e uma interface móvel ou da Web pública que permite a interação dos usuários com ele. A Heroku permite usar linguagens de código aberto, como as mencionadas acima, e estruturas como Express, Ruby on Rails, Django ou Spring para criar essa interface voltada para o público.
A Heroku é uma plataforma como serviço (PaaS, Platform as a service)
Já todos ouvimos falar de infraestrutura como serviço, por exemplo, Amazon Web Services, e de software como serviço (SaaS, Software as a service), por exemplo, Salesforce. A Heroku é uma PaaS, assim como a Lightning Platform, mas é uma plataforma Express.js que traz recursos muito diferentes, como suporte a várias linguagens de programação diferentes e a capacidade de controlar e dimensionar recursos. Veremos essas maravilhas mais adiante.
Por enquanto, vamos começar do princípio. O que é PaaS? O que tem a ver com SaaS, com infraestrutura como serviço (IaaS, Infrastructure as a service) ou com ter seus próprios servidores locais? Também veremos cada caso e os compararemos usando uma analogia de alfaiataria. Você também verá como eles se criam baseados uns nos outros.
Começaremos com SaaS, que gerencia a maior parte do aplicativo para você e é, consequentemente, o mais fácil de usar. SaaS normalmente se cria com base em uma PaaS, que, por sua vez, se cria com base em uma IaaS, que é criada com hardware local. O hardware local exige muito trabalho de manutenção e uso, mas serve de fundação para todos os outros serviços.
Software como serviço (SaaS)
SaaS é uma metodologia de uso de software na nuvem sem ter que baixá-lo e instalá-lo em seu computador. Você já usou SaaS quando fez login no Salesforce pela Web. Para descrever melhor esse conceito, vamos comparar com a compra de um terno. O uso de SaaS é como ir a uma loja de departamentos comprar um terno pronto. Você pode encontrar um bom terno pronto e usá-lo em uma festa na mesma noite. Você também pode pedir a uma costureira para fazer alguns ajustes e deixá-lo certinho no seu corpo.
Como mencionado, este método é o modelo familiar do Salesforce que todos nós conhecemos e amamos. Nos bastidores, os engenheiros do Salesforce criam, gerenciam e atualizam todo o software para você. Basta fazer login e usá-lo. Simples!
Plataforma como serviço (PaaS)
PaaS é uma maneira de fornecer ferramentas de software e hardware como um serviço aos usuários. Você também pode usar o hardware e as ferramentas para desenvolvimento de aplicativos com base na plataforma. Ou seja, você pode criar seu próprio SaaS baseado em uma PaaS!
É claro que a PaaS oferece menos recursos prontos para usar, mas ela compensa em termos de flexibilidade. No mundo da costura, esta abordagem é semelhante a ir a um alfaiate, onde é possível escolher o tecido, os botões e a padronagem, e ter um terno feito sob medida para você. Deseja ter um terno mais colete de bolinhas amarelas? Você não precisa esperar pela Armani para perceber que essa é a próxima tendência da moda; é possível ter o terno feito sob medida! Você não poderá usá-lo na festa de hoje à noite, mas, acredite, o caimento dele será perfeito quando ficar pronto. E ninguém terá nada parecido.
É aqui que entra a Heroku. Ela cuida da parte complicada de operar os bastidores de um aplicativo no plano da Internet. Assim, você pode se concentrar em criar o aplicativo e a experiência perfeitos para seus clientes usando linguagens, estruturas e outras ferramentas de código aberto que atenderão melhor às suas necessidades sem precisar pensar em aspectos como patches de sistema operacional.
Infraestrutura como serviço (IaaS)
IaaS é um modelo que fornece apenas o hardware ou recursos bare-metal virtualizados para seus usuários, sem a camada adicional de ferramentas que a transformaria em uma plataforma. Pensando no modelo de IaaS no contexto da alfaiataria, você teria que comprar o tecido, os botões e a linha por conta própria, pensar no desenho do seu terno e cortar o tecido no molde. Além disso, você teria que alugar uma máquina de costura na loja de costura local e costurar o terno por conta própria. Dá muito trabalho, mas você pode ter a certeza de que vai poder usar uma máquina de costura com os pontos especiais de que gosta.
A própria plataforma Heroku é criada com base em uma IaaS avançada chamada Amazon Web Services (AWS). A AWS permite a você montar máquinas virtuais, balanceadores de carga e outros recursos de baixo nível para criar clusters de aplicativos grandes e complexos. Estes sistemas exigem profissionais de alto nível para arquitetá-los, criá-los, monitorá-los, protegê-los e mantê-los, mas são mais personalizáveis do que as plataformas.
Infraestrutura local
A infraestrutura local é a pedra angular de todos esses outros serviços. Local significa que você é o proprietário e gerencia os servidores físicos e outros hardware. A AWS pode nos fornecer sua IaaS porque mantém milhares e milhares de servidores locais.
Para fazer um terno seguindo o modelo local, você teria que criar e manter todas as peças de que precisa. Para ter lã, você teria que ter uma criação de ovelhas, tosquiá-las, tecer o tecido e tingi-lo da sua cor preferida. Em seguida, teria que fabricar uma máquina de costura, imaginar o molde, cortar as peças e costurá-las. E, depois de alguns anos, você poderia vestir o seu incrível terno novo.
Criar seu próprio data center e guardar e empilhar seus servidores dá muito trabalho, mas a manutenção de todas as peças por conta própria lhe dá controle total. Felizmente, você não precisa controlar sua infraestrutura nesse nível para criar aplicativos incríveis!
Por que a Heroku?
Uma PaaS tira a complexidade de criar e executar infraestrutura para aplicativos. Com o uso de uma PaaS, você pode criar facilmente coleções de contêineres com balanceamento de carga que executam seu software. Pense nos contêineres como contêineres de carga que guardam todo o código e os recursos necessários para executar seu aplicativo.
A Heroku é uma PaaS totalmente gerenciada: toda a complexidade subjacente é gerenciada para você por equipes dedicadas na Salesforce, inclusive o tratamento de falhas, o monitoramento de vulnerabilidades de segurança e patches para elas, o planejamento de dimensionamento e o dimensionamento efetivo da PaaS. Se você quisesse executar sua própria PaaS, teria que ter equipes de pessoas gerenciando essas questões 24 horas por dia, 7 dias por semana, em todos os 365 dias do ano.
A Heroku cuida dessas questões para você, para que possa se concentrar em criar aplicativos personalizados que farão a alegria dos seus clientes. E você ainda tem a flexibilidade de poder usar várias linguagens e dimensionar seus recursos facilmente conforme a necessidade.
A Heroku parece ser uma ótima ideia! O que eu posso fazer com ela?
A Heroku permite criar aplicativos ou sistemas usando várias linguagens de código aberto, como Java, PHP, Python, Node, Go e Ruby. Os sistemas criados podem aceitar solicitações por HTTP e HTTPS, anexar a bancos de dados, usar módulos de complementos de terceiros, além de executar e colocar trabalhos em segundo plano em fila.
Resumindo: você pode criar aplicativos Web de ponta do zero usando a Heroku. Você também pode armazenar dados em um banco de dados gerenciado e usar complementos de terceiros do Heroku Elements Marketplace para melhorar a funcionalidade. E como a Heroku faz parte da Salesforce Platform, todos os seus aplicativos Heroku têm acesso fácil aos dados do Salesforce da sua empresa.
Criar APIs RESTful na Heroku
A natureza Web da Heroku permite que você estenda facilmente o pacote de seu aplicativo para impulsionar sua estratégia móvel. Os aplicativos móveis modernos são acionados por APIs RESTful baseadas na Web, que oferecem a eles maneiras padrão de fazer solicitações e receber respostas do aplicativo Web. Seus aplicativos móveis e aplicativos Web ficam todos conectados a um sistema de software back-end da plataforma Heroku.
Como a Heroku é uma plataforma para aplicativos personalizados baseados na Web, não há limite para o que você pode criar nela. Você pode criar seu próximo site personalizado fabuloso na Heroku. Deseja adicionar seu dispositivo à Internet das Coisas? A Heroku pode fazer isso. Que tal a fintech? Mesmo os serviços financeiros do futuro podem ter a Heroku.
É muito bom para ser verdade? Vamos ver os detalhes de alguns casos de uso específicos e como você pode criar esses aplicativos.
Caso de uso: site de envolvimento com o cliente
Seu negócio tem características únicas, assim como únicas são as formas de se envolver com seus clientes. Sites padrão criados a partir de modelos, mesmo que estejam formatados à medida do site da sua empresa, não oferecem aquela experiência de envolvimento pessoal, omni-channel e emocionante que os clientes esperam das principais marcas na Web. A Heroku permite a você criar aplicativos personalizados usando os recursos mais recentes em tecnologia de código aberto.
E, com os dados do cliente e sistemas back-end no Salesforce, os aplicativos criados na Heroku podem ser integrados sem dificuldade. Você pode criar um aplicativo sob medida que oferece aos seus clientes uma experiência totalmente personalizada sem perder a eficiência de ter todos os seus dados no mesmo lugar.
Caso de uso: como potencializar o ambiente móvel e a IoT (Internet of Things, Internet das Coisas) com serviços de API
Como os serviços da API RESTful são baseados na Web, você pode criar a API da sua empresa facilmente na plataforma Heroku. Todos os grandes aplicativos móveis e dispositivos da Internet das Coisas (IoT) de hoje em dia têm uma API extensível e reutilizável por trás deles.
Depois de criar seu serviço de API, você poderá criar vários clientes móveis, sejam nativos, híbridos ou HTML5, baseados nele. Você pode até criar novos aplicativos Web ou dispositivos físicos que interagem com essa API para oferecer experiências novas e exclusivas aos seus clientes. Com uma API criada na Heroku, você tem acesso a um mundo de oportunidades móveis.
Caso de uso: manipulação de dados
O Salesforce vem com várias ferramentas excelentes para gerenciar, manipular e explorar seus dados. A Lightning Platform permite criar aplicativos sem código e criar fluxos de trabalho e automações avançadas, ao passo que o Einstein Analytics permite analisar a grande quantidade de dados coletados de seus clientes. A Lightning Platform é muito avançada, mas pode não ser a melhor escolha em alguns casos de uso. A Heroku fornece ferramentas adicionais que complementam os recursos da Salesforce Platform.
A Heroku permite tirar proveito da forte integração com os dados no Salesforce e da capacidade de usar linguagens e ferramentas de código aberto para criar seus próprios aplicativos de processamento de dados, armazenamento ou arquivamento. Você pode até conectar suas ferramentas de business intelligence diretamente aos aplicativos de dados da Heroku, aproveitando seus conjuntos de dados transformados para ter insights mais expressivos e exclusivos. Em resumo, a Heroku expande as escolhas que você pode fazer para juntar facilmente análises personalizadas, de código aberto e de terceiros, tudo para dar suporte a seus casos de uso mais voltados para dados.
Caso de uso: laboratório ou prova de conceito
Uma das melhores coisas sobre a Heroku é a sua elasticidade. Bastam alguns instantes para criar um novo ambiente de aplicativo e você fica pronto para executar seu código. Quando terminar de experimentar sua nova ideia, exclua o aplicativo e passe para a próxima ideia. Muitos clientes usam a Heroku para testar novas ideias de aplicativos ou fornecer ferramentas personalizadas valiosas.
Mas imagine se seu aplicativo de prova de conceito, o que começou como um projeto paralelo para explorar novas possibilidades, começa a fazer sucesso e você precisa distribuí-lo imediatamente para um público maior? Com a Heroku, você não precisa se preocupar. É fácil dimensionar os recursos por trás de seu aplicativo na quantidade necessária para acomodar o tráfego do mundo real. Você não precisa passar semanas planejando e provisionando a infraestrutura e movendo esses aplicativos para o ambiente de produção. A Heroku funciona igualmente bem provando um conceito e oferecendo a experiência completa.
Um exemplo hipoteticamente real
Digamos que você tem uma ideia brilhante para revolucionar o mercado de tapetes conectados. Você precisa de um aplicativo que aceite pontos de dados dos tapetes, exiba métricas dos tapetes de cada cliente e permita que os clientes abram casos de suporte em relação a seus tapetes. Também é interessante permitir que os possíveis clientes vejam informações sobre seus tapetes conectados para que possam comprá-los.
Uau! Parece muita coisa, não é?
Calma, não se esqueça dos painéis de negócios, dos programas de marketing, do suporte preditivo e de todos os sistemas back-end necessários para rastrear os tapetes, aceitar pedidos, rastrear os pedidos, entregá-los, etc.
No mundo da Salesforce Platform, você se concentra no código que causará maior impacto em seus clientes. Você cria seus sites de cliente, pontos de extremidade da API RESTful e pontos de ingestão de dados de alto volume como aplicativos personalizados na Heroku. Em seguida, você usa a Lightning Platform para criar sistemas back-end, ferramentas de atendimento ao cliente, business intelligence, fluxos de trabalho e jornadas de marketing. Com a Salesforce Platform, você pode ir da venda ao suporte e serviço de centenas de milhares, ou até milhões, de tapetes.
Resumo
Com a adição da Heroku, o mundo da Salesforce Platform tornou-se ainda maior, fornecendo uma plataforma para a criação de aplicativos personalizados que oferecem experiências únicas aos seus clientes. Parece muito bom para ser verdade ou é provável que se torne complicado demais? Siga-nos até a próxima unidade para ver as opções de implantação da Heroku.