Cloud Computing: Amazon & Co

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Cloud Computing: Amazon & Co

    Thema gesplittet von jax09 - das Resume
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Hätte ja sein können :)

    Ich arbeite momentan mit den Amazon Service´s und muss sagen, dass ich mehr als begeistert bin, was dort angeboten wird.
    Das einzige was mir fehlt sind devolpment Instanzen.
    Also ein Server mit beschränkten Zugriffen zu einem günstigen Preis, so dass man alles auslagern kann, da die kleinste Instanz immernoch bei einem 24/7 betrieb ca. 60€/Monat kostet (ohne Traffic und Storage)

    Weisst du, ob das von anderen angeboten wird?
  • Weisst du, ob das von anderen angeboten wird?

    naja, da fehlt wohl nur Amazon :(
    Die Google App Engine ist bis zu einem Kontingent x kostenlos. Aber hier laufen natürlich nur Python und Java - nicht zu vergleichen mit Amazon.

    Bei force.com gibts aber die Developer Edition:
    * 20.0 MB of Data Storage
    * 20.0 MB of File Storage ( attachments)
    * 5000 api requests per 24 hours


    Ich arbeite aber auch gerade mit Amazon S3 + CloudFront. Ich vermute von Tarzan brauch ich dir nichts zu erzählen? Das Toolkit bringt alles mit was das Handling mit Amazon über PHP5 vereinfacht.
    Mich wundert es, das darauf basierend noch keiner ein Frontend erstellt hat.
  • Schade, aber vielleicht wird so ein Angebot ja nachgeschoben.

    Ne, von Tarzan habe ich noch nichts gehört.

    Ich hatte erst mit der Firefox Extension gearbeitet
    developer.amazonwebservices.co…entry.jspa?externalID=609

    bin dann aber auf die Management Konsole umgesteigen, die ja alles mitbringt
    console.aws.amazon.com/

    und mit dem 1.8er Release des Zend Frameworks (momentan noch in der Beta)
    gibts dann auch den EC2 und S3 Support
    framework.zend.com/manual/de/zend.service.amazon.ec2.html
    framework.zend.com/manual/de/zend.service.amazon.s3.html

    Von Tarzan hab ich noch nichts gehört, aber bringt dann auf den ersten Blick die selben Funktionalitäten.
    Außer den Cache ... wobei es dafür Zend_Cache gibt :)

    Ich hab noch nicht so viel probiert, da es leider an dem Dev. Angebot hapert und beim terminieren der Maschine wieder alles verloren geht, oder gibt es eine Art Standby Modus?
  • vince schrieb:

    Ich hab noch nicht so viel probiert, da es leider an dem Dev. Angebot hapert und beim terminieren der Maschine wieder alles verloren geht, oder gibt es eine Art Standby Modus?


    Naja, du kannst "Amazon Elastic Block Store" als Blockdevice einbinden und darauf alles relevante laufen lassen.
    S3 kannst du auch nutzen. Aber gibt es dazu ein Automatismus? Man müsste beim herunterfahren einfach ein neues Image schreiben.
    Ich habe mich bisher noch wenig mit EC2 beschäftigt, wir benutzen in der Firma vorerst nur das Content Delivery Network.
  • d0nut schrieb:

    Man müsste beim herunterfahren einfach ein neues Image schreiben.


    Das isses :thumbup:

    Hier stehts beschrieben:
    tomshardware.com/de/Server-Ama…estberichte-240280-5.html

    Und der Befehl:

    Quellcode

    1. ec2-bundle-vol -d /mnt -k /mnt/pk-<ID>.pem -c /mnt/cert-<ID>.pem -u <Account Number> -r i386 -p server1


    Dann kann man entweder das ganze immer starten wenn es benötigt wird oder nen Cronjob schreiben, dass die Instanz mit der Ami gestartet werden soll.
    Dafür hat man denn ja die ZF oder Tarzan libary.

    Dann könnte man morgens um 8uhr die Instanz starten und um 19uhr terminieren.
    Wenn man das auf 5 Tage die Woche rechnet mit Kosten von 0,11$/hour, dann zahlt man durchschnittlich im Monat 24,2$ was circa 18,60€ entspricht.

    Das wäre ein guter Preis, wenn man bedenkt, dass ein Homeserver mehr Stromkosten verursacht als 19€/Monat.

    Nachteil ist, dass man z.B kein Dev. Forum betreiben kann, aber für Trac+Svn wäre das perfekt.

    Man könnte auch ein simples Backend schreiben, wo man die Instanz manuell startet und die Stunden angibt, wie lange man arbeiten möchte. So, dass nach circa 3 Stunden, das System automatisch terminiert wird, weil dann eh Mittagspase ist.
    Wobei man dafür wieder einen Server braucht :D :thumbdown:
    Aber da kann man ja auch einen billigen 2€ Server für nehmen, wo man ggf. dann auch das Dev. Forum betreiben könnte.
  • Die Elastic Cloud ist vor allen Dingen genial wenn man spontan auf Besucheranstürme reagieren muss.
    Man stelle sich vor man bekommt einen Zeitungsartikel, hat plötzlich das 100 fache an Besuchern. Die Besucher nehmen ab dem Tag wieder kontinuierlich ab und nach einer Woche ist wieder alles beim alten.
    Vorausgesetzt die Anwendung kann sauber skalieren, bucht man sich für die eine Woche ein paar Rechner hinzu und gut ist. Beobachtet man die Auslastung kann man Tag für Tag eine Maschine abbestellen.
    Keine monatlichen Kosten, keine Mindestvertragslaufzeit.

    Parallelisierbare Prozesse sind toll.. Beispiel Nutch Suchmaschine auf Hadoop:
    Wenn ich 100h zum crawlen brauche. Warum sollte ich mir nicht einfach 100 Maschinen für eine Stunde holen?
    Amazon bietet ja inzwischen eigene MapReduce Cluster an.
    Da Hadoop als SinglePoint of Failure gebaut ist eine interessante Überlegung.

    Naja... genug geträumt :D
  • Ich muss sagen, dass ich vom MapReduce vorher nie was gehört hatte.

    Wikipedia war dabei jetzt auch nicht grad eine Hilfe.
    de.wikipedia.org/wiki/MapReduce
    (Bis auf dieses geniale Schaubild :D )


    Dafür aber das gute Einführungsvideo von Amazon
    s3.amazonaws.com/awsVideos/Ama…azonElasticMapReduce.html

    Worauf ich dann auch auf den Client für CloudFront gestoßen bin, den ich vorher immer verzweifelt gesucht hatte.
    addons.mozilla.org/en-US/firefox/addon/3247

    Naja... genug geträumt :D

    Das kenn ich irgendwoher :rolleyes:


    Bei der SimpleDB bin ich irgendwie noch skeptisch.
    Gibt es dafür ein Backend um das zu verwalten?
  • vince schrieb:


    Bei der SimpleDB bin ich irgendwie noch skeptisch.
    Gibt es dafür ein Backend um das zu verwalten?

    Ich bin auch noch jungfräulich in dem Gebiet. Aber nach einer Datenbanken die automatisch skaliert suche ich gerade... weißt du schon ob man von weltweit verbinden kann, oder nur von Amazon Maschinen? (wie bei cloudfront)

    Da es sich bei meinem Beispiel nicht unbedingt um persistente Daten handelt werde ich vermutlich auf memcached gehen. Problem ist nur: Was ist wenn der Speicher nicht ausreicht?
    Beliebig Maschinen hinzu- und wegnehmen kann man leider nicht.
  • d0nut schrieb:

    vince schrieb:


    Bei der SimpleDB bin ich irgendwie noch skeptisch.
    Gibt es dafür ein Backend um das zu verwalten?

    Ich bin auch noch jungfräulich in dem Gebiet. Aber nach einer Datenbanken die automatisch skaliert suche ich gerade... weißt du schon ob man von weltweit verbinden kann, oder nur von Amazon Maschinen? (wie bei cloudfront)

    Da es sich bei meinem Beispiel nicht unbedingt um persistente Daten handelt werde ich vermutlich auf memcached gehen. Problem ist nur: Was ist wenn der Speicher nicht ausreicht?
    Beliebig Maschinen hinzu- und wegnehmen kann man leider nicht.


    Das einzige was ich gefunden habe, ist das SDB Tool für den Firefox.
    Es scheint mir so, als wäre es keine richtige Datenbank wie man sie kennt.

    Man hat "items", "Attribut Namen" und "Attribut Values". Wobei 1 Item X Attributzeilen aufnehmen kann, aber jeder Attributname Unique ist und man keine Typen eingeben kann (also Int, Strg, Object ... etc.)
    Also wirklich sehr simpel.

    Du könntest dir SQS angucken. Dort wird eine "Nachricht" bis zu 8kb 4 Tage lang gepspeichert. Das könnte man als Cache "missbrauchen", aber ich denke nicht, dass es schneller als nen Memcache sein wird, aber dafür skalierbarer.
    Hab ich aber selber noch nicht ausprobiert. Auch hier habe ich keine Backend zum "schnellen testen" gefunden, leider.

    weißt du schon ob man von weltweit verbinden kann, oder nur von Amazon Maschinen?

    ich habe nirgendwo eine Domain, o.ä bei dem SDB Tool wie bei der CloudFront gefunden.
    Ich wüsste auch nicht, wie ich mich mit einer EC2 Instanz verbinden sollte. localhost ? welcher treiber ?


    Achja, wenn man mehrere Instanzen startet, laufen die dann in einem Cluster oder werden die wie ein Raid0 zusammengeschaltet so, dass man mehr Hauptspeicher zur Verfügung hat?


    //edit:
    Ich hab es gefunden. Man kann von überall darauf zugreifen mit dem AWS Keys
    Gibt es die libary nicht auch bei Tarzan?
    s3.amazonaws.com/awscode/amazo…p5/library/doc/index.html
    developer.amazonwebservices.co…ntry.jspa?externalID=1135
  • Ich habe es jetzt ein bischen weiter getestet und versucht mehrer Instanzen des gleichen Typs zu starten, was generell kein Problem war und ist.
    Aber wenn ich 2 Instanzen launche, dann werden diese beiden Instanzen unabhängig gestartet und ich kann den EBS Container auch nur in eine Instanz mounten sowie die ElasticIP.

    Weiss jemand, ob die Möglichkeit besteht das ganze zu clustern oder Koppeln so, dass die Last automatisch auf die Instanzen verteilt wird!?
  • bekommst du den Newsletter?
    Gibt neue Sachen (18. Mai) in der Richtung.

    Auto Scaling
    Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you're using scales up seamlessly during demand spikes to maintain performance, and scales down automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees.

    Elastic Load Balancing
    Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic. Elastic Load Balancing detects unhealthy instances within a pool and automatically reroutes traffic to healthy instances until the unhealthy instances have been restored. Customers can enable Elastic Load Balancing within a single Availability Zone or across multiple zones for even more consistent application performance.