Using Vagrant to launch Windows on AWS - windows

I have been learning how to use Vagrant and can successfully launch linux instances in AWS using Vagrant, but I cannot launch Windows and cannot find any resources online that help in this particular situation. I'm really looking for some more documentation and/or a better explanation of the differences since there is not very much official documentation.

Related

What we install in Virtualbox using Vagrant?

I just started learning Vagrant and succeeded in using it. I went through this vagrantbox.es where we "download" the "templates".
I have some doubts and would be great if anyone can explain me:
1) Vagrant --> My understanding is t hat it helps in automating installing the Virtual machines in Virtualization software like Virtualbox. Is this correct?
2) Now, as per the instructions that I followed in one of the video tutorials, we need to 'download' the VM, from this link.
My doubt is what are we downloading from the link in point #2? Using Vagrant, are we downloading a VM (and which gets installed into Virtualbox, for example?). Can't we use any .iso image and let vagrant install it? I am bit confused here.
Can anyone who has used vagrant explain what exactly are we downloading?
2) Now, as per the instructions that I followed in one of the video tutorials, we need to 'download' the VM, from this link.
Must be a bit dated tutorials, even though it is still a good reference, nowadays people will download boxes from https://atlas.hashicorp.com/boxes/search. The platform is officially supported by hashicorp but everyone can upload boxes into the platform, and you can directly reference boxes from atlas such as ubuntu/trusty64 in your vagrantfile and vagrant will know how to download the box and install it for you so it saves you some steps.
My doubt is what are we downloading from the link in point #2? Using Vagrant, are we downloading a VM (and which gets installed into Virtualbox, for example?). Can't we use any .iso image and let vagrant install it? I am bit confused here.
There are some 'official' box supported by hashicorp. Some organization like laravel pushes their own official boxes (like laravel/homestead and they support virtual box and vmware provider). It will be up to you to review the box you reference and make sure about its source.
you can create your own box from the OS iso using tool such as packer you will find plenty of available packer templates on github to create boxes for different OS flavors
And finally, are these images "full" OS plus the tools (e.g. tomcat, php as you described)
This will depend - in the case of Laravel they would provide a box with OS + the stack but generally the boxes are minimal (and you want to keep it this way). You will provision this using a tool of your choice (shell, ansible, puppet ...)

Deploy ruby on rails application built on windows

I'm looking on ways to deploy a ruby on rails 4 app built on windows 7 box. I'm looking to use Heroku at the moment.
Can you please provide any pointers regarding heroku or any other easier and cheaper deployment options available out there..
Any issues That I may face due to the difference in OS in the dev environment (windows) and the deployment environment (linux on heroku)?
This is my first professional app, so any pointers will be helpful for now and also for future applications that I may work on.
Also what is the more preferred OS for ruby on rails development ?
Thanks in Advance!
You probably won't face any issues with deployment on Heroku. Heroku is the easiest option out there (albeit one of the priciest once you're off the free tier)
What's more likely to happen on Windows is that you'll find it hard to build certain gems for development, and cutting edge releases will probably not work well.
Much better to pick up a Linux distro for this.
You can also check out bluemix , which is also free for small projects. I know Heroku is not particularly windows friendly, not sure if bluemix is any better in that reguard, but it is extremely easy to deploy to.
Heroku has set of tools called heroku toolbelt, that makes easy to deploy apps to heroku. you can download heroku tool belt for windows from here
Generally you should be able to port any rails app you develop in windows to Linux/Mac, how ever since the ruby/rails community is largely built around Linux/Mac, responses/options to your issues regarding the rails apps will be low. and there are some gems which doesn't work on windows at all. So its best to move to either Mac/Linux if you are planing to continue on rails.
Once you come to Linux/mac world there are lots of providers much cheaper than heroku like DigitelOcean, however heroku would be the easiest for a beginner I believe.
HTH
One strategy you could try is to do the following:
Set up a VirtualBox or VMWare VM running Linux (Ubuntu would be a good candidate if you are not used to Linux).
Get your project into the VM and get the bundle install and everything working in Linux, you will probably find you need to make some changes in your Gemfile if you have anything windows specific there.
Install the Heroku tool-belt on the Linux VM and install to Heroku from there.
Taking the Windows / Linux transition pain on your local machine will make it much easier than Windows direct to Heroku.

How to install windows updates on multiple clients using YUM on CentOS server

I need to do a installation of windows updates (OS and Microsoft Security Essentials) on multiple clients using Cent-OS Server. I'm not very familiar with Linux systems and I cant find an appropriate tutorial On the internet.
Give OPSI a try, this is an OpenSource Deployment Solution which works on CentOS:
http://www.opsi.org/
This is an integrated system to deploy full installation as well as simple updates or rollouts.
yum installs RedHat/CentOS/Fedora RPM packages on RedHat/CentOS/Fedora systems. It doesn't have anything to do with Windows. It doesn't understand exe files or anything like that.
I'm not even sure where to begin to understand what the question you are actually trying to ask is... unless your question is really just as confused as it sounds and you are failing to understand the difference between package managed linux systems and Windows systems.

Create a dev/test cloud on a box or two

So I have a similar question to Recommended setup for a "hom dev cloud"? I want to run VM's on an old desktop basically. Everything I've seen for installing EC2 eucalyptus or openstack has been on bare metal. I tried to install on ISO on a vm, but it wouldn't install to a VM. Is it possible to have test environment on one server where I can programmatically spin up vms as I would with a public cloud?
Thanks!
Since you are interested in deploying your cloud as a VM, you should also consider Apache Cloudstack. Have a look at DevCloud for a VM image.
It appears this will work for openstack http://devstack.org/guides/single-vm.html. Is there anything similar for ec2 eucalyptus?
For eucalyptus you could take a look at eucadev:
http://sigtt.in/articles/2013/11/25/introducing-eucadev/

How it the experience with new Amazon's Cluster GPU Instance of EC2?

Amazon released EC2 - Cluster GPU Instances and I wonder what's your experience with it? Is it stable, does it require a lot of time to install new drivers, SDK etc. before you deployed your CUDA code?
I haven't yet deployed a gpu instance, but I can tell you that the OS image already has the drivers setup for you.
Now in terms of installing CUDA, and getting your code ran thats anotother stody. If you haven't tried EC2 at all then I can tell you on a normal instance - I can install gcc/g++ and svn; setup a repository and have my code run in 5-10 minutes.
EDIT: I was looking through the documentation and found this: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Cluster_GPUs_Install_Driver.html#d0e18924 this talks about reinstalling or updating the NVIDIA drivers

Resources