Deploy Symfony2 on Amazon Web Services - symfony

I am looking for some advices about deploying a Symfony2 web application. I got introduce to Amazon EC2 few days ago and we decided to use it to deploy our app.
Actually I am basically looking for a well set up AMI to get start. I have been quite disapointed that the Elastic Beanstalk doesn't have a native support for PHP based apps.
I have been developping on a wamp server and and my app will communicate with an Oracle database also in Amazon RDS (that's why we choose Amazon ).
I have checked this website http://bitnami.org/cloud/bitnami-applications-in-the-cloud that provides a Lamp stack. What do you think about it? The point is that I am not used to Unix base OS and I would appreciate an AMI that doesn't need many configurations.
Thanks,
Swordi

Elastic Beanstalk now provides direct support for PHP.

Bitnamis CloudImages are pretty solid and well maintained, so it's an easy way to get your server up and running without too much headache as Unix beginner. Maybe their Cloud Hosting is an option, too.
On the other hand it's good to know what's powering your web applications and how this "stuff" works. Take a look at this article about building a LAMP on EC2: Building EC2 Amazon Linux with LAMP.
You can also go with this tutorial:
"Running phpMyAdmin On Nginx (LEMP) on Debian Squeeze / Ubuntu" in conjunction with Debian or Ubuntu CloudImages.
Hope that helps :)

Related

asp.net MVC 5 hosting setup

Note: because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Since Windows Server 2016 supports Docker and you are able to create .net 4.5 images, I thought why not review my applications and hosting plans.
Because I'm not a fan of hosting websites directly on a VPS with IIS (setup and configuration seems clumsy), I thought this "infrastructure" seems ideal for me.
A Windows 2016 VPS
A Linux based VPS
For each asp.net application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right? This application will run on the Windows 2016 server.
On the Linux VPS, I will have nginx configured to have all the configuration for SSL certificates and optimizations. Nginx will have proxies that point to the Windows 2016 VPS on specific ports for the different applications.
I think this architecture has scaling possibilities, less configuration on the Windows VPS, more room for improvement? It should even be possible to do this with Ansible if I'm not wrong.
I only need hosting, nothing related to email, ftp, ... That's why I'm not using shared and/or cloud hosting.
Does this architecture seem fine?
Am I missing something?
Would you still just use a Windows VPS for hosting asp.net applications, even if this architecture is possible?
Does this all seem possible with Ansible? I only have basic experience with it.
I don't see anything wrong in your proposal. Remember you can use ansible inside the Linux image's Dockerfile. Maybe you can find that it is an overkill but it should work.
Probably you will find some problems linking your Linux / Windows containers. But I don't see anything short stopping.
Go ahead and post your results. Also if you encounter some walls just ask here and we will try to help.
Regards
because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Would you mind telling us a bit about your requirement of Windows Hosting?
For each asp.net http://asp.net/ application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right?
Once fully functional pre-configured image is prepared, you don't have to perform any other changes to your main image. The main image is only modified when you want to update any application in the image or looking to make any changes or update Windows OS.
Does this architecture seem fine?
NGINX reverse proxy works with IIS backend, so, this proposed architecture is achievable. Initial setup of connecting Linux VPS NGINX web server to individual Windows docker image is slightly complex. If you are successful doing that, the next challenge will be adding subsequent dockers to Windows Hyper-V. Here, I don't see actual purpose of using Docker images to host ASP.Net http://asp.net/ applications, when you can easily deploy pre-installed VMs through Windows HyperVisor.
As far as Ansible is concerned, I don't have much idea about this product, but as seen on their website Ansible can automate the dockers.

Host nodejs app and Wordpress website

I need to host 2 solutions. The first is a nodejs app which should be consumed using sockets from various client apps (mobile, website...). Then, a Wordpress website. Both must have the same database because data has to be shared between the website and the nodejs application.
So, which cloud provider can be the best to host these two projects ? Something like AWS or Azure (Websites, cloudservice, VM, ... ?), or OVH or Ikoula which are really less expansive.
Thanks!
I know AWS will work. I haven't really dealt with the others yet. I use AWS for quite a few projects and so far I've had no issues.

Hosting java web application with oracle database

