I
I
idin2019-05-30 16:33:53
System administration
idin, 2019-05-30 16:33:53

How can I build the architecture of my mini service?

Friends have a question. I have a web project written in php. It is written by less than 50% but 5 people use it more or less.

And I have an idea how to automate the deployment of these sites for my users. In fact, these are portals-shops ( in the future with some software on go ), but they are sensitive to the needs.

I roughly estimate that there are 100 people to start with. And there, how it will turn out ( I don’t think that it will suddenly start to grow quickly) ))

And it would be interesting for me to make people come to my admin panel, poke there and, if they’re lucky, the whole thing will unfold automatically via api. In general, rank by rank, they were given a link, everyone is happy, please use it.
I, as expected, got into Google, read articles and now porridge in my head)).

That is, the goals are:

  • I need this whole thing to be able to deploy on any servers connected to the common system via api.
  • The ability to use servers of different hostings, but this is more of my Wishlist and not necessary.
  • I would like to somehow control the traffic so that there is not a very large load there (otherwise I figured that if one dude starts pouring traffic, then the others may have a stake. But maybe I don’t understand something and this is not necessary).
  • View statistics of visits so that you can watch beautiful graphs there.
  • I would like it to be possible to automatically connect domains to these web applications (well, for example, the guys bought a domain in reg ru and connected it to the site without any problems according to the instructions).
  • I would like to make a backup of files and databases.
  • I would like to update and manage these web applications.
  • I would like to expand without problems.
  • I would like to be able to quickly migrate the software if one server goes down.


Why didn’t I choose a regular hosting with API, because I didn’t find it like that, secondly, it turns out to be too expensive ( although many problems would disappear ). Plus, some web applications will be stillborn from the very beginning and it is unlikely that you need to take a separate hosting for them.

And in general, the problem is that I'm more of a programmer, and usually I don't mess around with servers, and I rummage through them mediocrely. And there is no money for a system administrator. ( such a shitty startup )

I think it should work through docker ( I shove go software and a site with php into the container ), ansible and docker-swarm. It seems to fit the task.
But I don’t understand how to do it correctly ( I don’t know some server things yet ). And I'm not sure if that's the right idea.

For I use docker only for local development, when I need to pull up individual programs. Usually I have enough venva. Yes, and I don’t have a lot of experience as well as knowledge in this matter ((

I once rolled out my software with Ansible into a hundred wheelbarrows, but the software was about automation rather than a full-fledged program.

I just learned about docker swarm today)).

In short: how do I build the architecture of my mini service? For I do not know how to do it more or less correctly.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Vasily Shakhunov, 2019-08-01
@Izy

Rather, you need to understand that this is a service) If some kind of PaaS, then google in the direction of creating PaaS))

I
Ivan Shumov, 2019-05-30
@inoise

You do not need to deal with this task - do not master it. You need to understand server provisioning and orchestration, queues, mtcrosequis, event model, maybe even sockets. Perhaps all sorts of terraforms, ansibles, jenkins, etc. will be needed ...
Such tasks launch entire teams of specialists

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question