User Tools

Site Tools


sig:sysadmin:projects:project18

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sig:sysadmin:projects:project18 [2016/05/18 14:30]
walter
sig:sysadmin:projects:project18 [2021/05/02 21:36]
Line 1: Line 1:
-====== Containerized Deployments and Applications (Cluster Project)====== 
-====== Project Member(s) ====== 
  
-  *  
- 
-====== Purpose ====== 
- 
-Provide an easy (enough) to use platform for __application developers__ and __data scientists__ to deploy applications (Node.js/​Python/​Ruby) or "Big Data" (MapReduce/​Spark/​Flint) jobs without having to set anything up locally. 
- 
-Use cases: 
- 
-ACM member A creates a Node.js App that needs MongoDB. If ACM member A's app becomes a hit on campus, A needs to scale the database, load balancing, etc to accommodate the new traffic. 
- 
-ACM member B takes a Machine Learning class and decides they will use Apache Spark for analysis. B realizes that one standalone container for testing Spark is not powerful enough for the job and wishes to deploy a set of standalone containers (as in, YARN or Mesos on top of CoreOS/​Docker) to tackle their job. 
- 
-====== Resources====== 
- 
-[[https://​www.docker.com/​]] 
- 
-[[https://​coreos.com/​]] 
- 
-[[https://​wiki.archlinux.org/​index.php/​systemd]] 
- 
-[[http://​deis.io/​overview/​]] 
- 
-[[https://​github.com/​CenturyLinkLabs/​fig2coreos]] 
- 
-[[https://​github.com/​rancherio/​rancher]] 
- 
-[[https://​github.com/​rancherio/​cattle]] 
- 
-[[https://​github.com/​progrium/​dokku]] 
- 
-[[https://​github.com/​dokku-alt/​dokku-alt]] 
- 
-[[http://​mesosphere.com/​]] 
- 
-[[http://​mesosphere.github.io/​marathon/​]] 
- 
-[[https://​tsuru.io/​]] 
- 
-[[https://​github.com/​jwilder/​docker-gen]] 
- 
-====== Progress ====== 
- 
-We have chosen Docker as the method of containment for such applications and CoreOS as a means of holding and scaling these containers. Typically, a user would write a systemd unit file that would typically download a docker container, name the container, and deploy it across the cluster, lettings CoreOS balance the load. While this granularity is fine for a select few, it will be too much work for someone that wants to quickly deploy their application. 
- 
-===== Orchestration/​Deployment tools for CoreOS + Docker ===== 
- 
-**Deis** 
- 
-Deis appears to be the easiest way for an **single** application to be deployed. Deis only focuses on the application container and **not** on the database container (something about [[http://​12factor.net/​| the 12 factor app]]). Deis appears to have the most support out of all of the products looked at. This product would be great for a simple application developer but would fail for our fellow data scientists. With this solution, we might need to make use of CoreOS'​s [[https://​github.com/​coreos/​flannel | Flannel]]. ​ 
- 
-**Fig2CoreOS** 
- 
-Fig2CoreOS produces the exact end result of the project in that it allows a highly customize-able,​ highly-scale-able,​ and isolated deployment of an application. However, this still doesn'​t solve the ease of use for a non-sysadmin to deploy an application. I think fig is intuitive enough, but I am not sure about support from the outside world not. 
- 
-**Rancher** 
- 
-Rancher uses Github as an ACL but we can "​simply"​ change the underlying technology to point to a (our) Gitlab server. This tool is really neat because it allows a //group// of people to modify a set of containers. This seems like a promising tool for monitoring and quick modification of containers, and interaction with the REST API would provide an easy way for scripts to manually scale applications. This seems like a solid fit for application with minimal one-time configurations and not so helpful for elastic services. 
- 
-**Shipyard** 
- 
-This product uses certs and publicly facing docker daemons which sounds pretty dangerous (check out docker'​s documentation for that one). The product doesn'​t really look all that different than Rancher and has a bit more logic (like RethinkDB over etcd). 
- 
- 
-===== Orchestration/​Deployment tools for Mesos + Docker ===== 
- 
-**Mesosphere** 
- 
-For running Docker containers on Mesos. 
- 
-**Marathon** 
- 
-This might be a suitable solution for the data scientist... 
- 
- 
-===== Easy deployment tools for Docker ===== 
- 
-**Dokku OR Dokku-alt** 
- 
-This will give up a Heroku like deployment for a simple application. Dokku-alt will give us the ease of deployment of MariaDB, PostgreSQL, MongoDB or Redis databases. However, the lack of a multi-tenant nature of Dokku is the problem that Deis solves. See ([[http://​serverfault.com/​questions/​640038/​scaling-out-dokku-infrastructure | this SO question]]) 
- 
-**Tsuru** 
- 
-Open Source PaaS solution. Might not have so much support later on but integrates Heroku buildpacks (like Dokku, etc) so ease of use for developers. ​ 
- 
- 
-===== Multi-Tenant ===== 
- 
-[[http://​techs.enovance.com/​7104/​multi-tenant-docker-with-openstack-heat | OpenStack w/ Heat]] 
sig/sysadmin/projects/project18.txt ยท Last modified: 2021/05/02 21:36 (external edit)