Automatic Ejabberd clustering with EC2 (Amazon Web Services) [closed] - amazon-ec2

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Using Ejabberd in EC2 as an XMPP server to send real-time information to clients...
How it is possible to set up clustering so that if the load on the server gets too much, Auto Scaling will create a new EC2 instance that is part of the Ejabberd cluster?
The documentation I've read suggests that you must already have the machines and manually configure each new one to be added to the cluster. Surely though you don't have to be running redundant EC2 instances just in case?

You'll need to do this manually, however a single ejabberd server can handle quite a lot of traffic. Each server adds a significant amount of available connections to your cluster, so it's not a common task.
That said, I'd really be careful running ejabberd in EC2. I've been doing it for about a year, and we fight mnesia network partitioning pretty regularly. Clustered ejabberd servers don't work very reliably in the EC2 network.

I am installing an infrastructure based on EC2 + ejabberd and have read this post. Do not you recommend? I planned to use as backend mysqlk (in AWS RDS) for tables that store large amounts of data. What do you think?

Related

Why choose RDS/Aurora over EC2 instance on AWS, or choose CloudSQL over Compute Engine (VMs) for database server? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
Recently, I've done some comparison between using Database as a service (e.g. CloudSQL on GCP and RDS/Aurora on AWS) and using VMs (e.g. Compute Engine on GCP and EC2 on AWS).
It turns out with the same type of machine/server, Database as a service is costing double as the price of setting us own VMs.
For example, on AWS, the r5.4xlarge EC2 instance costs $1.208/hour; while, the r5.4xlarge RDS costs $2.28/hour. Worse than that, Aurora costs $2.8/hour.
On GCP, the n1-high-mem-16 compute engine instance costs $686.33/month; while the n1-high-mem-16 CloudSQL costs $1387.98/month.
Why don't people spin up an EC2 instance or Compute Engine instance and set up their own MySQL?
It would be appreciated for you to write down your reasons of choosing the database as a service (CloudSQL or RDS or Aurora) than setting up a database on VMs?
I can't generalise, but at one of the previous companies I worked for, they did a thourough analysis.
They included the cost of people needed to setup the database in high-available mode, added the continuous costs of backups and keeping up-to-date with security patches, which needed to be prepared in advance for every patch.
When you have a managed service it's an all-in-one package, and it was actually cheaper or less risky than having to hire a (part-time) DBA.
They also calculated in the adoption rate of innovation. When they needed e.g. MongoDB or Redis, a managed service could be adopted in a week instead of having to wait for several months for someone to analyse all risks and options to set it up in a High-Available state and coming up with a Security plan.

Differences between Openstack and Cloudera [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
I can't clarify what are the differences between OpenStack and Cloudera.
As I understood, both are software you can install in your own cluster to manage it. But I guess that there are several differences between both, and... can they work together?
Can you give me further information about this? How could I use both?
Openstack is an open source cloud computing framework which is deployed to have virtualization technology in your server and create identical cloud services that other cloud service providers are providing like Amazon, Rackspace and many more.
Instances in Openstack are virtual machines which can be used for services as Amazon is providing to the world by giving computation services. We can even deploy hadoop provided by Cloudera in a virtual cluster created in Openstack.
Using Openstack is like owning a Amazon cloud but free of service.
Cloudera is a US-based company which provides modified, improved and easily deployable apache hadoop. The company is mainly focused on easing businesses to deploy hadoop according to the business needs. The company provides support for their product and provides trainings.
lets say it like this
Openstack is a framework for creating cluster that supports Cloudera's hadoop to be deployed.
OpenStack is an open platform for cloud computing (IaaS).The universe of applications running on an OpenStack backend is ever-expanding.
Cloudera provides Apache-Hadoop based software. It is used for big data.
Both can work together, you can deploy your cloudera cluster with sahara plugin

How does AWS EC2 scale if more resourses needed? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I launched a t1.micro instance running Apache and MySQL servers on Ubuntu. Basically I'm using it to host my photo sharing app that may have huge random spikes in terms of visitors.
How does AWS go about it?
Will the instance automatically upgrade to appropriate horse power to keep up with demand and growing storage demands?
No, you have to manually make your instance more powerful by first making sure it is in the stopped state (this requires EBS volumes or you'll lose your data), then going to the AWS console, right click your instance and select 'Change Instance Type'.
If you are interested in a more automated approach, I suggest an Elastic Load Balancer with an Auto-scaling policy. With Auto-scaling, Amazon will spin up or down new instances based on set points that you provide (i.e. CPU usage reaches 80% for 10 minutes).

XMPP server in Amazon EC2 [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Which XMPP server would you recommend for use in Amazon Web Services, running on EC2 instances?
It should scale, with automatic (or at least easy) clustering being very useful - it's scaling should also support an XMPP server component. It would be nice if the automatic scaling could work with Amazon Auto Scaling.
Which XMPP server (or even a different cloud offering) would you use? As far as I can tell OpenFire and Ejabberd are the most popular choices, but I'm concerned they won't scale well on EC2 instances.
To my knowledge there is no XMPP server with automatic clustering.You should be aware that automatic clustering with XMPP is extremely difficult because it is a connected protocol and it cannot be totally transparent, unless you only want to support HTTP (XMPP over BOSH).
You will end up with question like: what do you do with running TCP/IP connection when you want to remove a node ? Do you want to migration session when adding a node ? What do you do with running TCP/IP connection.
ejabberd has good clustering support however and it runs extremely well on EC2 and is very stable. This is your best bet.
OpenFire to my knowledge is not an option with no real, largely available clustering support.

How do I update multiple EC2 instances that are load-balanced? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
So, I have been playing around with Amazon Cloud (AWS) and I am trying to figure out how to get files on to all server's if they are load balanced.
At first I thought I could tie 3 different instances to a load-balancer and then have each instance utilize the same volume. That way all I would have to do is update the one volume with the recent build of the site and each instance would then access that. However, I have read that you can't share volumes across instances.
So what is the solution? Would I have to have the three instances all with the same data, and a forth that I could update? Then the forth would replicate the data across the other three.
Just trying to figure out how to update update the production files, and have all servers that are handling the load to pull in the most recent code base.
Yes all servers need to have identical content. You could do this by creating an NFS share or similar, and mounting it at the same point on each server. But apparently a decent workaround is to create snapshots of an EBS volume and then mount them on each instance. See http://linuxforlovers.wordpress.com/2009/04/11/sharing-amazon-elastic-block-store-among-multiple-instances/ for more details. Every time you want to commit your changes, you commit to the EBS volume only.

Resources