{"id":18494834,"url":"https://github.com/qaware/mesos-codefest","last_synced_at":"2025-04-08T22:31:40.533Z","repository":{"id":77410050,"uuid":"47337109","full_name":"qaware/mesos-codefest","owner":"qaware","description":"Codefest: DCOS with Mesos and Marathon","archived":false,"fork":false,"pushed_at":"2015-12-08T16:57:44.000Z","size":7729,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":68,"default_branch":"master","last_synced_at":"2025-03-23T19:11:10.156Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qaware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-03T14:26:09.000Z","updated_at":"2017-03-17T16:35:48.000Z","dependencies_parsed_at":"2023-03-25T12:18:39.244Z","dependency_job_id":null,"html_url":"https://github.com/qaware/mesos-codefest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fmesos-codefest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fmesos-codefest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fmesos-codefest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fmesos-codefest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qaware","download_url":"https://codeload.github.com/qaware/mesos-codefest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247940342,"owners_count":21021951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T13:22:22.806Z","updated_at":"2025-04-08T22:31:35.521Z","avatar_url":"https://github.com/qaware.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mesos Codefest\nFast alle modernen Softwaresysteme laufen auf einem Cluster. Wird das Cluster mit klassischen Mitteln betrieben, so sieht man immer wieder dieselben Probleme:\n* Zu hohe Betriebskosten, da die Server kaum ausgelastet sind. Mit der geringen Auslastung erkauft man sich Kapazitäten für Spitzenlasten und Isolation von einzelnen Anwendungsteilen – klassische Opportunitätskosten.\n* Zu hohe Betriebskosten durch den Overhead von Hardware-Virtualisierung.\n* Standard-Betriebsprozeduren wie Installationen, Rolling Updates, Canary Releases und Rollbacks sind aufwändig,\nfehleranfällig und nur schwer zu automatisieren.\n* Zentrale Betriebsfunktionen wie Monitoring, Failover, Absicherung oder Skalierung müssen pro\nAnwendung neu aufgesetzt und konfiguriert werden. Dies ist aufwändig und fehleranfällig.\n\nEin Cluster-Betriebssystem wie Apache Mesos / Mesosphere DCOS löst diese Probleme auf elegante Weise. Es überträgt das Prinzip eines klassischen Betriebssystems, das über einen einzigen Rechner herrscht, auf ein Rechen-Cluster aus vielen Rechnern. Es abstrahiert dabei viele Rechner zu einem großen Rechner. Damit werden Betriebsprozeduren so einfach wie auf nur einem Rechner. Die Betriebskosten sinken deutlich, da durch intelligentes Scheduling und durch den Einsatz von Betriebssystem-Virtualisierung die Auslastung deutlich steigt und der Overhead deutlich sinkt.\nCluster-Betriebssysteme werden bereits massiv im Sillicon Valley eingesetzt (z.B. bei Apple Siri, Twitter und Airbnb) aber auch bei eher klassischen IT-Nutzern wie CenturyLink, Verizon, Walmart und dem CERN. Es existiert eine Vielzahl an Erfahrungsberichten mit der neuartigen Betriebsumgebung, die i.W. von hohen Kosteneinsparungen und gesteigerter Flexibilität im Betrieb berichten.\nIm folgenden Tutorial wollen wir die folgenden Fragestellungen vertiefen:\n* Wie funktioniert ein Cluster-Betriebssystem am Beispiel Apache Mesos / Mesosphere DCOS?\n* Was ist der Nutzen eines Cluster-Betriebssystems?\n* Wie können Anwendungen so (um-)gebaut werden, dass sie auf einem Cluster-Betriebssystem\nlaufen?\n\nGrundvoraussetzung ist ein Rechner mit Vagrant (https://www.vagrantup.com), VirtualBox (https://www.virtualbox.org) und MinGW (http://www.mingw.org/). Vor dem Tutorial bitte bereits eine Ubuntu Box für Vagrant herunterladen mit dem Befehl `vagrant box add ubuntu/trusty64`.\n\n\n# Container Management mit Docker und Mesos/Marathon\n\n## Inhalte\n\nEine Vagrant-Umgebung initialisieren `vagrant init ubuntu/trusty64`, die Box starten `vagrant up` und per SSH in die Box verbinden `vagrant ssh`.\n\nZuerst die DCOS CLI installieren: https://docs.mesosphere.com/install/cli.\nAnschließend dieses Repo in den Ordner clonen, in dem die CLI installiert wurde. Zum Beispiel habe ich die CLI unter `~/dcos/` installiert, deshalb führe ich folgendes durch:\n\n```\n$ pwd\n/home/vagrant/dcos\n$ git clone https://github.com/qaware/mesos-codefest.git\nCloning into 'mesos-codefest'...\nremote: Counting objects: 10, done.\nremote: Compressing objects: 100% (10/10), done.\nremote: Total 10 (delta 3), reused 0 (delta 0), pack-reused 0\nUnpacking objects: 100% (10/10), done.\nChecking connectivity... done.\n$ ls -la\ntotal 32\ndrwxrwxr-x 6 vagrant vagrant 4096 Dec  6 19:06 .\ndrwxr-xr-x 6 vagrant vagrant 4096 Dec  6 19:01 ..\ndrwxrwxr-x 2 vagrant vagrant 4096 Dec  6 19:02 bin\n-rw-rw-r-- 1 vagrant vagrant 3654 Dec  6 19:02 install.sh\ndrwxrwxr-x 3 vagrant vagrant 4096 Dec  6 19:02 lib\ndrwxrwxr-x 2 vagrant vagrant 4096 Dec  6 19:02 local\ndrwxrwxr-x 3 vagrant vagrant 4096 Dec  6 19:06 mesos-codefest\n-rw-rw-r-- 1 vagrant vagrant   60 Dec  6 19:02 pip-selfcheck.json\n```\n\nIm weiteren Verlauf werden wir den Ordner, in dem wir die CLI installiert haben, einfach `$DCOS_CLI_HOME` nennen.\n\nJetzt noch das DCOS Cluster Dashboard im Browser öffnen und wir sind startbereit.\n\n![DCOS Dashboard](img/dcos-dashboard.png)\n\nDie Sessions sind:\n\n1. [Containers \u0026amp; Docker](./docker)\n1. [Mesos \u0026amp; Marathon](./mesos-marathon)\n\n## Weiterführende Informationen\n\n- [DCOS doc](https://docs.mesosphere.com)\n- [Docker doc](https://docs.docker.com/)\n- [Mesos doc](http://mesos.apache.org/documentation/latest/) | [Marathon doc](https://mesosphere.github.io/marathon/docs/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaware%2Fmesos-codefest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqaware%2Fmesos-codefest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaware%2Fmesos-codefest/lists"}