Discussion:
[Lift] Deploying to AWS - Solution
James Sosontovich
2018-08-15 16:42:57 UTC
Permalink
Hi group,

... been running my Lift app on/with Amazon Web Services and wanted to
provide some insight into the initial problems I had with setting things up
using the Amazon Elastic Beanstalk service.

What I found was the Lift Framework has somewhat of a difficult time
handling environmental variables (well, handling the reporting of such
errors/crashes @ runtime) , especially when the values of these
environmental variables are unknown when its source code is first being
built. As for using Amazon's Elastic Beanstalk service, when I upload my
war file, i.e., my built project with a specific named set of environmental
variables and then configure my Amazon RDS during EB setup ... I must make
sure the following conditions are satisfied:

(1) That, in my Lift/Scala boot code, I'm using the correct names of these
environmental variables as listed by my Amazon RDS service.

(2) Or I can bypass using these environmental variables by hard coding
these db values into my Lift/Scala boot code. Of course this means I must
setup the Amazon RDS service, for example, before using Amazon's Elastic
Beanstalk, thus excluding this db step during the Elastic Beanstalk service
setup. This 2nd solution may not be the most eloquent solution but it's
the simplest and easiest way of getting things running on AWS beanstalk,
IMHO.

My Elastic Beanstalk Configuration is as follows:

Tomcat 8.5 with Java 8
running on 64bit Amazon Linux/3.0.1
Lift Framework 3.1.0
For use (& tested) with any Chrome browser vers. 68+

Amazon RDS: PostgreSQL

Just wanted to thank those who helped with this solution as I'm very
pleased with my Lift App up and running on Amazon. I hope this helps
anyone who decides to deploy their Lift Apps using Amazon's Elastic
Beanstalk service.

James

P.S. These solutions are actually straightforward if the concept/and use
of environmental variables is applied properly.
--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Matt Farmer
2018-08-16 04:05:47 UTC
Permalink
Yay! Happy to hear it's working well for you!
Post by James Sosontovich
Hi group,
... been running my Lift app on/with Amazon Web Services and wanted to
provide some insight into the initial problems I had with setting things up
using the Amazon Elastic Beanstalk service.
What I found was the Lift Framework has somewhat of a difficult time
handling environmental variables (well, handling the reporting of such
environmental variables are unknown when its source code is first being
built. As for using Amazon's Elastic Beanstalk service, when I upload my
war file, i.e., my built project with a specific named set of environmental
variables and then configure my Amazon RDS during EB setup ... I must make
(1) That, in my Lift/Scala boot code, I'm using the correct names of
these environmental variables as listed by my Amazon RDS service.
(2) Or I can bypass using these environmental variables by hard coding
these db values into my Lift/Scala boot code. Of course this means I must
setup the Amazon RDS service, for example, before using Amazon's Elastic
Beanstalk, thus excluding this db step during the Elastic Beanstalk service
setup. This 2nd solution may not be the most eloquent solution but it's
the simplest and easiest way of getting things running on AWS beanstalk,
IMHO.
Tomcat 8.5 with Java 8
running on 64bit Amazon Linux/3.0.1
Lift Framework 3.1.0
For use (& tested) with any Chrome browser vers. 68+
Amazon RDS: PostgreSQL
Just wanted to thank those who helped with this solution as I'm very
pleased with my Lift App up and running on Amazon. I hope this helps
anyone who decides to deploy their Lift Apps using Amazon's Elastic
Beanstalk service.
James
P.S. These solutions are actually straightforward if the concept/and use
of environmental variables is applied properly.
--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
https://www.assembla.com/wiki/show/liftweb/Posting_example_code
---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
James Sosontovich
2018-08-16 21:26:05 UTC
Permalink
Thanks, Matt

You guys were very helpful. When doing a Google search for: `deploy lift framework to aws` ... I found comments about ever since 3.0, Lift has become extremely unstable to handle, ... and that trying to get Lift working on Elastic Beanstalk is nearly impossible.


With a little help from the Lift community I found this not to be the case. In fact it's expected when trying to tie together two separate technologies. Trying to figure out AWS is a challenge in itself. Trying to integrate a Lift App into AWS using its Elastic Beanstalk service is even more challenging but it doesn't mean Lift 3.0+ has become unstable.

Perhaps Lift's error messages need improvement; however, it's hard to predict what an error message should be before the error situation even existed.

Again, Lift Framework is something different and I'm glad I found it for my project.

James
--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...