Drupal with Amazon Web Services? - amazon-web-services

I'm not sure if this is the write place to ask, but this is the only site I know where I get my questions answered... anyways
I wanted to install drupal but where should I host it? Can amazon web service host this such application? Do I need to go somewhere else and host it? I do have an account with inmotionhosting, but I was thinking if Amazon does the job, why not just use it? Any thoughts and opinions?

You can install Drupal on AWS EC2 if you have sys admin experience. Otherwise you will need to use a managed platform, like Cloudways, for that. Configuring web server like Apache and Nginx, cache like Varnish and Memcached and other features on AWS is little difficult. Many managed servers have those features available in their platform so you don't have to configure anything or go through long process of installing application on AWS.

Amazon Web Services (AWS) will host Drupal no problem.
The service you're looking for is Amazon Elastic Compute Cloud (Amazon EC2). It's pretty much equivalent to a private server with which you can do almost whatever you want (Web hosting included). The downside is that you have to do all the setup yourself.
If you don't know how to install Apache or configure your own Linux machine, you'd probably be better off with managed hosting where they'll set everything up for you.

You can also just use AWS Cloudformation to set up your drupal environment. It's a service that is part of AWS that will set up your stack for you. you may still need to know how to handle your config files but at least you do not have to go into installing the DB , Apache etc all manually.
http://aws.amazon.com/cloudformation/

Bitnami provides a free (Apache-licensed) pre-built Drupal image for AWS that you launch easily. It is great for quickly testing something but if you choose the right instance for your expected load, also for production (disclaimer: I am a cofounder of Bitnami, though as I mentioned the image is open source)

Drupal can be deployed and hosted automatically on Jelastic PaaS. You won't need to configure it from scratch. And if you wish to make some custom settings while installation, you can also easily install it manually. Both variants are described in the guide.
As a result, you'll get automatic scaling, pay-per-use pricing, management via intuitive UI, a wide choice of local service providers from different countries and other options to run your Drupal effectively.

Related

AWS: need guidance to deploy my Django Project

I have a Django web app. I am planning to deploy on the AWS web server.
I am using celery and rabbitmq que manager for my application.
I have read about the AWS services.
I have two options use :
1) AWS Elastic Beanstalk or
2) Create an EC2 instance of linux and install postgresql, celery, rabbitmq etc
So which is better to use.
AWS EC2 is always a better option as it gives you complete access on the OS and physical access to the data storage. This will help you to manage your application is a much more efficient way. Also EC2 instance can not only host a single application but can have as much ever applications that you require(depends on the capacity/instance type of the server). This will let you tweak the webserver proxy as well.
In case of Beanstalk you do not get similar options, you have to manage the applications with the options that are available to you.
To summarise:
In case you want complete control of you application - Use EC2.
If you are looking for a managed service wherein not much control is required you can opt for Beanstalk. Personally I would like to have the entire control over my application ;)

I'm just trying to understand the difference between AWS and a smaller site like siteground. How does it interact with an actual website

I think we're using S3 but I'll be sure in a couple of hours when I get into office. I'm just trying to understand the difference between AWS and a smaller site like siteground. How does it interact with an actual website. I am used to cpanel and FTP and having a whole bunch of utilities to work off of. But I don't see much support on AWS and I just want to understand the differences at this point. Can you please help
Siteground will provide you a pre-installed environment for your website set up, either for dynamic(php) or static files(html). where AWS S3 will only allow you to host static files, you may install your own web server in ec2. You might face issue while setting web server with AWS EC2.
For Comparison between both of them, you can check this article Amazon Web Services (AWS) vs. SiteGround
Thanks :)

Spring boot/cloud microservices on AWS