I have been trying to find out how best I can host a JavaEE5 web application with Oracle11g database. I have got my domain registered and currently pointing to my Jboss web application on my laptop.
I would like to host it for a while untill my application gets finished and ideally would like to go on hosting on a professional company server when I start getting increased traffic.
Firstly, to host at my home I want to use a separate dedicated server. Can you please let me know what options I have? Because I have no clue on what to purchase.
Secondly, when I want to go with a professional company server, which ones should I consider that supports JavaEE5 deployments and Oracle11g databases? Let me know if you need more details.
Personally I have experience with OpenShift. Free plan offers JBoss AS 7.1.1 and MySQL or PostgreSQL, but it's very slow (you might want to try these two my demo applications: personal site and e-shop). Paid plans looks for me too expensive here. This solution might be appropriate if you don't wanna configure application server and database.
Another possible solution is Amazon Web Services. There are such services as Elastic Beanstalk that offers you different servers including Tomcat, Amazon Relational Database Service that offers you Oracle Database as well as other RDMSes, and Amazon Elastic Compute Cloud that enable you install JBoss AS yourself even if Beanstalk with Tomcat doesn't work for you. It looks like AWS is cheaper than OpenShift, but as for me, EC2 is still expensive. Check if price works for you. Buy the way AWS has a free tier the first year of usage that includes EC2 instance. So if you're sure that your project will long less than a year, it might be a good choice. ASW would be appropriate for you if you are ok with Tomcat instead of application server and you don't wanna configure application server and database.
Also I heard positive comments about Digital Ocean, but never tried it. It looks like it offers only infrastructure as service (like AWS EC2) so you will have to install and configure all servers yourself.

neo4j heroku hosting

I have a web application deployed on heroku. I just introduced Neo4j as data structure and, of course, I have to integrate it in production on heroku. I read on this link http://wiki.neo4j.org/content/Neo4j_Heroku_Addon that the heroku addon for neo4j is currently on beta testing. So have looked for alternative ways and I found this link: http://wiki.neo4j.org/content/Neo4j_in_the_Cloud ... do you know if it's possible to include such integration on heroku without the addon ?Tnx
If you are a registered beta tester on heroku you can already use the add-on for free.
Of course if you want to run the Neo4j REST server on your own aws ec2 instances you can do that easily (there are also preconfigured AMI's). Please make sure that your ec2 instances run in the aws us-east region as this is where heroku's machines are located too.

Can WampServer be used successfully in production?

Can WampServer be used successfully in production? Is this a bad idea?
So everyone knows, and I don't see how this mattered, we've paid for a windows dedicated box and we have existing IIS apps. We just wanted to use a PHP based CMS which installs easier on apache (since it has some dependencies). So, as the title indicated, windows, apache, php, and mysql are requirements.
Additionally, I'm talking specifically of the WampServer flavor of WAMP.
If you're not going onto the internet, there isn't any reason really not to. Of course you'd have to look at all the normal caveats - backups etc.
Instead of using an already made one, why not try to do your own? It would be a good learning experience and really they aren't that hard to get working together.
WAMP is approriate for production of an Intranet. We developed a solution with FLEX (front END) /PHP/MYSQL (BACKEND) and it's been working very well for a year now. You just have to secure the Server on which WAMP runs. WAMP is just a tool for configuring APACHE/PHP/MYSQL on a Windows plateform with ease.
WampServer themselves says they are not appropriate for production, only for development. Security issues, load balancing, etc., are definitely part of it... plus, deploying Apache on Windows is just a nightmare.
Use LAMP. Alternatively, use IIS... if you're going to deploy a Windows production server (don't), use IIS.
LAMP is more stable, but i have wamp running intranet-sites succesfully in two organisations with over a 1000 users.
I don't see why not, but why use Apache on Windows when you can quite easily install PHP on IIS?
I love how the only guy who answered the actual question by paying attention to the fact that the OP was asking about the all in one product that is WampServer has a -1 rating. To reiterate what he said though, yes it would be a bad idea to use it in a production environment.
I'm using WAMP over Windows Server 2003 as a production server for an Intranet. accesing MySQL and SQL Server toghether.
We are not too many users, but I had no problem so far.
Easy configuration, easy maintenance, posibility to autenticate domain users in Apache...
Perhaps with heavy load environments it's not so good, but for me is the perfect sollution by now.
YES, it can be used in production under condition that you install the secure WAMP distro. And yes it can run on Internet and not just intranet.
Here is a link to a secure WAMP for production where you can customize the security level and other settings to suit production environment.
http://securewamp.org/en/
Windows and WAMP can be successfully used in production even on high traffic websites however you will need to make changes and switch from mod_php to FCGID.
Why not just use LAMP? PHP code is portable. I used WAMP for development, LAMP for production.
WAMP would probably work for production, but why not just use LAMP?

Resources