Windows Infrastructure as Code (IaC) support - windows-server-2012-r2

I am using on-prem infrastructure with VM:s, on Windows 2012R2. I've tried to find tools to incorporate IaC, but I haven't found any tool for this. Chef, Ansible, etc. are only for Linux if I'm not mistaken. I think for Azure there's something, but that I can't use here.

IMHO, you have missed something to conclude that chef is not meant for windows. Chef have extensive support for windows and azure.
You can start looking at chef documentations:-
https://www.chef.io/implementations/windows/
https://docs.chef.io/windows.html
For learning, you can refer:-
https://learn.chef.io/tutorials/learn-the-basics/windows/

Inedo Otter was built for Windows and integrates with PowerShell DSC. Might be a better fit if you're looking for a Windows strong IaC solution.

Ansible also does have support for Windows, check out the documentation here:
Ansible for Windows notes
Ansible Windows Documentation

Related

Does anyone know how to use AWS App2Container(A2C)?

AWS App2Container (A2C) is a recently launched feature by AWS. It is a CLI tool to help you lift and shift applications that run in your on-premises data centres or on virtual machines so that they run in containers that are managed by Amazon ECS or Amazon EKS. Since there is not much info on the internet about this, apart from the AWS document so does anybody knows how to implement it and what are the dependencies required for it?
This is a fairly new service so most people will be relying on reading at the moment.
For JAVA applications the setup instructions on Linux indicate that you just download the app2container package and then run the following over your code
sudo app2container containerize --application-id java-app-id
For .NET applications the setup instructions on Windows indicate that it is exactly the same process, run the install file and that will have all dependencies.
The best way to try and implement this will be by following these tutorials step by step. Also remember at this time it is JAVA or .NET only.

implement a tool that uses the technologies - Jenkins, Docker, Docker Swarm, and AWS

I want to implement a tool that uses the technologies - Jenkins, Docker, Docker Swarm, and AWS - to achieve a deployment tool that our team of developers can use to manage instances and deploys.
Please recommend what technologies should we (both administrators and developers) be using, what needs to be built and what sorts of machines must be having.
Any help here would be much appreciated.
Your question is too generic to provide a specific answer, as there are different approaches to implement what you are trying to achieve. IMHO the best approach would be to talk with your existing dev team & administrators and come up with a solution which all parties find easy to manage and maintain container based environment rather than specifying several specific technologies.
Each tool you have mentioned has different capabilities and also there are other tools that provide the same features which would be more ideal for your situation. (Thats why proper understanding between Devs and admins are necessary on what you really want to achieve.) .
Since you have asked about what kind of machines you must be having (I suppose this is on AWS env) try Core OS on AWS instances. CoreOS (Container Linux) will be the best option to manage and run your container based environments. [About CoreOS]
Jenkins can run in a docker container and issue docker commands to deploy new docker containers that reside in the same swarm as jenkins. You also need to hook into a software repo like git. Jenkins Blue Ocean is something you could look at for pipe-lining your dev->build->test->deploy->maintain pipes. Also, Travis-ci, github, JIRA, and Dockerhub are useful components to what you are trying to achieve.

Can i launch solaris EC2?

I need to launch solaris os in aws-ec2,
1) Do aws provide solaris ami?
My analysis-i searched but not found anywhere in aws marketplace.
2) can i create vm of solaris in local and than export to aws-ec2 using AWS VM import-export?
According to this link, no. Looks like they stopped supporting it back in 2011.
Ten years ago EC2 only supported Linux natively. AWS supplied the kernel, and the kernel was Linux 2.6.16 at that point in time. Right now AWS support other operating systems. Some users have had a lot of success running other OS's (e.g. Windows, but Solaris should also work) on top of the native Linux instances we provide, using emulation software like QEMU. For example see Enomaly (www.anomaly.net), and various postings resources on this Amazon Web Services site, e.g.
http://developer.amazonwebservices.com/connect/thread.jspa?messageID=47267
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=592&categoryID=101
http://developer.amazonwebservices.com/connect/entry!default.jspa?categoryID=100&externalID=507&fromSearchPage=true
Via Amazon.com

Is it possible to remotely run scripts in a guest OS using VCLI?

Using VMware OVF Tool 4.0, I'm deploying/powering on some VMs and would like to execute some scripts inside them. However, I was unable to assign injection properties to a VM, I.e: DNS, Gateway, etc. See OVF Tool documentation page 22 for more information: https://www.vmware.com/support/developer/ovf/ovf400/ovftool-400-userguide.pdf
This below link was helpful but the associated properties were not assigned, when I tred this:
http://www.virtuallyghetto.com/2014/06/an-alternate-way-to-inject-ovf-properties-when-deploying-virtual-appliances-directly-onto-esxi.html
As an alternative, I would like to remotely run a setup script that resides in the VM.
I'm seeing from articles online that Power CLI cmdlet Invoke-VMScript is a common choice. Link shown below:
https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Invoke-VMScript.html
Is there an alternative method to this cmdlet? Is there a similar command that VCLI has to offer? Any assistance would be great. Thanks in advance.
Regards,Gabriel
I researched VIX API using Perl, and I'm now able to run remote scripts from a VM.Link: https://www.vmware.com/support/developer/vix-api/Regards,Gabriel

Utilizing EC2 or Azure to scale out a distributed C# build system?

Quite a few build and CI systems support steps for pushing build output to Azure, but I haven't seen any which can actually run on Azure (or EC2). Ideally I would like to be able to spin up an arbitrary number of instances (depending on the # of pending submits) to deal with the actual build + quality gates (UTs, FXCop, other static analysis tools) + source repository checkin process.
Are there existing tools which can do this, or has anyone built something which they can discuss?
Thanks!
[Edit: I found this question which is quite similar but didn't have any informative answers, so I'll keep my question alive]
If you're using Git or Mercurial for source control, AppHarbor might be what you're looking for. It's a CI build/deploy environment that runs exclusively in the cloud (EC2), and can deploy build output to Azure.
Here are some links for reference:
http://sourcecodebean.com/archives/appharbor-heroku-for-net/987
http://lostechies.com/chrismissal/2011/03/12/using-appharbor-for-continuous-integration
http://haacked.com/archive/2011/05/12/making-let-me-bing-that-for-you-open-source.aspx
http://appharbor.com/page/pricing
The open souce Jenkins CI server has an EC2 plugin that will spin up EC2 instances automatically depending on your build load. I couldn't find anything for Azure, but I highly recommend Jenkins - it's easy to configure, well maintained and has stacks of features.
Continuous Integration on Windows Azure http://code.google.com/p/cassis/ (over Mercurial)
Disclaimer: work produced by my 1st year CS students
Also Teamcity has support for this: http://www.jetbrains.com/teamcity/features/amazon_ec2.html