I have created a Spring cloud microservices based application with netflix APIs (Eureka, config, zuul etc). can some one explain me how to deploy that on AWS? I am very new to AWS. I have to deploy development instance of my application.
Do I need to integrate docker before that or I can go ahead without docker as well.
As long as your application is self-contained and you have externalised your configurations, you should not have any issue.
Go through this link which discusses what it takes to deploy an App to Cloud Beyond 15 factor
Use AWS BeanStalk to deploy and Manage your application. Dockerizing your app is not a predicament inorder to deploy your app to AWS.
If you use an EC2 instance then it's configuration is no different to what you do on your local machine/server. It's just a virtual machine. No need to dockerize or anything like that. And if you're new to AWS, I'd rather suggest to to just that. Once you get your head around, you can explore other options.
For example, AWS Beanstalk seems like a popular option. It provides a very secure and reliable configuration out of the box with no effort on your part. And yes, it does use docker under the hood, but you won't need to deal with it directly unless you choose to. Well, at least in most common cases. It supports few different ways of deployment which amazon calls "Application Environments". See here for details. Just choose the one you like and follow instructions. I'd like to warn you though that whilst Beanstalk is usually easier then EC2 to setup and use when dealing with a typical web application, your mileage might vary depending on your application's actual needs.
Amazon Elastic container Service / Elastic Kubernetes Service is also a good option to look into.
These services depend on the Docker Images of your application. Auto Scaling, Availability cross region replication will be taken care by the Cloud provider.
Hope this helps.

Amazon Web Services (AWS) - Web Development and IDE Workflow

I'm completely new to AWS and due to the many different types of services they offer I'm having trouble really figuring things out, so I'd love to get some input and fresh insight.
If I want to setup a development environment to play around with what would be the best course of action? (Please explain in detail, because like I said, I'm completely new to al of this)
How can I integrate my preferred IDE (Dreamweaver or Sublime Text 3) into my AWS workflow and web/application development process because it seems nearly impossible to be able to integrate these IDE's with any of the AWS services like EC2 or Elastic Beanstalk. Typically I would just connect my IDE via FTP to my hosting server but that doesn't seem possible with any of AWS' services. I know in many instances you can SSH into these work files and modify them via terminal (ex. using nano) but clearly that isn't a very user-friendly means of developing by any stretch of the imagination.
The underline gist of this post is that I'm trying to understand what the best website/web-application development process might be when using Amazon Web Services (ex. using s3/cloudfront as a CDN and using EC2 or Elastic Beanstalk for the application itself), as well as trying to understand how to correctly interact with various service environments so that I can still use my IDE of choice to add/modify/delete and push/pull files/directories from the various AWS services that I'm using.
Please explain any answers in detail and thanks in advance for any and all insights!
(As a side note I'd like to use PHP/MySQL, as well as MEAN, AngularJS, and other implementations of MongoDB/PostgreSQL)
Many Amazon services, including EC2, support SSH/SFTP. The SFTP is supported by both Dreamweaver and Sublime Text 3.
See my guide for connecting to Amazon EC2 with SFTP. It's for WinSCP client, but you can easily reuse it for configuring Dreamweaver or Sublime Text 3.

AWS Elastic Beanstalk - Using Mongodb instead of RDS using Python and Django environment

I've been following the official Amazon documentation on deplaying to the Elastic Bean Stalk.
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python.html
and the customization environment
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html#customize-containers-format
however, I am stuck. I do not want to use the built in RDS database I want to use mongodb but have my django/python application scale as a RESTful frontend or rather API endpoint for my users.
Currently I am running one EC2 instance to test out my django application.
Some problems that I have with the Elastic Bean:
1. I cannot figure out how to run commands such as
pip install git+https://github.com/django-nonrel/django#nonrel-1.5
Since I cannot install the device mongo driver for use by django I cannot run my mongodb commands.
I was wondering if I am just skipping over some concepts or just not understanding how deploying on the beanstalk works. I can see that beanstalk just launches EC2 instances and possibly need to write custom scripts or something I don't know.
I've searched around but I don't exactly know what to ask in regards to this. Top results of google are always Amazon documents which are less than helpful in customization outside of their RDS environment. I know that Django traditionally uses RDS environments but again I don't want to use those as they are not flexible enough for the web application I am writing.
You can create a customize AMI to your specific needs the steps are outline in the AWS documentation below. Basically you would create a custom AMI with the packages needed to host your application and then update the Beanstalk config to use your customize AMI.
Using Custom AMIs