Gibt es etwas, das ich auf meinen EC2-Instanzen installieren kann, um AWS Heroku-ähnlich zu machen?
zum Beispiel:
- heroku create app
- git push
Aber für AWS.
Gibt es etwas, das ich auf meinen EC2-Instanzen installieren kann, um AWS Heroku-ähnlich zu machen?
zum Beispiel:
Aber für AWS.
Nun gibt es! Es heißt AWS Elastic Beanstalk (Stand März 2013 noch in der Beta-Phase)
Nach der Ersteinrichtung sollten weitere Bereitstellungen so einfach sein wie git aws.push
EDIT: Nur eine schöne und umfassende Übersicht über Bereitstellungsmöglichkeiten bei AWS, von Werner Vogels (AWS CTO):
Es gibt einige Themen, die ich ansprechen muss, bevor ich Ihre Frage gründlich beantworten kann; also bitte haben Sie etwas Geduld.
In Bezug auf Ihre beiden Beispiele verwendet Heroku eine Reihe verschiedener Technologien, um das Maß an Einfachheit zu erreichen, das es als Service-Plattform bietet. Eine dieser Technologien ist Herokus proprietäres Toolbelt, das eine Reihe von Befehlszeilentools bietet, die es Entwicklern ermöglichen, mit ihren Anwendungen zu interagieren, sowie mit vielen der von Heroku bereitgestellten Tools, wie z.B. den Terminalzugriff für verschiedene Sprachen. Das Toolbelt selbst basiert auf zwei weiteren Technologien: Ruby und Git, die beim Installieren bereits enthalten sind.
Wenn Sie also eine Heroku-App erstellen, erstellen Sie effektiv ein Git-Repository auf dem Standard-Celedon-Cedar-Laufzeitstapel; dieses Repository wird dann als Remote-Repository hinzugefügt. Dies ermöglicht es Ihnen, sofort git push heroku master
auszuführen. Hinter den Kulissen passiert jedoch noch viel mehr: Wenn Sie pushen, werden Ihre Commits von einem Git pre-receive Hook abgefangen, der Ihre App durch einen Slug-Compiler ausführt und für die Verteilung über den Dyno-Manifold vorverpackt; doch, ich schweife ab. Für weitere Informationen zu fortgeschritteneren Themen besuchen Sie: https://devcenter.heroku.com/. Hier gibt es eine Fülle von Informationen zum Lesen.
Lassen Sie mich nun den Cedar-Stack erklären, da dies hauptsächlich ist, worum es bei Ihrer Frage geht. Der Celedon-Cedar ist einer von vielen; allerdings ist dies derzeit der Standard (aus vielen Gründen). Dieser polyglotte Laufzeitstapel bietet derzeit sechs Web-Sprachen (zum Zeitpunkt des Schreibens) und läuft auf Ubuntu (11.04 stabil, glaube ich). All diese Technologien arbeiten auf der AWS EC2-Computing-Umgebung.
Um Ihre Frage endlich zu beantworten: Sie müssen ein geeignetes Betriebssystem wie zum Beispiel Ubuntu installieren; eine Reihe von Sprachen wie zum Beispiel Ruby, Python, Node.js, usw.; Git (für die Bereitstellung) und der Rest liegt bei Ihnen.
Wenn Sie eine feste Anzahl von Instanzen haben, macht es mehr Sinn, anstelle von Elastic Beanstalk Bereitstellung benutzerdefiniertes Git-Deployment zu verwenden, wie im Artikel beschrieben: http://www.jeffhoefs.com/2012/09/setup-git-deploy-for-aws-ec2-ubuntu-instance/.
Die Hauptidee besteht darin, ein GIT-Repository auf der EC2-Instanz einzurichten. Wenn Sie etwas bereitstellen möchten, pushen Sie einfach Ihre Änderungen zum Remote-Repository, das auf der EC2-Instanz installiert ist.
Ich denke, dieser Ansatz hat folgende Vorteile im Vergleich zu Elastic Beanstalk:
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.