Skip to content

Instantly share code, notes, and snippets.

@youngbrioche
youngbrioche / deploy.sh
Last active August 29, 2015 14:26 — forked from gre/deploy.sh
Super-small scripts for easy PlayFramework deployment
#!/bin/bash
REMOTE=play@SERVER_IP
REMOTE_APP=/home/play/PROJECT_NAME/
sbt stage || exit 1;
rsync -va target/ $REMOTE:$REMOTE_APP/target;
ssh $REMOTE "cd $REMOTE_APP; ./stop.sh";
ssh $REMOTE "cd $REMOTE_APP; ./start.sh";
AllCops:
# Include gemspec and Rakefile
Include:
- '**/*.gemspec'
- '**/Rakefile'
- '**/Gemfile'
Exclude:
- 'vendor/**/*'
# By default, the rails cops are not run. Override in project or home
# directory .rubocop.yml files, or by giving the -R/--rails option.

Ich war im Vorfeld sehr gespannt auf den Talk von Simon Willnauer zum Thema „Elasticsearch“. Der Vortragende gehört zum Team des Open-Source-basierten, verteilten Suchservers und hat schon vorher als Lucene-Committer viel Erfahrung im Bereich Volltextsuche gesammelt. Da ich Elasticsearch gerade für ein Projekt evaluiere, hoffte ich aus dem Vortrag vor allem eine bessere Vorstellung über die grundlegenden Konzepte dieses Produktes mitnehmen zu können.

Grundlage seines Vortrages „With a hammer in your hand... Elasticsearch“ war - gemäß dem Motto „No slides - no bullshit“ — ein Shellscript. Dieses enthielt primär Curl-Aufrufe, da die Kommunikation mit dem Elasticsearch-Cluster über REST-konforme HTTP-Schnittstellen stattfindet. Wer sich einen detaillierteren Eindruck verschaffen möchte, findet das Skript hier: https://github.com/s1monw/hammertime/blob/master/hammer_it.sh.

Um die grundlegenden Funktionen von Elasticsearch zu demonstrieren, streamte er in Echtzeit Tweets aus dem globalen Twitterstream nach Elast

Da wir uns bei der innoQ regelmäßig nicht nur in Projekten sondern auch auf Konferenzen und im Rahmen von Artikeln intensiv mit den Möglichkeiten zum Aufbrechen von Monolithen auseinandersetzen war der Talk Microservices - adaptive architectures and organisations von James Lewis eine willkommene Gelegenheit Einblicke in die Erfahrungen anderer zu dem Thema zu erhalten.

Ein anschauliches Beispiel für die Gefahren von Monolithen lieferte James u.a. mit einer war story von einer Fluggesellschaft, die im Anschluss an den Ausbruch des Vulkans Eyjafjallajökull keinerlei Flugstart

Phil Calçado lernte ich bereits vor einiger Zeit auf einem Event in Berlin kennen und hatte daher hohe Erwartungen an seinen Vortrag APIs: The Problems with Eating your Own Dog food. Ich sollte nicht enttäuscht werden. Nachdem die Frage: "Was ist Soundcloud?" und die damit verbundenen Anforderungen an Performanz geklärt waren, wurde dargestellt wie sich die Soundcloud Architektur über die Zeit entwickelt hat.

Während dieser Evolution wurde zeitweise das Rendern der Webseite auf den Browser verlagert, was zu ungefähr 159 API-Anfragen pro Seitenanfrage führte. Nicht nur dem Publikum machte diese Zahl Angst sondern auch der Soundcloud Crew, jedoch war man zuversichtlich dass durch zusätzliche Server diese Last zu schaffen sei. Schnell lernte man, dass nach dem Zusammenbruch des HAProxy weitere Komponenten (memcached/Rails/MySQL) der Masse an Anfragen nicht gewachsen waren.

#!/usr/bin/env ruby
def output_config
puts <<-END
graph_category App
graph_title passenger status
graph_vlabel count
sessions.label sessions
max.label max processes