How Do I use Amazon ElastiCache in grails app? - java

I'm very new to Amazon web services and Grails. I want to use Amazon ElastiCache as my cache tool in Grails application.
I searched in google, but I didn't find any resources for it.
Can anybody say me how to configure grails app in order to use elasticache?
Thanks in advance.

I don't know Grails, so I'd recommend digging into this a bit, but ElastiCache is simply memcached. Have you tried the Grails memcached plugin? The user guide looks quite easy to configure. You'd need to specify the hosts as their AWS URLs and configure the ElastiCache SecurityGroup settings appropriately.

Related

Actions On Google Deployment using webhook

I am using Java Client Library to use google Dialogflow. My questions is what happens when we use "appEnginedeploy" using gradle? Where is the code stored and more importantly how the implemented database and other files of code stored and accessed by our agent?
Thanks!
appEngineDeploy is setup to deploy the code to App Engine, a computing platform on Google Cloud. Code and associated project files are stored as they are in your project.
It's not entirely a VM, so you shouldn't necessarily think of App Engine as locating filepaths. If the project can make the links locally, then it should behave the same way in App Engine.
With regards to databases, it would depend if you're using an embedded database or using a hosted solution through another Google Cloud service. Presumably you'd use the database APIs for a Cloud service as shown in the documentation.

How can I put a spring application on website?

I have basic question. I have some application for example this app use spring boot. When I start this app I can use it in my browser under:
http://localhost:8080/myApp
Lets say that I have bought a domain name:
www.myApp.pl
What shall be done to deploy my app on this server?
You can deploy your Spring Boot application on Heroku platform.
The following document is useful for the deploying stages : https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku
Then you can follow these steps to customize domain name : https://devcenter.heroku.com/articles/custom-domains
Easy way to publish an Spring Boot app on internet is using AWS Elastik Beanstalk
This youtube video will guide you on that https://www.youtube.com/watch?v=oBZXxWY0d04
Then AWS has a service named Route53 that will help you to connect that server with your domain.
Good Luck
I found a great video on how to make your application on Internet from any device. https://www.youtube.com/watch?v=wFjYzhkEBys
Basically you can configure port-forwarding in your router settings and there you go! I was so excited to find this solution, because all you need is your internet provider and technical capacity

How to go about creating a user authentication system for a Java web app on AWS Elastic Beanstalk?

I am trying to build a user authentication system for my Java web application, a basic inventory management system. I want to use AWS Cognito to keep track of all user information, and I am planning to deploy this app to Elastic Beanstalk, where it will also use some AWS database storage (DynamoDB or RDS, to be determined) to store the inventory data. This is my first Java web application so I am having a bit of a hard time understanding how the different technologies can work together.
After doing some research on building a user authentication system for a Java web app, it seems that Spring MVC would be a great framework to use as it would eliminate a lot of the grunt work with building a login system. However, pretty much every guide I have come across for a Spring MVC login system in Java requires Gradle or Maven. (I would be using Maven since I'm more familiar with it.) This is fine for when I'm running my project locally, but I'm concerned about how this will work when I want to upload my project to Elastic Beanstalk. It seems that the only way to deploy a a Java application from Maven to Elastic Beanstalk is with a open source project called Beanstalker, and I'm worried that if I develop my application using Spring MVC and Maven, when it comes time to put my project on Elastic Beanstalk I won't understand how to use this tool/it won't work properly.
So here are my main questions:
Would Spring MVC be a good tool to use in building my user authentication system? Is there a different framework I should look into?
Does using Spring MVC absolutely require the use of Gradle or Maven, or is there a way to build a user auth system with Spring MVC without it?
If I do use Spring MVC to build the auth system with Maven dependencies, will I have a hard time deploying it to Elastic Beanstalk, or am I overthinking it?
Thanks for any information, I greatly appreciate it.
Sure
Spring MVC does not require a specific dependency management tool
No more difficult than deploying any other Java app to EB
Note, you dont have to deploy using Maven just because you use Maven for dependency management. You would typically use the official Elastic Beanstalk command line tool to deploy your application.

How to upload Servlet/JSP website through Amazon Web Services?

I am working on a Servlet/JSP project and I want to host it on aws.amazon.com. I have already signed up for Amazon Web Services and after signing in this page opens up and I have no idea what to do or which option to select.
I think AWS provides a lot of customization with a lot advanced technical options to choose from, but this is difficult for beginners who just want to make their site running.
My project will use these:-
JSP/Servlets
CSS
MySQL
Struts2
Tomcat WebServer
I would suggest these approaches to study:
Elastic BeanStalk - This is AWS simply hosting model. If you're not IT savy you should pursue this approach
EC2 with MySQL RDS - In this case you'll create a Virtual Machine(s) (EC2) install Tomcat and other dependencies and deploy your app. You'll then use RDS to store your data (which is MySql as a service)
EC2 only - YOu'll do the same as 2. but install your own instance of MySql. There may be AMI's offered that you can provision that will meet your application requirements.
Other reading:
Route53 if your going to use AWS for your domain records
Elastic Load Balancing if your going to need High Availability
Elastic Block Store if you want persistent disks accross VMs
Network Security Groups to secure your VMs (for 1. and 2.)
Virtual Private Cloud for additional security
CloudFormation if you want to automate provisioning
There are many articles on: AWS Architecture
There is a eclipse plugin for Amazon web services.
The AWS Toolkit provides an AWS Java web project template for use in Eclipse. The template creates a web tools platform (WTP) dynamic web project that includes the AWS SDK for Java in the project's classpath. Your AWS account credentials and a simple index.jsp file are provided to help you get started. The following instructions assume you have installed both the Eclipse IDE for Java EE Developers and the AWS Toolkit plug-in. For more information, see Setting Up the AWS Toolkit for Eclipse.
Also check this & this
I would recommend 1st approach using Beanstalk to deploy your jsp application. There you are going to leverage all the advantages of AWS like load balancing, auto scaling, ddb and DW support and many other technologies. With Beanstalk you setup dev environment on your local machine and deploy the changes in AWS and once setup is done you are done...
May be you will need to spend some time on migrating from MySQL but that will be work on longer duration when you are going to have lot of users.

How can New Relic keep my Java site up?

Is it possible to use New Relic on my Java site? I built it with JHipster Yeoman generator and deployed the WAR file to Heroku. I setup New Relic. I looked at the default policy. It appears to have a pinging service, but I am wondering if I have to do something in addition to keep my site up. Maybe create a route for the pinging service?
From looking at the Jhipster site, it says it creates a Spring boot backend: https://jhipster.github.io/
Providing the version of spring used is v3 or v4 it should work. (I was unable to verify what version boot actually uses)
https://docs.newrelic.com/docs/agents/java-agent/getting-started/new-relic-java
This looks like it should work to me, trying it is the only way to know for sure. Here is the heroku-newrelic-java install doc:
https://devcenter.heroku.com/articles/newrelic#java-installation-and-configuration
The ping service will attempt to connect to your site over http/https from external locations, to verify that it can be reached. You shouldn't need to do any additional configuration on your site.

Categories