is there a way I can run a CosmosDB emulator on a Linux machine? I need to setup a development environment for Azure Functions projects. There is a solution for storage (Azurite), I wonder I can find the same for CosmosDB.
(Running a virtual machine is not an option for this case)
The short answer: Today you need a Windows VM to run the Emulator on Linux or any non-Windows platform. We publish a docker image which runs in Windows containers and they aren’t supported on Linux. We’re actively looking at the possibility of a port but that work is at an early stage.
Related
We have source code with combination of .net 4.0 and C++ (CLI C++). To build this code we use visual studio 2015 and visual studio 2010 both at the same time. To build the C++ source code we using VS 2010. Now as we are migrating to azure devops we need create build pipelines. One way to achieve this is to create a self hosted windows agent and install vs 2015 and vs 2010 on it.
Is there a way to make this containerized? Can we create a custom container image with vs 2015 and vs2010 already installed?
You can use docker inside virtual machine for containerization, You can set up a self-hosted agent in Azure Pipelines to run inside a Windows Server Core (for Windows hosts), or Ubuntu container (for Linux hosts) with Docker. This is useful when you want to run agents with outer orchestration, such as Azure Container Instances.
Both Windows and Linux are supported as container hosts. Windows containers should run on a Windows vmImage. To run your agent in Docker, you'll pass a few environment variables to docker run, which configures the agent to connect to Azure Pipelines or Azure DevOps Server. Finally, you customize the container to suit your needs. Tasks and scripts might depend on specific tools being available on the container's PATH, and it's your responsibility to ensure that these tools are available.
Here is the reference doc https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops
As per my knowledge number of container we run inside the VM is completely depends on the VM size( hardware configuration)we choose. we do have different VM size available in azure.
if you want to run more containers, I would recommend to go with AKS,Azure Kubernetes Service (AKS) simplifies deploying a managed Kubernetes cluster in Azure by offloading the operational overhead to Azure. As a hosted Kubernetes service, Azure handles critical tasks, like health monitoring and maintenance. Since Kubernetes masters are managed by Azure, you only manage and maintain the agent nodes. Thus, AKS is free; you only pay for the agent nodes within your clusters, not for the masters.
I am trying to migrate Linux VM running on AWS to Azure but it has Kernel version (4.4.0-1088-AWS) which is not supported with Azure.
I tried to use Azure Site Recovery to replicate the Virtual machine directly to Azure but the mobility service agent is not installing there due to Kernel version not being supported.
Is there any way to migrate those VMs or Is there any way to clone the same VMs to Azure by creating a new instance and moving data and configuration.
Current OS Version is Ubuntu 14.04
You can create new instance as per requirement Ubuntu version and then copy manually data
You can treat the Linux VM as physical and migrate to Azure using Azure migrate or Azure Site Recovery.
For more details, see a similar discussion on the MSDN forum - https://social.msdn.microsoft.com/Forums/en-US/e542831d-a506-495f-8d4b-61e093c5345a/migrate-from-aws-to-azure?forum=hypervrecovmgr
I have a little OS that I'd like to start and use in Azure and thought about running a VM inside a WorkerRole. I know it is possible to use Azure VM roles for that but my exercise is to run it from inside a Worker/WebRole. Is that possible?
I tried installing VirtualBox and running that in a WorkerRole but when running the OS my WorkerRole just reboots.
Any help appreciated.
You cannot run a VM inside a VM in Azure. A Worker Role (or instances of a Worker Role) are already Windows Server 2008 / 2012 VMs. As #Robert pointed out, Azure has support for Virtual Machines, whether Linux or Windows, where you have complete control of its contents.
Regarding I have a little OS that I'd like to start: You can only run supported OS's that are listed in the Virtual Machine gallery: Ubuntu, CentOS, Windows Server, SUSE currently. More info on Linux VMs here, Windows Server here.
What you are trying to do is not technically supported by Microsoft and is not recommended (even if you could easily) since Azure is constantly taking down and bringing back up your Web/Worker role instances in a deployment.
This means that any manual changes made to your WorkerRole will be undone any time Azure bounces your deployment (i.e. data center issues, migrations, etc.) This happens much more often than you'd think.
You should check out Azure's VM support which may have what you need.
Is it possible to use OSX to publish website changes via the command line (not through the git method)?
If not, then how would a UNIX based build server do continuous integration deployments for azure websites?
Yes, I believe you can still do this even if you're avoiding git (why?), because you can use FTP.
I think you need the 'Windows Azure command-line tools for Mac and Linux'
"This tool provides functionality for creating, deploying, and managing virtual machines and websites from Mac and Linux desktops. This functionality is similar to that provided by the Windows PowerShell cmdlets that are installed with the Windows Azure SDKs for .NET, Node.JS, and PHP."
Is it possible to port existing node.js applications to Windows Azure platform? I currently develop on my Mac but will need to deploy the application to Windows Azure in a near future.
You may also want to check a video on Channle 9.
node.js on Azure : http://channel9.msdn.com/Events/Patterns-Practices-Symposium-Online/Patterns-Practices-Symposium-Online-2012/node-js-on-Azure
Yes it is very much possible. You may also need to consider to make changes to use Azure Blob storage where your node.js code is using local file system (if required). The deployment is very similar to any other Windows Azure App and one you have Azure SDK for node.js you can use powershell cmdlets to make your job easy.
Download Node.js SDK for Azure
https://www.windowsazure.com/en-us/develop/nodejs/
Here you can learn the basics to deploy node.js app to Azure:
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/
Porting node.js apps to Azure is possible but not yet a yes/no answer.
You can run your Node apps in Azure but you need to look at the modules you're using to make sure you aren't depending on a tool or command or other facility that isn't yet available on Azure. For example, are you using a database like redis or couchDB or mysql? These don't exist natively in Azure so you may or may not be able to port that layer -- you'll have to check.
Since you're on a Mac, there isn't yet a native OS X deployment tool. Microsoft and the Cloud9 folks have been showing a way for Macs to deploy from the Cloud9 IDE which works but the Mac story will most assuredly improve over time. I work on a Mac but I keep a Windows VM open (Parallels) and if I deploy from the desktop I've been using the Powershell cmdlets in the Windows Azure SDK for Node.js which makes things fairly turnkey from Windows.
You will want to follow a couple of repos and their contributors: Azure SDK for Node, which allows native access to Azure Storage via npm install azure and iisnode (on Github) which is a component that assists your node app running under IIS (the Windows Web Server) on Azure.
It's been great to see the Node story on Azure evolve; it's still just a little early but they seem to be making great progress quickly.