Swarmlab docs

Application development in a distributed system

Development of Distributed Systems from Design to Application


You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

225 lines
4.1 KiB

= List!
image::ROOT:swarmlab.png[swarmlab,150,float=right]
== Why Docker
https://www.cloudbees.com/blog/why-dockero[Why Docker^]
== Intro docker
https://www.compose-spec.io/[docker-compose^]
https://github.com/veggiemonk/awesome-docker[github docker-compose^]
https://twitter.com/awesome_docker[github awesome docker]
=== Learn to build and deploy your distributed applications easily to the cloud with Docker
https://docker-curriculum.com/[HowTo]
== Next Step DockerSwarm
****
TIP: DockerSwarm
video::Tm0Q5zr3FL4[youtube, start=0]
****
https://www.simplilearn.com/tutorials/docker-tutorial/docker-swarm[docker-swarm tutorial^]
=== Getting started with swarm - official from docker
https://docs.docker.com/engine/swarm/swarm-tutorial/https://k21academy.com/docker-kubernetes/docker-swarm/[docker-swarm^]
=== Replicability, use the same files as when developing locally.
https://dockerswarm.rocks/[dockerswarm.rocks^]
=== Open Source Cloud Guide από την IBM
https://open-cloud-guide.dev/[open-cloud huide^]
=== Alternatives
https://www.nomadproject.io/[monad^]
https://dev.to/stevenmcgown/kubernetes-for-dummies-5hmh[kubernetes^]
=== Raft consensus in swarm mode
https://docs.docker.com/engine/swarm/raft/[raft^]
https://raft.github.io/[raft github^]
http://thesecretlivesofdata.com/raft/[raft demo^]
== Next Step Storage
****
TIP: Storage
video::W2Z7fbCLSTw[youtube, start=0]
****
=== Generic
https://docs.mongodb.com/manual/replication/[Mongo replica^]
https://docs.mongodb.com/manual/core/capped-collections/[mongo capped^]
=== On memory - Key-value
https://redis.io/topics/cluster-tutorial[Redis cluster^]
https://redis.io/[redis server^]
https://www.instaclustr.com/blog/redis-vs-memcached/[redis vs memcached^]
https://etcd.io/[etcd^]
****
TIP: etcd
video::OmphHSaO1sE[youtube, start=0]
****
****
TIP: redis
video::G1rOthIU-uo[youtube, start=0]
****
Like etcd, Redis is an open source tool, but their basic functionalities are different.
etcd vs. Redis
[cols="1,1"]
|===
|etcd|Redis
| Redis is an in-memory data store and can function as a database, cache, or message broker. Redis supports a wider variety of data types and structures than etcd and has much faster read/write performance.
| But etcd has superior fault tolerance, stronger failover and continuous data availability capabilities, and, most importantly, etcd persists all stored data to disk, essentially sacrificing speed for greater reliability and guaranteed consistency. For these reasons, Redis is better suited for serving as a distributed memory caching system than for storing and distributed system configuration information.
|===
=== Sharing
==== NFS
https://cloud.netapp.com/blog/azure-anf-blg-linux-nfs-server-how-to-set-up-server-and-client[NFS^]
https://www.gluster.org/[GlusterFS^]
== Deploy
https://www.compose-spec.io/[docker-compose^]
****
TIP: Deploy
video::zLltQxVb3NI[youtube, start=0]
****
https://12factor.net/[12factor^]
== Development - From Design to Application
=== programming language
==== nodeJS
****
TIP: NodeJS
video::ENrzD9HAZK4[youtube, start=0]
****
https://nodejs.org/en/[nodeJS^]
https://p5js.org/[p5js^]
https://threejs.org/[threejs^]
==== python
https://www.python.org/[python^]
=== Big data and Scientific analysis
https://numpy.org/[numpy^]
https://scipy.org/[scipy^]
https://jupyter.org/[jupyter^]
=== Rest API
****
TIP: Rest api
video::s7wmiS2mSXY[youtube, start=0]
****
=== Sockets
****
TIP: Sockets
video::ZBM28ZPlin8[youtube, start=0]
****
https://socket.io/[socket.io^]
== Auth
https://oauth.net/2/[auth2^]
https://oauth.net/code/nodejs/[Nodejs auth library^]
=== Auth server
https://www.keycloak.org/[auth2 server^]
== Security VPN etc
https://www.wireguard.com/[simply the best VPN out there^]
== POC
=== netflix
****
TIP: Netflix
video::CZ3wIuvmHeM[youtube, start=0]
****
6:50 monolithic
8:24 minroservices
19:00 microservice
see also 37:00
https://netflix.github.io/[netflix github^]
=== Robots and IoT
https://nodebots.io/[nodebot^]
http://johnny-five.io/[johny-five^]
https://ardupilot.org/[eduplot^]
https://github.com/ArduPilot/ardupilot[ardupilot^]