LimeSurvey in the cloud

Plus d'informations
il y a 3 ans 3 mois #137060 par shorn
LimeSurvey in the cloud a été créé par shorn
TL:DR;
I'm looking for advice / tips on running a LimeSurvey setup in the cloud (Amazon Web Services).
No, we can't use LimeSurvey Professional (previously LimeService) - for various reasons (data sovereignty legislation in my country, organisational customer data handling guidelines, etc).

----

My requirements

I'm not so interested in building a high-scale setup, nor even a zero-downtime setup (I'm a little interested in those too, but not initially). All I'm trying to do is build reliable survey functionality for the various parts of my organisation that want to run surveys (both internal and external, some with sensitive user data).

Long term, some of the surveys will actually be integrated with backend systems / business processes within the organisation (surverys for new customers, lost customers, etc.). If it goes down for a short while because some hardware died or a VM got stepped on - that's ok. Just so long as it comes back up in good shape and people can keep taking surveys.


My setup

I have a LimeSurvey installation that runs on AWS, and it seems to be functional - though some LimeSurvey features don't work yet.

My current setup is running LimeSurvey as an AWS Elastic-Beanstalk (EB) application running LimeSurvey as a docker container. It runs behind an AWS Elastic-Load-Balancer (ELB), with an AWS Auto-Scaling-Group (ASG) set up to have a minimum and maximum instance count of 1.
The ASG will bring up a single new instance of LimeSurvey if the current one goes down for whatever reason - there should never be more than one instance running at a time.
The database is an AWS Relational-Data-Store (RDS) instance of Postgres 9.5.


Stuff that works

Currently - the LimeSurvey "tmp", "upload" and "application/config" directories are all mapped onto the VM's boot disk (ephemeral - the boot disk is destroyed when the VM dies).
I believe this is Ok for tmp and config because:
  • The tmp directory should only contain temporary stuff, so that should be ok if those files suddenly disappear.
  • I treat the LimeSurvey config directory, like all the rest of the OS/Nginx/PHP configuration - changing config involves doing the config changes in a local development environment and then committing those changes to the application's source code.
    The config directory will then be overwritten with the new changes the next time the application is deployed to Elastic-Beanstalk.


Current problems
  • Uploads (images, vidoes, other files that surveys might link to)
    When the instance dies for whatever reason (or is just refreshed by me) - the upload directory gets blown away along with the rest of the VM.
    I plan to create a separate Elaastic Block Store device for the uploads directory, when a new application VM is created it will mount the block store in a defined location that LimeSurvey wis configured to use for uploads.
  • Bounce tracking
    We don't (won't) run an SMTP server on the VM. Sending emails is no problem, we use AWS Simple-Email-Service (SES) to do that but dealing with bounced email is going to be an issue.
    The current plan is to monitor incoming emails from SES and then do "something" to notify LimeSurvery of the bounced email address (either update the DB directory or use or extend the remote API if possible).
  • Moving surveys between environments
    We will have a minimum of three LimeSurvey application Elastic-Beanstalk environments running in parallel (development, user-acceptance-test and production).
    Migrating postgres databases or doing LimeSurvey export/import works well for moving data around. But the upload directory presents a problem again. As far as I can tell - there is no LimeSurvey functionality for exporting the uploaded artifacts used by a given survey - is that true or have I missed something?


Questions and future problems

The upload directory seems to be the biggest, most obvious sticking point with this whole setup - is there a way to disable the upload functionality of LimeSurvey?
I'm thinking long-term, the external artifacts for a survey should not be uploaded to LimeSurvey but should go on AWS Simple-Storage-Service (S3) - which is designed for storing and serving these kinds of things.

I'd love to hear about any pointers or help folks might be about to suggest suggest for my problem areas.
I'd also really appreciate any advice on my "unknown unknowns" - things that LimeSurvey does that are going to cause my problems that I'm not aware of yet. Features of LimeSurvey that I don't even know about that won't work with this setup?
Les utilisateur(s) suivant ont remercié: tassoman

Connexion ou Créer un compte pour participer à la conversation.

LimeSurvey Partners
Plus d'informations
il y a 3 ans 3 mois #137340 par shorn
Réponse de shorn sur le sujet LimeSurvey in the cloud

shorn écrit: As far as I can tell - there is no LimeSurvey functionality for exporting the uploaded artifacts used by a given survey - is that true or have I missed something?


This was incorrect. Users can export/import uploaded resources easily - the functionality is under surveyXXX/survey properties/general settings & texts/resources.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 3 mois #137341 par Ben_V
Réponse de Ben_V sur le sujet LimeSurvey in the cloud
Hi,
Maybe you should send a private message to @copsrtops ... Could be great if he can provide some feedback, because there is few other posts about this topic in this forum .
=> Limesurvey and Amazon EC2 Instance Types

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines #185257 par tassoman
Réponse de tassoman sur le sujet LimeSurvey in the cloud
Anyone interested on coding some kind of Cloud Storage Plugin?

«All your survey answers are belong to us»

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 mois 2 semaines #185289 par DenisChenu
Réponse de DenisChenu sur le sujet LimeSurvey in the cloud

shorn écrit: I'm looking for advice / tips on running a LimeSurvey setup in the cloud (Amazon Web Services).

OK, why not .

shorn écrit: No, we can't use LimeSurvey Professional (previously LimeService) - for various reasons (data sovereignty legislation in my country, organisational customer data handling guidelines, etc).

I don't understand why this reason don't apply to AWS …

The only way to get real data sovereignty is to hire a server in your country (or (better) setup a server in your company office).

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
An error happen ? Before make a new topic : remind the Debug mode .

Connexion ou Créer un compte pour participer à la conversation.

Commencez dès maintenant !

Créez simplement un compte et commencez à utiliser LimeSurvey dès aujourd'hui.

Inscrivez-vous maintenant

Inscrivez-vous à notre Newsletter!