Kennenlernen von Heroku
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Erläutern, was Platform as a Service (PaaS) ist, und Nennen zweier Beispiele dazu
- Kennen des Unterschieds zwischen PaaS und anderen Services
- Beschreiben, was eine RESTful-API ist
- Nennen von vier Anwendungsfällen für Heroku
Einführung in Heroku
Viele Salesforce-Entwickler haben uns gefragt 'Was ist eigentlich diese Heroku-Plattform? Was können wir damit tun?' Das erklären wir Ihnen in diesem Modul. Außerdem stellen wir bestimmte Anwendungsfälle und Tools genauer vor. Los geht's!
Heroku in der Salesforce Platform
Die Heroku-Plattform ist Teil der Salesforce Platform, einer Multi-Cloud-Anwendungsplattform. Das ist eine recht hochtrabende Bezeichnung, die aber schlicht und einfach bedeutet, dass die Salesforce Platform viele Tools und Services in einer zusammenhängenden Plattform vereint, mit der Sie nützliche Anwendungen erstellen können. Heroku gehört zu diesem Toolset. Sie können damit benutzerspezifische Anwendungen erstellen, um herausragende Kundenerfahrungen zu unterstützen.
Sie wissen vielleicht bereits, dass Sie mithilfe der Lightning-Plattform mitarbeiterorientierte Anwendungen erstellen können, um Ihr Salesforce CRM anzupassen und zu erweitern. Mit Heroku können Sie sogar noch weiter gehen und in Open-Source-Sprachen wie Java, Ruby, Python, PHP, JavaScript und Go pixelperfekte Anwendungen für Ihre Kunden erstellen.
Sie können also weit über die Grenzen der Lightning-Plattform hinausgehen und trotzdem die Verbindung mit Ihren Daten innerhalb von Salesforce aufrechterhalten. So erhalten Sie im Prinzip das Beste aus beiden Welten! Viele Kunden nutzen Heroku für leistungsfähige Web- und mobile Anwendungen, die zu mehr Kundenbindung führen.
Anwendungen bestehen aus vielen Komponenten. Eine typische, moderne Anwendung besteht aus einem Back-End-Managementsystem mit einem Aufzeichnungssystem für wichtige Daten (wie die Lightning-Plattform-Schicht 'Data Model'), internen Tools für Nachverfolgung und Berichterstellung sowie einer öffentlichen Web- oder mobilen Oberfläche für die Kundeninteraktion. Heroku gibt Ihnen die Möglichkeit, Open-Source-Sprachen wie die oben erwähnten und Frameworks wie Express, Ruby on Rails, Django oder Spring einzusetzen, um diese öffentliche Oberfläche zu erstellen.
Heroku ist ein Platform as a Service-Angebot
Wir haben alle schon von Infrastructure as a Service (IaaS), wie etwa bei Amazon Web Services, und Software as a Service (SaaS), wie bei Salesforce, gehört. Heroku ist wie die Lightning-Plattform ein PaaS-Angebot, bietet als Express.js-Plattform jedoch ganz andere Möglichkeiten, wie etwa die Unterstützung vieler Programmiersprachen und die Möglichkeit, Ressourcen zu steuern und zu skalieren. Zu diesen bemerkenswerten Eigenschaften kommen wir später noch.
Beginnen wir zunächst am Anfang. Was ist PaaS? In welchem Bezug steht PaaS zu SaaS, Infrastructure as a Service (IaaS) oder dem Besitz eigener, lokaler Server? Wir betrachten die einzelnen Konzepte und vergleichen Sie am Beispiel eines Anzugs. Außerdem erfahren Sie, wie diese Konzepte aufeinander aufbauen.
Wir beginnen mit SaaS, das die meisten Teile der Anwendung für Sie verwaltet und daher am einfachsten genutzt werden kann. SaaS setzt häufig auf einem PaaS-Angebot auf, das wiederum auf wahrscheinlich auf einem IaaS-Angebot basiert, das auf lokaler Hardware aufbaut. Lokale Hardware erfordert den größten Arbeitsaufwand für Wartung und Nutzung, liefert jedoch das Fundament für all die anderen tollen Services.
Software as a Service
SaaS ist ein Konzept für die Bereitstellung von Software aus der Cloud, bei dem die Software nicht heruntergeladen und auf dem eigenen Computer installiert werden muss. Sie haben SaaS bereits genutzt, wenn Sie sich über das Internet bei Salesforce anmelden. Wir möchten Ihnen das Konzept am Beispiel der Anschaffung eines Anzugs erläutern. Wenn Sie SaaS nutzen, ist dies vergleichbar damit, dass Sie in ein Kaufhaus gehen und einen Anzug von der Stange kaufen. Sie finden bestimmt einen tollen, bereits fertig genähten Anzug, den Sie noch am gleichen Abend auf ein Fest anziehen können. Eventuell lassen Sie noch ein paar Änderungen von einem Änderungsschneider durchführen, um die Passform zu verbessern.
Wie bereits erwähnt, entspricht dieses Konzept dem beliebten Servicemodell von Salesforce, das wir alle kennen und schätzen. Hinter den Kulissen arbeiten die Salesforce-Spezialisten daran, die gesamte Software für Sie zu erstellen, zu pflegen und zu aktualisieren. Sie brauchen sich lediglich anzumelden und die Software zu nutzen. Ganz einfach.
Platform as a Service
PaaS bietet die Möglichkeit, Benutzern Hardware und Software-Tools als Service bereitzustellen. Sie können die Hardware und Tools für die Anwendungsentwicklung auch zusätzlich zur Plattform verwenden. Sie können also Ihre eigenes SaaS-Angebot auf Basis eines PaaS erstellen!
Bei PaaS sind natürlich weniger Funktionen vorkonfiguriert, Sie erhalten im Gegenzug jedoch mehr Flexibilität. Übertragen auf die Welt der Bekleidung entspricht dieser Ansatz folgenden Schritten: Sie gehen zu einem Herrenschneider, wählen Stoff, Knöpfe und Schnitt aus und beauftragen den Schneider, einen maßgeschneiderten Anzug für Sie herzustellen. Sie möchten einen gelb getupften dreiteiligen Anzug? Da brauchen Sie nicht zu warten, bis Armani realisiert, dass dies der neuste Schrei ist: Sie können sich Ihren Traumanzug maßanfertigen lassen! Sie können diesen Anzug natürlich nicht gleich auf dem Fest heute Abend tragen, können sich aber schon darauf freuen, dass der fertige Anzug wie angegossen passen wird. Und Sie können sicher sein, dass es diesen Anzug kein zweites Mal gibt.
An diesem Punkt kommt Heroku ins Spiel. Heroku übernimmt die schwierigen Teile des Betriebs der Komponenten, die einer Anwendung mit Internetmaßstab zugrunde liegen. So können Sie sich voll und ganz darauf konzentrieren, die richtige Anwendung und Umgebung für Ihre Kunden zu erstellen, wobei Sie die Open Source-Sprachen, -Frameworks und sonstige Tools verwenden, die Ihnen am besten geeignet erscheinen, ohne sich Gedanken über Patches am Betriebssystem machen zu müssen.
Infrastructure as a Service
IaaS ist ein Modell, das seinen Nutzern nur die Hardware oder virtualisierte, nackte Ressourcen zur Verfügung stellt, ohne die zusätzliche Schicht aus Tools, die es zu einer Plattform machen würde. Überträgt man das IaaS-Modell auf unser Beispiel mit dem Anzugkauf, stellt sich dies wie folgt dar: Sie müssten Stoff, Knöpfe und Faden selbst kaufen, sich den Schnitt für Ihren maßgeschneiderten Anzug ausdenken und bereits die notwendigen Teile zuschneiden. Anschließend müssten Sie sich beim Schneider vor Ort kostenpflichtig Nutzungszeit für eine Nähmaschine buchen und den Anzug damit selbst nähen. Das ist viel Arbeit, doch Sie könnten sicher sein, dass Sie genau die Nähmaschine bekommen, die die von Ihnen bevorzugten Stiche nähen kann.
Die Heroku-Plattform selbst basiert auf einer leistungsfähigen IaaS-Lösung namens Amazon Web Services (AWS). AWS bietet die Möglichkeit, virtuelle Maschinen, Load Balancer und andere Low-Level-Ressourcen zusammenzustellen, um große, komplexe Anwendungs-Cluster zu bilden. Für den Entwurf der Architektur sowie die Erstellung, die Überwachung, den Schutz und die Pflege dieser Systeme braucht man zwar hochqualifizierte Experten, doch die Systeme lassen sich besser anpassen als Plattformen.
Lokale Infrastruktur
Lokale Infrastruktur ist die Grundlage für alle anderen genannten Services. 'Lokal' bedeutet, dass Sie physische Server und andere Hardware besitzen und verwalten. AWS kann uns die IaaS-Nutzung anbieten, da dieser Anbieter Abertausende lokaler Server unterhält.
Wenn Sie Ihren Anzug auf Grundlage des lokalen Modells nähen wollten, müssten Sie alle dafür erforderlichen Bestandteile selbst erstellen und pflegen. Für den Wollstoff müssten Sie Schafe halten und scheren, die Wolle zu Stoff weben und diesen in der gewünschten Farbe färben. Dann müssten Sie eine Nähmaschine bauen, sich ein Schnittmuster ausdenken, die Teile zuschneiden und sie zusammennähen. Und ein paar Jahre später könnten Sie dann Ihren tollen neuen Anzug tragen.
Es ist ein Riesenaufwand, ein eigenes lokales Rechenzentrum aufzubauen und mit Servern zu bestücken, Sie haben allerdings die volle Kontrolle, wenn Sie alle Bestandteile selbst verwalten. Glücklicherweise ist es nicht nötig, dass Sie Ihre Infrastruktur bis hin zum Metall kontrollieren, um großartige Anwendungen zu erstellen!
Was spricht für Heroku?
Bei einem PaaS wird die Komplexität des Aufbaus und Betriebs einer Infrastruktur für Anwendungen wegabstrahiert. Mit einem PaaS können Sie ganz leicht Container-Sammlungen mit Lastenausgleich erstellen, die Ihre Software ausführen. Sie können sich diese Container wie Schiffscontainer vorstellen, die den gesamten Code und alle erforderlichen Ressourcen für die Ausführung Ihrer Anwendung enthalten.
Heroku ist ein voll verwalteter PaaS, das heißt, die gesamte zugrunde liegende Komplexität wird von dedizierten Teams bei Salesforce für Sie erledigt. Dazu gehören Dinge wie Reaktion auf Ausfälle, Monitoring und Schließen von Sicherheitslücken sowie Planung und konkrete Durchführung der PaaS-Skalierung. Wenn Sie Ihren eigenen PaaS ausführen wollten, bräuchten Sie ganze Mitarbeiterteams, die sich jahrein jahraus rund um die Uhr um alle diese Dinge kümmern würden.
Heroku erledigt all dies für Sie, sodass Sie sich ganz dem Erstellen benutzerspezifischer Anwendungen widmen können, die Ihre Kunden begeistern. Sie erhalten zudem die Flexibilität, verschiedene Sprachen einsetzen und Ihre Ressourcen nach Bedarf ganz leicht skalieren zu können.
Heroku klingt toll! Was kann ich damit tun?
Mit Heroku können Sie Anwendungen oder Systeme mithilfe einer Reihe von Open-Source-Sprachen wie Java, PHP, Python, Node, Go und Ruby erstellen. Die erstellbaren Systeme können Anforderungen über HTTP und HTTPS annehmen, Verbindungen zu Datenbanken herstellen, Add-On-Module von Drittanbietern nutzen sowie Hintergrundaufträge in Warteschlangen verwalten und ausführen.
Kurz gesagt: Sie können mit Heroku komplett neue, moderne Webanwendungen erstellen. Außerdem können Sie Daten in einer verwalteten Datenbank speichern und die Funktionalität durch Add-Ons von Drittanbietern aus dem Heroku Elements Marketplace erweitern. Und da Heroku Bestandteil der Salesforce Platform ist, haben alle Ihre Heroku-Anwendungen leicht Zugriff auf die Salesforce-Daten Ihres Unternehmens.
Erstellen von RESTful-APIs in Heroku
Dadurch, dass Heroku auf Webtechnologie basiert, können Sie Ihre Anwendungssuite problemlos erweitern, um Ihre mobile Strategie voranzutreiben. Moderne mobile Anwendungen werden von webbasierten RESTful-APIs gestützt, die mobilen Anwendungen Standardverfahren für das Absetzen von Anforderungen und Empfangen von Antworten aus Ihrer Webanwendung bieten. Ihre Web- und mobilen Anwendungen sind alle mit einem einzigen Back-End-Softwaresystem verbunden, das auf Heroku aufsetzt.
Da Heroku eine Plattform für benutzerspezifische, webbasierte Anwendungen ist, sind Ihnen bei der Entwicklung möglicher Anwendungen für diese Plattform keinerlei Grenzen gesetzt. Sie können Ihre nächste großartige, benutzerdefinierte Website mit Heroku erstellen. Möchten Sie Ihr Gerät zum Internet of Things hinzufügen? Heroku bietet die nötige Unterstützung. Was ist mit Finanztechnologie? Sogar die Finanzdienstleistungen der Zukunft können mit Heroku gesteuert werden.
Zu gut, um wahr zu sein? Sehen wir uns einige spezifische Anwendungsfälle und die Entwicklung der zugehörigen Anwendungen näher an.
Anwendungsfall: Kundenkontakt-Website
Ihr Unternehmen ist einzigartig und dies gilt auch für die Möglichkeiten, in denen Sie mit Ihren Kunden in Kontakt treten können. Selbst wenn mit Vorlagen erstellte nullachtfünfzehn Websites durch Branding an die Unternehmens-Website angepasst werden, bieten sie nicht das direkte, auf alle Kanäle ausgelegt, fesselnde Kundenkontakterlebnis, das Internetkunden heute von Topmarken erwarten. Mit Heroku können Sie benutzerdefinierte Anwendungen erstellen und dabei die neuesten Entwicklungen im Bereich der Open-Source-Technologie nutzen.
Und da sich Ihre Kundendaten und Back-End-Systeme in Salesforce befinden, können in Heroku erstellte Anwendungen eng integriert werden. Sie können eine maßgeschneiderte Anwendung erstellen, die Ihren Kunden ein total individuelles Erlebnis beschert, ohne die Effizienz einzubüßen, die sich aus der zentralen Verwaltung von Daten an einem Ort ergibt.
Anwendungsfall: Unterstützung von mobilen Anwendungen und IoT-Geräten über API-Services
Da RESTful-API-Services webbasiert sind, können Sie die API Ihres Unternehmens ganz einfach auf der Heroku-Plattform entwickeln. Hinter allen tollen, mobilen Anwendungen und IoT-Geräten (Internet of Things) steht heute eine wiederverwendbare, erweiterbare API.
Wenn Sie Ihren API-Service erstellt haben, können Sie auf dieser Grundlage eine beliebige Anzahl mobiler Clients erstellen, egal, ob in einer nativen Sprache, in Hybridform oder in HTML5. Sie können sogar neue Webanwendungen oder physische Geräte erstellen, die mit dieser API interagieren, um Ihren Kunden neue, einzigartige Erfahrungen zu bieten. Mit einer in Heroku entwickelten API eröffnen Sie sich unzählige mobile Möglichkeiten.
Anwendungsfall: Datenbearbeitung
In Salesforce gibt es viele tolle Tools zum Verwalten, Bearbeiten und Untersuchen von Daten. Mithilfe der Lightning-Plattform können Sie ohne Programmieren Anwendungen, Workflows und Automatisierungen erstellen, während Sie mit Einstein Analytics große, von Ihren Kunden erfasste Datenmengen analysieren können. Die Lightning-Plattform ist zwar extrem leistungsfähig, jedoch für manche Anwendungsfälle nicht gerade ideal. Heroku bietet ergänzende Tools, die die Fähigkeiten der Salesforce Platform abrunden.
Mit Heroku profitieren Sie sowohl von der engen Salesforce-Datenintegration als auch von der Möglichkeit, Open-Source-Sprachen und -Tools für die Erstellung eigener Anwendungen für Datenverarbeitung, -Warehousing oder -archivierung zu verwenden. Sie können sogar Ihre Business Intelligence-Tools direkt mit Ihren Heroku-Datenanwendungen verbinden, um durch die Nutzung Ihrer umgewandelten Datensets aussagekräftigere, spezifische Erkenntnisse zu erhalten. Kurz gesagt erweitert Heroku Ihre Möglichkeiten, Open-Source-, Drittanbieter- und benutzerspezifische Analysen zu verknüpfen, sodass Sie auch die anspruchsvollsten datenorientierten Anwendungsfälle unterstützen können.
Anwendungsfall: Konzeptstudien
Mit am Tollsten an Heroku ist die Tatsache, dass die Plattform elastisch ist. Es dauert ein bisschen, bis Sie eine neue Anwendungsumgebung erstellt haben und für die Codeausführung bereit sind. Wenn Sie Ihre neue Idee ausprobiert haben, können Sie die Anwendung löschen und sich anderen Dingen zuwenden. Viele Kunden nutzen Heroku zum Ausprobieren neuer Ideen für Anwendungen oder die Bereitstellung wertvoller, benutzerspezifischer Tools.
Und was ist, wenn Ihre Konzeptstudie, also die Anwendung, die Sie eigentlich nur so am Rande zum Ausprobieren neuer Möglichkeiten erstellt haben, plötzlich Formen annimmt und Sie sie sofort an ein breiteres Publikum verteilen müssen? Mit Heroku brauchen Sie sich hier überhaupt keine Gedanken zu machen. Es ist ein Kinderspiel, die Ressourcen hinter Ihrer Anwendung von kleinem auf riesigen Maßstab zu skalieren, um realen Datenverkehr zu stemmen. Sie müssen nicht mehr wochenlang planen, die Infrastruktur schaffen und diese Anwendungen dann in die Produktionsumgebung verlagern. Heroku eignet sich ebenso gut für Konzeptstudien wie für die Bereitstellung einer kompletten Benutzererfahrung.
Ein hypothetisch wahres Beispiel
Nehmen wir einmal an, Sie haben eine Spitzenidee, wie Sie den Markt für vernetzte Fußmatten revolutionieren können. Sie brauchen eine Anwendung, die Datenpunkte aus den Fußmatten aufnimmt, Metriken aus der Fußmatte jedes Kunden anzeigt und Kunden ermöglicht, Kundensupportvorgänge zu ihren Fußmatten anzulegen. Außerdem möchten Sie potenziellen Kunden die Möglichkeit geben, Informationen über Ihre vernetzten Fußmatten anzuzeigen und diese zu bestellen.
Puh! Klingt nach Arbeit, oder?
Und, Stopp: Wir dürfen nicht die geschäftlichen Dashboards, Marketingprogramme, Prognosen und all die Back-End-Systeme vergessen, die Sie brauchen, um die Fußmatten nachzuverfolgen, Aufträge anzunehmen und nachzuverfolgen, Bestellungen zuzustellen und, und, und ...
In der Welt der Salesforce Platform konzentrieren Sie sich auf den Code, der die größte Auswirkung auf Ihre Kunden hat. Sie erstellen Ihre Kunden-Websites, RESTFul API-Endpunkte und high-volume Aufnahmepunkte für große Datenvolumen als benutzerdefinierte Anwendungen in Heroku. Dann verwenden Sie die Lightning-Plattform, um die Back-End-Systeme, Kundenservice-Tools, Business Intelligence, Workflows und Marketing-Journeys zu entwickeln. Mit der Salesforce Platform gehen Sie nahtlos vom Verkauf zum Support und Service Hunderttausender oder gar Millionen von Fußmatten über.
Zusammenfassung
Dank Heroku wird die Welt der Salesforce Platform noch größer und bietet eine Plattform für die Erstellung benutzerdefinierter Anwendungen, sodass Ihre Kunden eine einzigartige Kundenerfahrung erleben. Sie glauben jetzt vielleicht, dass das wahrscheinlich alles höchst kompliziert ist. Folgen Sie uns zur nächsten Lektion, um die Bereitstellungsoptionen für Heroku kennenzulernen.