Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Document distributed installations #271

Open
cruzccl opened this issue Aug 28, 2017 · 10 comments
Open

doc: Document distributed installations #271

cruzccl opened this issue Aug 28, 2017 · 10 comments
Labels
doc Documentation +enhancement Enhancement
Milestone

Comments

@cruzccl
Copy link
Member

cruzccl commented Aug 28, 2017

In order to document distributed installation (asked in #269 ) package dependencies should be reviewed.

This way, installing IvozProvider with one independent machine for each profile should be as easy as installing corresponding packages and documenting manual fixes (currently made with Ansible in our installations).

Existing profiles are:

  • ProxyUsers
  • ProxyTrunks
  • Media-relay
  • Data
  • Portals
  • AS

Scaling from one machine to multiple machines depends on the profile:

  • Proxies: CRM software (e.g. Pacemaker, Heartbeat) for active/passive.
  • Media-relay: as easy as installing more media-relay profiles.
  • Datas: MySQL cluster, Percona XtraDB Cluster, Galera Cluster.
  • Portals: HAproxy (or similar) for active/active cluster, CRM (e.g. Pacemaker, Heartbeat) for active/passive.
  • AS: as easy as installing more AS profiles.

The only scaling process that will be explained in the official documentation is AS and media-relay scaling, as they do not need any additional software unrelated to IvozProvider.

@cruzccl cruzccl added +enhancement Enhancement doc Documentation labels Aug 28, 2017
@cruzccl cruzccl added this to the Upcoming milestone Aug 28, 2017
@syadnom
Copy link

syadnom commented Aug 28, 2017

Thanks cruzccl. I think what is most important is how to join a new server up to a cluster, as well as how to remove a profile from a machine that should not handle that task. The single server will likely remain the first database server, so adding a second database server, then moving media relays, portals, proxies etc off to other servers as load demands.

@Guigui37
Copy link

About Portals, you talk about the platform administration portal, and we are right, it can works with an haproxy.
But what about supervisor/gearmand ? Should only one instance run at a time or multiple can run simultaneously ?

@cruzccl
Copy link
Member Author

cruzccl commented Sep 21, 2017

Hi @Guigui37 and @syadnom ,

In order to make this issue useful for everyone its goal will remain the same as it was described in the first note: improving both documentation and debian packages to make installing a distributed installation with one machine per profile as easy as possible.

Migration from standalone installation to distributed installation won't be documented as we consider it the wrong way to go: standalone is meant for testing (with testing carriers and uacs) and distributed is production-ready.

Scaling software different from Application Servers and Media relays (such as supervisor/gearmand) will remain out of the scope of this issue too.

Sorry for this, but we need to focus our (limited) efforts as much as possible to make improvements that are useful for everyone.

I hope you understand our point of view :)

Regards,

@Guigui37
Copy link

Guigui37 commented Sep 22, 2017

I totally agree the migration from standalone to distributed is the wrong way, testing in standalone is ok, but we must start with a distributed installation, even with a small one.
About scaling of software other than application and media, if the process to install them is not provided, we absolutely need advices about the best ways to do it. I mean:

  • gearman/supervisord must run in active/passive mode and jobs.ivozprovider.local pointing to a floating private IP address
  • portals/provisioning can run behind an haproxy instance, can work with private ip address
  • kamailio trunks and users and rtp relays must have public ip address.

If you don't provide tutorials or ways to do it, you have to provide advices on interactions between every profiles, for us to understand and know how to build the best complete infrastructure.
(or as minimum, a few links to give information and help)
And if we could help other future ivozprovider users by sharing some use cases of HA installations, it will be a pleasure ;-)

@Kaian
Copy link
Member

Kaian commented Sep 22, 2017

Sorry but I have to disagree in this fact.

The software provided here is free (as in freedom) as we hope that the world can make the best use of it, or even request anyone who has the knowledge to update, improve and enhance it, but that doesn't come with an imposed requirement to us for giving support or documentation to anyone but our clients. We do our best documenting and giving free (as in money) support whenever we have the time, but that's not part of the project work: it's our contribution.

Of course there is a lot of work to do, and a lot to improve, but we are a small team that has to focus on our client needs, using the time that is left to improve the documentation and processes so everyone benefit from our work.

We don't have to provide free advice, support or documentation. We do it because we belive in free software and we care about whatever we do. That's where all our resposibility ends.

We are very thankful to the users and community that tries our software and think it can help with any of their needs. We hope that community will help us to improve the software for everyone in form of contributions and/or paid requests.

Regards!

@powerpbx
Copy link
Contributor

powerpbx commented Dec 7, 2018

We may be able to help documenting some of this. We are doing some experimenting now. I think redis needs to be added to this list for artemis. Possibly by using sentinel. Also files in /opt/irontec/ivozprovider/storage using something like CEPH, Gluster, or ? That is what we have found so far. I am sure there will be more things.

@learnin9
Copy link

Do you have plan to try the nginx+php-fpm instead of the apache+php mode?

@Kaian
Copy link
Member

Kaian commented Jan 15, 2019

Hi @learnin9

Please add questions as new issues, that way can be referenced in the future. The topic of this issue is documentation.

We have no plan to schedule any resource to change our current apache configuration. Current one seems to work well. We are focused right now in backend and sip severs.

Regards

@borland667
Copy link

Sorry but I have to disagree in this fact.

The software provided here is free (as in freedom) as we hope that the world can make the best use of it, or even request anyone who has the knowledge to update, improve and enhance it, but that doesn't come with an imposed requirement to us for giving support or documentation to anyone but our clients. We do our best documenting and giving free (as in money) support whenever we have the time, but that's not part of the project work: it's our contribution.

Of course there is a lot of work to do, and a lot to improve, but we are a small team that has to focus on our client needs, using the time that is left to improve the documentation and processes so everyone benefit from our work.

We don't have to provide free advice, support or documentation. We do it because we belive in free software and we care about whatever we do. That's where all our resposibility ends.

We are very thankful to the users and community that tries our software and think it can help with any of their needs. We hope that community will help us to improve the software for everyone in form of contributions and/or paid requests.

Regards!

Hey @Kaian , we might have a consultancy gig for you guys. Where can we contact you? Thanks!!

@Kaian
Copy link
Member

Kaian commented Oct 1, 2019

Hi @borland667

Check FAQ for contact information. For commercial support write to comercial@irontec.com

Regards!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Documentation +enhancement Enhancement
Development

No branches or pull requests

7 participants