Set Up & Using Amazon Web Services Cloud with bitnami installer TEK

Tap Forms – Organizer Database App for Mac, iPhone, and iPad Forums Using Tap Forms Set Up & Using Amazon Web Services Cloud with bitnami installer TEK

Viewing 8 reply threads
  • Author
    Posts
  • March 29, 2018 at 10:14 PM #28013

    Michael Tucker
    Participant

    **FIRST SECTION**
    Logic of Using Bitnami

    The choice of using bitnami (bitnami.com) can simplify searching for server combinations that are Couchdb compatible, yet also has compelling features…

    …It’s free to the user (from what I experienced) and can install Couchdb on several options of cloud servers.

    …It has a lot of resources on-line to help you if needed.

    …When you use their installer (their launchpad) — it does a pretty good job of stepping you thru what you need to do and transferring you to your cloud server when needed.

    …Bitnami can install other applications (like wordpress) as well — but not our topic.

    …It’s not complicated, and does not take much time, if you know what to do or have a good roadmap.

    …It says it will keep your Couchdb version up to date for you.

    …If you find one cloud server doesn’t fit your needs or costs too much, you can try another.

    …You could actually install to more than one cloud service to test several at a time if you wanted.

    **NEW SECTION**
    Choose A Cloud Server & Set It Up First

    You probably should choose a cloud server first (if you don’t have a destination cloud service, bitnami can’t install your Couchdb). Go to https://bitnami.com/partners to see all the options bitnami can install to..

    …Cost options for the cloud servers are not always so easy to pin down..
    I spent a few moments looking, and only could find 2 servers that had costs expectations easy to find. Many servers offer free trials and credits, but it is a lot of work to set up and then need to move your files back and forth, I’d really rather know before I jump, so to speak..

    AWS…the lowest tier shows an estimate of $5.18 US a month.

    1&1…if you use the bitnami console and choose from their selection, it offered a $50 credit. I could not see what the monthly charges were without actually signing up.
    However, if you visit their website — it appears their starting cloud server plan (Cloud Server M) is $9.99 US a month. The interesting thing is that if you open an account from their website — the credit appears to be $100 US. I think if I were going to use them, I’d try to open the account from their website first to get the $100 US credit.
    I have noticed that options and prices change at 1&1. Just a few weeks ago they offered a cloud server for $4.99 US a month (Cloud Server S) which is no longer shown.
    So your mileage may vary from the offers available at the time you visit.

    Azure… has price estimators but they did not make sense to me, only way I could determine would be to open a cloud and put my data into it and use it.

    Google… has price estimators but they did not make sense to me, only way I could determine would be to open a cloud and put my data into it and use it. They state they are less expensive than AWS on their website.

    Oracle… has price estimators but they did not make sense to me, only way I could determine would be to open a cloud and put my data into it and use it.

    **NEW SECTION**
    Logic of Using AWS

    I chose for my first attempt using bitnami, for my cloud server, AWS (Amazon Web Services)…

    …First, I’ve had some experience with AWS Customer Service to know you can get in touch with someone and have them actually respond back to you.

    …Second, because the estimated cost looked attractive to me ($5.18 US a month).

    …Third, the AWS platform is flexible to fit a range of needs and pocketbooks…
    Upgrading from the lowest tier — 10GB @$1.00US (that I chose) — to 20GB is just $2 US — sounds good. And to upgrade the CPU up a notch is about $8 US versus the $4.18 US for the lowest capacity CPU (T2-Nano that I chose).

    …Fourth, the AWS platform has what they call “elastic IP” numbers — what most of us would call a static IP — so that when you stop and re-start your server, the IP number you have used in the past remains the same. It did not seem to cost extra to activate the option.

    ==
    ==

    For this TEK I’mm going to assume AWS is the chosen cloud service and that the account at AWS is already set up.

    ..Remember to store your AMAZON AWS login and password (like in 1password).

    ..Some parts of the TEK may still be helpful for whatever installation platform is chosen.

    **NEW SECTION**
    Get Going With Your Bitnami Account

    Just go to bitnami.com

    Press the sign in at top right, then at bottom of next screen “Don’t have a Bitnami account”
    Press CREATE ONE.

    Store your login and password (like in 1password).

    You will have an email sent to you that you need to confirm to verify.

    ==
    ==

    Log into your bitnami account.

    You can press the green CONSOLE button at the top of the screen or go to “my account” and press CONSOLE ACCESS on the left side choices.

    In this TEK we will be using AWS (Amazon Web Services) — which starts in the next section.

    **NEW SECTION**
    At Bitnami, use LaunchPad to Install Couchdb on AWS Cloud

    You are in the CONSOLE at bitnami.

    Click AWS Launchpad

    There are a number of icons for various installations, you could scroll and look, but…
    ..To the left top of the icons there is a tab showing “All categories”.
    ..And to the right of that is “Search applications…”

    Enter into that search “couchdb”

    It should appear “instantly”.

    Then hover on that icon and it will say “Launch”.
    Click Launch.

    A box will come up saying that a cloud account is required.
    You will have to create a “vault” on bitnami.
    Click to create.

    When you have created your vault on bitnami..you will have a password for it..
    ..be sure to save your bitnami VAULT password (to like 1password).

    ==
    ==

    Then you are asked to choose to either create a new AWS account from bitnami or log in and set your credentials.

    We are logging in to get our credentials since we already created our AWS account.

    To get your credentials, at AWS, go to Security, Identity and Compliance.
    Select IAM

    You will get a bitnami access key. (console.aws.amazon)

    Be sure to save your bitnami AWS ACCESS KEY ID (to like 1password).

    ==
    ==

    Back at the bitnami launchpad for AWS
    At aws.bitnami.com
    Log in, if needed.

    At the top of the screen there should be “Virtual Machines”…”Library” .. “Support” .. “Account”

    Press on VIRTUAL MACHINES

    Then choose New Virtual Machine

    Go back to Bitnami Launchpad for AWS Cloud
    Find couchdb
    Select it again…

    ..this time (now) it should give you your initial Couchdb account set up options…

    Select the region (closest geographical match to you);
    Select the disk size (10 GB is $1.00 US; 20 GB is $2.00 US);
    Select the server (t2.nano is $4.18 US Mnt, .006/hr; t2.micro is $8.35 US Mnt, .012/hr).

    Your estimated cost will show (mine was $5.18 US for the minimums offered above).

    CONTINUE

    This will install your cloud instance of Couchdb, which does not take very long.

    ==
    ==

    (aws.bitnami.com)

    After a moment of installation..

    ..you will see a panel with your Couchdb name, under that the CouchDB version, the username, and the password.

    Be sure to save your bitnami-couchdb name, login in and password (to like 1 password).

    On the right side — you will see an initial server (your IP) — write it down. This may change until you get a bit further along in the AWS process — but write it down so you have it (with room to strike over).

    You will also see in yellow the option to download your KEY — if you were going to use a windows server you would download the .PPK version, we are going to download the .PEM version for our AWS cloud server.

    Your KEY will not change even if you change your IP, so it is fine to go ahead and download it now.

    Put in a place you can refer back to (probably not on your desktop) as you will need to reference it later, and possible weeks or months from now — so note where it is on your drive and keep that info as you will need it for access pretty soon and further off in the future.

    Good thing to reveal the “show SSH command” and copy that to your notes and keep it as well.

    It will show similar to ssh -i [your-private-key].pem bitnami@xx.xx.xx.xxx

    The format is important. An added or omitted space (etc.) and it will not work.
    It is ssh(space)-i(space)[your-private-key](dot)pem(space)bitnami@xx.xx.xx.xxx
    You will replace everything between the i(space) and the (dot) with the disk location of your PEM key. You will replace the above xx.xx.xx.xxx with the actual shown IP under Server Info.

    If you get lost — go back to aws.bitnami.com, and log in if necessary, then go to virtual machines, then enter your Bitnami Vault password if necessary.
    That will reveal your bitnami-couchdb, click on it to get back to the info screen with your password, the IP address, access to your PEM key, and to show your SSH command.

    Remember — for now, if you were to stop the server and re-start it the IP will change. The “show SSH command” is correct (for now). If you would need stop and restart the server you’d need to come back to this screen and get an IP update.

    That will be unnecessary in about two steps when we get to AWS and get an elastic IP.
    And if you follow this guide, you will not need to go and look for an IP change — because we will get our elastic IP so it stays the same — before we need to stop the server.

    ==
    ==

    **NEW SECTION**
    Open Firewall Ports on Cloud Server at AWS

    Before you can actually use your Couchdb (running on the AWS cloud) we have make sure ports are open or open ports needed so you can access it.

    Couchdb uses port 5984
    SSH uses port 22
    http uses port 80
    https uses port 443

    ==
    ==

    At amazon.com/aws

    Choose “SIGN IN TO THE CONSOLE” at the top right.

    It should know you and show your email..
    ..Then enter your PASSWORD

    In “Recently Visited Services” you should see EC2..
    ..Click on EC2

    At top “Resources” you should see “Running Instances”
    ..Click on Running Instances

    You should see “BitnamiCouchdb…”..
    ..Click on that and in the window, toward the bottom some panes will reveal.

    You should see in the “Description” pane..
    ..In “Security groups”..
    ..”BitnamiCouchdb..
    ..Click on it and another pane reveals..

    Click on the “Inbound” tab.. And the rules reveal.

    ==
    ==
    Button above the table EDIT (press)

    You need to add if not there:

    SSH 22 0.0.0.0 (anywhere) SSH
    HTTP 80 0.0.0.0 (anywhere) HTTP
    Custom TCP Rule, 443 0.0.0.0 (anywhere) HTTPS
    Custom TCP Rule, 5984 0.0.0.0 (anywhere) open for couchdb

    Basically..type (Custom TCP Rule), protocol (TCP), Port Range (80 then 22 then 5984 then 443), source (anywhere), description (most fill in, the 5984 you can put “open for couchdb”).

    Save — it will create several lines in addition to those you entered.
    Just look again to confirm you have 22, 80, 443, 5984 as 0.0.0.0

    **NEW SECTION**
    Configure a “Static IP” at AWS

    If you are just finishing opening your firewire ports at AWS from the last instruction, you can just continue on…

    On the left side there should be a list of panels..
    ..under Network & Security..
    ..click on ELASTIC IPs.

    ==
    ==

    If you are not logged in…

    At amazon.com/aws

    Choose “SIGN IN TO THE CONSOLE” at the top right.

    It should know you and show your email..
    ..Then enter your PASSWORD

    In “Recently Visited Services” you should see EC2..
    ..Click on EC2

    At top “Resources” you should see “Running Instances”
    ..Click on Running Instances

    You should see your “BitnamiCouchdb…”..
    ..Click on it and in the window at bottom panes will reveal.

    This time we are not concerned about the bottom panes…
    ..On the left side there should be a list of panels..
    under Network & Security..
    click on ELASTIC IPs.

    ==
    ==

    Now at ELASTIC IPs.

    At the top press the blue “Allocate new address”
    Close
    At the top press the gray “Actions” tab and pull down to ASSOCIATE

    Choose the Instance “BitnamiCouchdb…”..
    Click ASSOCIATE

    You can see your current permanent IP known as the “Elastic IP”— write it down, if it varies from the prior IP you wrote down (if you have stopped and restarted your cloud server), strike over the prior IP.
    This will be your IP (your server IP) from now on unless you decide to remove this association and make another one (remap it).

    You can create more elastic IPs, but if you do and do not put them into service, you will run up charges for keeping them reserved but not used.

    ==
    ==

    In your password utility — you might want to update your bitnami-couchdb… notes…

    ssh to clouddb with terminal

    ssh -i [your-private-key].pem bitnami@[your IP you just got from AWS allocate elastic IP]

    which is:
    ssh -i [your local disk access].pem bitnami@[your IP you just got from AWS allocate elastic IP]
    Ssh(space)-i(space)[your local disk access].pem(space)bitnami@[your IP you just got from AWS allocate elastic IP]

    web access (Couchdb control panel): http://[your IP you just got from AWS allocate elastic IP]

    tapforms:
    server http://[your IP you just got from AWS allocate elastic IP]:5984

    **NEW SECTION**
    Find your PEM file on your Drive and Change its Permissions

    Find your PEM (.pem) file you downloaded to your computer’s drive.

    We did this back at the instruction “At Bitnami, use LaunchPad to Install Couchdb on AWS cloud”

    If you lost your note, find the file you stored on your drive.
    If you did not store the file to your drive…

    Go back to the instruction “At Bitnami, use LaunchPad to Install Couchdb on AWS cloud”.

    ==
    ==

    When you have found your PEM file on your local drive, and you know the location of your PEM file [like mydrive/users/littleoldme/downloads/filename.pem], we need to change its permissions.

    On mac, open the TERMINAL app.
    Once you get a cursor…

    chmod 600 [location of your PEM file]
    That is chmod(space)600(space)[location of your PEM file]

    Once this is done properly you will get a cursor back.
    If you don’t have the location correct, you will get an error, keep trying until you have the permissions set to 600 for that file.

    **NEW SECTION**
    Editing Your Couchdb “config file”

    Before you can actually use your Couchdb we have to make adjustments to a Couchdb config file stored on your cloud server.

    ==
    ==

    We are going to be using the Mac Terminal app to log into our AWS cloud and access the config file in the Couchdb installation.

    You will need either from accessing a note application, or from your password utility — the correct ssh(space)-i(space)[location of your PEM file on your drive](space)bitnami@[your static IP]

    Once you have that ready and on your screen to copy to the terminal, that will save a lot of frustration and time (rather than type it from the keyboard).

    With the Mac Terminal app..
    Log in with the above ssh(space)i(space)[location of your PEM file on your drive](space)bitnami@[your static IP].

    You will get a $ icon if you are successful.
    If not, check formatting, check that the reference to the location on the disk is correct, check that the IP is correct, check that the PEM file has it’s permissions set to 600.

    ==
    ==

    Once you have the $ login prompt..these are the steps to take, in order..

    (1) Stop services
    sudo /opt/bitnami/ctlscript.sh stop
    That is sudo(space)/opt/bitnami/ctlscript.sh(space)stop

    The stop of the server should be confirmed and then you’ll have a new prompt.

    [[If you are having problems, see https://docs.bitnami.com/aws/faq/operating-servers-instances/control_services/ ]]

    (2) We will change directories
    cd /opt/bitnami/couchdb/etc
    That is cd(space)/opt/bitnami/couchdb/etc

    If you did it right there should be no error message and you should show a new prompt: etc

    (3) We want to see what is in this directory
    ls
    Should show directory — and we are looking to make sure we see “local.ini”

    If you see it, all is good, if not; go back and trace your steps — we need to get into the correct directory in order that we can see the file “local.ini”

    (4) We want to make a copy of the file we will be altering (just in case we make a mistake)
    sudo cp local.ini local.ini.backup
    That is sudo(space)cp(space)local.ini(space)local.ini.backup
    [If you have to do this again in another session, change the name of the next backup to local.ini.backup2, etc.]

    (5) We want to confirm the backup file is there
    ls
    Should show directory — and we are looking to make sure we see “local.ini.backup”

    (6) We are going to edit the config file
    sudo nano local.ini
    That is sudo(space)nano(space)local.ini

    This opens the contents of the file “local.ini”, and if you press keys you will edit, so don’t press keys you did not intend to — use your arrow keys (under the shift key) to move to position so you can edit what needs to be edited.

    (move with arrow keys)
    First
    — look in the section [chttpd]
    Change (move with arrow keys and backspace/delete to write over existing text)
    127.0.0.1
    to
    0.0.0.0

    (move with arrow keys)
    Second
    — look in the section [httpd]
    We want to see in this section “bind address =0.0.0.0”
    It’s probably not there.. And if not, go to the top of this [httpd] section and insert a blank line if you need it to write to (you may need to press return to have a line at the top)
    bind address =0.0.0.0
    That is bind(space)address=0.0.0.0

    If a statement like that exists but does not show 0.0.0.0, change it to 0.0.0.0

    (move with arrow keys)
    Third
    — look in the section [daemons]
    We want to see in this section “httpsd = {couch_http, start_link, [https]}”
    It’s probably not there.. And if not, go to the top of this [daemons] section and insert a blank line if you need it to write to (you may need to press return to have a line at the top)
    httpsd = {couch_http, start_link, [https]}
    That is httpsd(space)=(space){couch_http,(space)start_link,(space)[https]}

    (move with arrow keys)
    Fourth
    — look in the section [ssl]
    We want to see in this section that these 3 lines are uncommented (nothing in front of them); and if one of these lines is not there, insert it (create it) similar to like how you did above:
    port=6984
    cert_file = /opt/bitnami/couchbd/conf/server.crt
    Key_file = /opt/bitnami/couchdb/conf/server.key

    (8) All done with the edits.
    We are going to close and save the file

    (move with arrow keys)
    Move your cursor down to the very end of the space on this page, past text (there is probably a lot of empty space, so go as far down as you can — go past all the text)

    Press ControlX (at the same time);
    It then will ask if you want to overwrite and save (assuming you did it as above, press Y)
    If you made errors, just say N and you will exit and you can start over again without needing to do another file backup.

    You should see a cursor prompt

    (9) Check your work.
    Log in again using the Mac Terminal, but this time do not stop services (they are already stopped), and you do not need to make another backup file just to verify your work.

    Just run the text editor (step (6)) and just move and look that your changes were made properly.
    Then when you have verified, move all the way to the bottom of the page, and press ControlX and then Y to exit.

    You should see a cursor prompt

    (10) Everything you need to edit is over and done and you confirmed it..

    Start back up services
    sudo /opt/bitnami/ctlscript.sh restart
    That is sudo(space)/opt/bitnami/ctlscript.sh(space)restart

    Restarting should be confirmed and then you have a new prompt

    (11) Finished — Log Out of the Session

    If you are totally done, you can gracefully exit the logged in session by typing…
    exit

    You should see a $ prompt
    You can close the terminal window and quit the terminal app.

    Otherwise just close the terminal window and you can quit the terminal app.

    **NEW SECTION**
    Your Web Access for Couchdb

    You have a control panel to access your Couchdb, very helpful to confirm that the documents (databases) you thought you connected are actually there (compare their IDs from tapforms to the IDs in the control panel). You can see the size of your documents, read documentation, and so on.

    The permanent IP you got, just insert that into your web browser with the port number appended and then /_utils/ appended…

    If your IP is 55.123.45.678..

    Type http://55.123.45.678:5984/_utils/

    I do not go into adding users, you can read the documentation in the control panel to pursue that.

    You do need to have admin access as a user to initialize a document to be synced from your device to the Couchdb cloud.
    Once a document exists — then non-admin users can access it is my understanding, but read the documentation for how to implement multi-user (and non admin user) set-up.

    **NEW SECTION**
    Your TapForms Access for Couchdb

    In TapForms, you will sync with the Apache CouchDB pane.

    The (“elastic”) permanent IP you got in an earlier instruction, just insert that into your server address with the port number appended.
    If your IP is 55.123.45.678..

    Type http://55.123.45.678:5984

    Your username and password is from way back when we first set up couchdb under the section “At Bitnami, use LaunchPad to Install Couchdb on AWS Cloud”

    The access given initially is just one and it’s an administrator’s access. If you are going to have other users, look at the documentation in the control panel for Couchdb for how to set those up — as it is unlikely you’d want everyone to use the one login initially provided.

    **NEW SECTION**
    How Much Is This Really Costing Me? What is the Quality of Service?

    Go to aws.bitnami.com

    Choose VIRTUAL MACHINES at the right top

    You should see your virtual machine listed similar to “bitnami-couchdb-cf…”
    Click on that yellow listing to open.

    You will see a panel with your Couchdb name, under that the CouchDB version, the username, and the password.

    Click on the top yellow box that says “Manage in the AWS Cloud Console”.

    Click on SERVICES at the very top.

    On the left click on BILLING

    Keep tabs on that to see if it matches what you expected.

    The first day I set up couchdb my bill was $.36 US I think it was.
    Next day when I checked it, my bill was $.47 US. [47-36=11]
    Next day when I checked it, my bill was $.65 US. [65-47=18]

    Most of the bill is based on server time.
    For all the data I have only been billed $.01
    And there is tax of $.02

    The Elastic IP looks like it is free when put into use, and for 100 remaps.
    I have only mapped it once to the bitnami-couchdb instance.
    There is discussion that if you reserve an elastic IP and do not actually use it, you will get billed $.01/hr while it is held out of the public pool but not in service.

    So if it is going to typically run $.11/day that would be $3.30 for 30 days;
    If it is going to typically run $.18/day that would be $5.40 for 30 days.

    I suppose as I figure my average over more days I’ll decide if it seems too costly; Google cloud claims they are less expensive and bitnami can install to Google — I might try it if this service exceeds my budget expectations?

    QUALITY OF SERVICE:

    AWS cloud Couchdb is much more responsive (less lag time), that was the demo (free version) of the BlueMix Cloudant; BlueMix Cloudant stipulated it would have issues with larger sized document (database) files and larger attachments like photos or documents.

    So far after three days no noticeable complaints…
    — it has handled all my documents (databases) with large photos or several photos within a field with no errors;
    — and it has been very quick to update changes in data from one device to another.

    March 30, 2018 at 12:50 AM #28014

    Brendan
    Keymaster

    Thanks for writing up this fantastic installation guide Michael!

    I would highly recommend opening up port 6984 and installing a proper certificate and key in order to be able to use https instead of http. Your data will not be secure during the sync operation if you’re using http and not https.

    Thanks!

    Brendan

    April 8, 2018 at 11:16 PM #28203

    Sam Moffatt
    Participant

    Strongly agree with getting SSL up and running. I went through your guide above and then here are the extra steps I did to get SSL working:

    1. Set up a DNS address pointing to the IP address for the box. I used Dyn.com to create a simple alias to the host (I’ve used them for years since before they were part of the evil empire that is Oracle). I went with something simple here: “tapforms.dnsalias.com”.
    2. On the instance I created new certificates for the DNS address per the TapForms CouchDB documentation:
      
      bitnami@ip-172-31-22-4:~$ mkdir ssl
      bitnami@ip-172-31-22-4:~$ cd ssl
      bitnami@ip-172-31-22-4:~/ssl$ ls
      bitnami@ip-172-31-22-4:~/ssl$ openssl genrsa -out couchdb.key 2048
      Generating RSA private key, 2048 bit long modulus
      ......................+++
      .......+++
      e is 65537 (0x10001)
      bitnami@ip-172-31-22-4:~/ssl$ openssl req -new -key couchdb.key -out couchdb.csr
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Country Name (2 letter code) [AU]:US
      State or Province Name (full name) [Some-State]:California
      Locality Name (eg, city) []:Milpitas
      Organization Name (eg, company) [Internet Widgits Pty Ltd]:Pasamio
      Organizational Unit Name (eg, section) []:
      Common Name (e.g. server FQDN or YOUR name) []:tapforms.dnsalias.com
      Email Address []:pasamio@gmail.com
      
      Please enter the following 'extra' attributes
      to be sent with your certificate request
      A challenge password []:
      An optional company name []:
      bitnami@ip-172-31-22-4:~/ssl$ openssl x509 -req -sha256 -days 1095 -in couchdb.csr -signkey couchdb.key -out couchdb.crt
      Signature ok
      subject=/C=US/ST=California/L=Milpitas/O=Pasamio/CN=tapforms.dnsalias.com/emailAddress=pasamio@gmail.com
      Getting Private key
      bitnami@ip-172-31-22-4:~$ 
      
    3. I updated the local.ini file to point to those SSL certificates and enable SSL per the Bitnami CouchDB guide. The paths are a little different from the guide since they’re in the home directory:
      
      [ssl]
      port=6984
      cert_file = /home/bitnami/ssl/couchdb.crt
      key_file = /home/bitnami/ssl/couchdb.key
      
    4. Updated the AWS security group to add 6984 to the permitted list.
    5. I downloaded the CouchDB certificate to my Mac. You can either use SSH for this or here’s a handy one liner:
      
      openssl s_client -showcerts -connect tapforms.dnsalias.com:6984 </dev/null 2>/dev/null|openssl x509 -outform PEM >tapforms.dnsalias.com.pem
      
    6. I emailed myself a copy of the certificate and trusted it per the TapForms CouchDB documentation for installing a certificate via iOS.
    7. Last but not least, I set up the details in my TapForms document to do the sync from my phone.
    Attachments:
    You must be logged in to view attached files.
    April 9, 2018 at 12:04 AM #28209

    Brendan
    Keymaster

    Thanks for completing the picture on the AWS install Sam!

    Now if there was a super simple way of installing and configuring CouchDB on AWS w/SSL that even a non-technical person could do, that’s would be wonderful!

    It would be wonderful if there were something in Tap Forms where you could just pick the service you wanted, type in a username and password you wanted to use, then have Tap Forms call out to whichever service the user chose, then create the CouchDB instance w/SSL for you all within a few seconds.

    April 10, 2018 at 12:15 AM #28218

    Sam Moffatt
    Participant

    I think the challenge there is doing that on top of AWS is a challenge because you still need to have folk set up credentials ahead of time. Ideally the solution is a hosted solution at the cheaper end of the scale that provisions instances for folk behind the scenes and sets it up correctly. The challenge there is building distinct containers for folk probably isn’t cost effective to bill someone for and there isn’t much value in building it to just hand Amazon most of the money. In a sense that solution exists, it’s IBM’s. Figuring out how to do the multitenant set up where you minimise the app overheads is the other question and how that works in with TapForm’s need to have an admin account to create a database ahead of time.

    That said it’s an interesting hosting problem to figure out how to provision databases and seeing how that works. Having ones own dedicated vCPU obviously makes performance a little more consistent but that obviously is an extra cost one is paying for as well.

    Of course the other challenge is bootstrapping such an endeavour as well.

    April 10, 2018 at 12:51 AM #28219

    Brendan
    Keymaster

    Ya, and I don’t really have the resources to build and manage such a system. Plus, my number one reason for not having a hosted solution is data privacy. I don’t want access to all my customer’s data like that. Other database apps provide their own hosted solution, but now you’ve got a situation where they have access to your data. Although I suppose it could be mitigated with encryption of the data before its sent over the wire, so it’s stored on the server in a user encrypted way.

    April 10, 2018 at 2:23 PM #28220

    Sam Moffatt
    Participant

    You’d have to encrypt the individual documents before they went across the wire which would mean encrypting them prior to writing to CouchBase Lite since it handles the replication there. Not sure how well that would work for TapForms and how that could negate advantages of CouchBase Lite’s document model.

    Encryption on the server though would definitely be desirable because none of the existing solutions provide this presently. That also impacts on the size of the data as well (think attachments) and obviously reduces some of the design advantages of CouchDB if it was done client side.

    January 2, 2019 at 2:24 AM #33079

    Eddzo
    Participant

    I set up AWS using bitnami
    AWS is running an instance of bitnami
    I have the .pem key on my desktop
    When I go to the terminal and try to tunnel to the AWS,

    I keep getting an error saying:

    Warning: Identity file /home/bitnami/Desktop/bitnami-aws-000000number.pem not accessible: No such file or directory.
    Permission denied (publickey).

    I’m at my wits end… Somebody please help.. lol
    I want my app to sync like a boss on AWS…

    January 2, 2019 at 11:26 AM #33084

    Brendan
    Keymaster

    You’re getting that error because the file /home/bitnami/Desktop/bitnami-aws-000000number.pem does not exist on the server. It’s on your local computer’s Desktop.

Viewing 8 reply threads

You must be logged in to reply to this topic.