Move Azure CosmosDB to local environment - azure

hope you are doing great!
Right now, we are developing a web app with .NET CORE in dev environment, does mean that our config file is pointing to Azure CosmosDB, and we use Gremlin to manage Graph stuff.
But what we need also, is to make a local environment but we dont know how to have the CosmosDB in our local PC's.
Does anyone know a tool or something to get CosmosDB, with Graph supports and Gremlin working locally?
Thanks.

The Cosmos DB Emulator can be installed locally for local development purposes, however, the emulator does not support the Gremlin API for Graph storage.
While you cannot use Cosmos DB locally, you could install another database that supports the Gremlin API locally for your local Dev environments; such as the Apache Tinkerpop Gremlin Server. If you do this, then you'll want to extra make sure you fully test your code against Cosmos DB Graph API, before deploying to ensure that there aren't any compatibility issues when releasing to Testing, Staging, and eventually Production environments.

There is currently no emulator that will allow you to work with the Gremlin API locally. You're going to have to provision a development instance within Azure, or perhaps one per developer on your team.

The Azure Cosmos DB Emulator now supports graph databases. The management UI doesn't support Gremlin but only SQL but you can use it in your program via Gremlin.
It's described in https://learn.microsoft.com/de-de/azure/cosmos-db/local-emulator?tabs=cli,ssl-netstd21#gremlin-api

Related

Azure PaaS local setup

I am going to use Azure SQL (V12) for my production environment.
I want similar kind of setup in my Local Laptop without connecting cloud environment.
What is best version available freely with Azure SQL which ensure me that there will not be any compatibility issue in schema replication and data migration?
Or any other way to handle this for local setup.

Local Azure Search for development

Is there a way to test the Azure Search in local development environment? Without actually connecting to Azure. That would work offline.
I'm thinking of a something like the Azure Storage emulator.
There is a simulator published here - https://github.com/simonedeponti/AzureSearchEmulator which exposes REST APIs, which can help you test it on your local.

Can I cross develop an app for IIS and Azure?

We are starting to build out some new tech and I want to know if it is possible to cross develop a web app to run natively in Azure (ie, use Azure specific stuff like storage) but also run locally on our test servers and accommodate internal deployments natively on IIS?
I know I can host them from a dev box in a simulated Azure environment and I know that I can interface the Azure parts out and write in non-azure counterparts. It just seems like this should be a solved problem.
If you want to run Azure applications on-premises (and using non-development Azure storage), you must run a Microsoft Private Cloud. It requires special hardware and licensing costs, so don't expect it to run on what you have today.

How can I migrate an Azure application to IIS?

I have a webrole I'd like to host in IIS for the time being.
Does anyone know how involved this is, considering that I still want Azure Storage functions of the IIS site to still work?
Azure Storage (tables, blobs, queues) only run on the actual Windows Azure environment in the cloud. There is a simulated development environment that runs a facsimile on a local SQL Server database, but that is only meant for development purposes and cannot be used for running an actual site.
Theoretically, you could run your webapp locally and connect to Azure Storage over the internet (e.g. by using the REST api), but latency would almost certainly be too high for any interactive site.
So, if you want to be able to run your site on premise on your own IIS environment, you will need to remove all the specific Azure platform dependencies and build in non-Azure alternatives. For Azure Storage, you could either do a relational database (SQL Server, mySQL) or look at a nosql/document database.
If you want to move it to IIS then tijmedvdk's answer is correct.
If your goal is to run it in your data center then you should consider Azure Appliance http://www.microsoft.com/windowsazure/appliance/ this allows you to run Azure applications on premise, without making any changes.
This answers seems misleading. Windows Azure is a platform that provides several services and you can choose from the services that you want to use.
In essence a Windows Azure is just a Virtual Machine with
*Windows Server 2008 R2
*IIS 7.5
So can if you have an application that you are currently hosting in Azure and you want to host it in IIS I don't see much of a problem there.
If you are using Storage, the only problem might be that the Storage account settings were in the WebRole or Service configuration files, but you can change your app logic to take the appropiate settings from other config files.
I have created Windows Desktop applications that for several reasons use Azure Storage and i also think of that as a great advantage of cloud computing.

WIndows Azure web project

I'd just like to know if its possible to deploy a web project, that usually runs on the windows azure cloud, to a normal windows server 2008 pc for testing purposes?
It depends what you're trying to test - if it's just the web app, why not map a virtual directory to the folder? If you're not using any of the Azure features (eg Queues), then can run it standalone as a normal asp.net application through IIS
No. There is no 'on premise' version of Azure and the only way you could do it is if you ran a dev environment on the server and ran the app in the Azure dev fabric.
I would suggest that for testing you should test on the cloud anyway as it is somewhat different to the local fabric. The big advantage of testing and the cloud is that you can spin up and shut down instances whenever you need, so it only costs money while you are actually testing. You might even be able to do most of your testing within the 'free' 25 hour allocation
Microsoft provide emulators to test a lot of the azure functionality locally including:
Compute emulator: very nice as allows you test app with multiple instances running
Storage Emulator: provide emulation of blob, table and queue storage
SQL Express can be used inplace of SQL azure but you need to be aware it is a superset of SQL Azure
The parts that arent emulated are:
Caching Service (very annoying really)
CDN (again a bit annoying)
So it depends on which azure services you are using as to how well you can test locally.

Resources