Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
do you know docker?
www.docker.com is like a tin can for cloud software. The convienience food of server software.
Like a packet manager you can type for example "docker install containername" equals to [nginx + mongoDB + elastic search + your app] .
I'm a Designer and i have no idea how to configure a webserver, but Docker enabels me to have a preconfigured production enviroment within minutes.
It can be learned in 1 hour at www.katacoda.com
Here a overview.
And here you can search for preconfigured containers.
Yeah, Docker is the way to go when it comes to building microservices, its what we are using, the best benefit of docker is that you can build multiple containers to host a software and then commit this configurations to git and your colleagues can instantly pull your entire setup without knowing anything about your system configuration, just a bunch of Dockerfile/docker-compose.yml files and bingo, nginx, phpfpm or nodejs and everything is working
And because you can build all of these servers and services using Docker containers, you can orchestrate multiple applications to all run together on a single machine without having to go through the pain of setting up multiple webservers etc, you can use nginx-proxy or haproxy as a reverse proxy to your docker containers and use skydock to manage all the DNS entries, so running an entire cloud of microservicea on a single machine, in exactly the same way that they would run on production, this is a key benefit of using docker, what you run locally, is 99.999% identical to what you run on production, gives you a lot of guarantees about what is running and how
Microservices are kind of hard though, cause you are supposed to split up your monolithic app into chunks which also means at the database level too, meaning you have to enforce foreign keys manually and you have to worry about race conditions and work on ways of querying data in sections and piecing it all together instead of one query and handling it all as one monolithic API call, it's really a brave new world and one that will take you some time to get used to and you will make mistakes and you will hate it, but it will teach you many new and wonderful things, try looking at this website, I found it very helpful: http://microservice.io