Bad outgoing connection in Azure VM - azure

I have a virtual machine with CentOs in Azure. Running a web-based application with a connection to the database (via public endpoint).
There is one machine with CentOs, which runs a database (MySQL). Approximately 30% of the connections to the database from the web application failed.
I also use API Facebook, and there are also problems with the connection.

What is the size of your Azure VM? Please note that there are I/O quotas applied to each VM size. Thus XS sized VM has just 20mbps connection, where XL can be up to 1Gbps.
Also please make sure you have Azure VM in an Azure Data Centre location which is closest to your MySQL Db.
I run a code that utilizes FB API on Medium sized VM (Worker Role) and don't have issues with it.

Related

PowerBI On-Premises Data Gateway through a VM for customers?

I work in a small company and we develop PowerBI dashboards for a few clients. Data sources tend to change with each client from MySQL, MariaDB, SQL Server, Excel etc. Most clients want to setup scheduled refreshes but in order to do that we need a Data Gateway. So far i've used my machine as a gateway but that requires my computer to be on all the time which is not ideal. Since our clients data is usually stored in their own networks I believe we need an enterprise data gateway to manage all those scheduled refreshes for our current and future projects.
We don't have any physical on prem infrastructure, most of the company's developemnts are managed through AWS linux cloud servers. From what I've read a possible solution is to have a VM running 24/7 with the enterprise data gateway installed, although this seems a bit expensive taking into consideration Azure VM prices. Is there any other solution to my situation or is a VM the only path I can take?
There is no other option available, On prem data gateway requires installation and configuration to connect your data sources to powerBI, for this we require onprem machine or a VM in azure.
As you are aware the recommended machine configuration is:
An 8-core CPU
8 GB of memory
A 64-bit version of Windows 8 or Server 2012 R2 or later
Solid-state drive (SSD) storage for spooling.
If in case, your resources are running in azure you can use vnet data gateway,It doesn’t require any installation Create virtual network data gateways

Azure WebService - MySQL - Redis configuration

I am creating a WebService with C# Core 3.0 that is using MySQL and Redis, but I am not so familiar with Azure so I need advice about configuring everything.
I had MySQL hosted on AWS, but I am transferring it to Azure because I think that performance (speed) will be better on Azure because they will be on same data center. Right?
But, on my MySQL page Host is like '*.mysql.database.azure.com'. That means that every connection will go out of Azure, and than come back? I don't have some local IP for connection? Same question for Redis.
Do I need to configure some local network on Azure and will that impact speed on the app? And, is MySQL a good choice for Azure or should I try with another one?
I am just reading about Azure Virtual Networks. But as I understand it, VN's sole purpose is to isolate elements from the outside network?
You will get better performance if your my-sql instance and your app service are in the same region (basically the same data centre).
The connection string is mysql.database.azure.com, but remember the connection will be a TCP/IP connection, so the DNS lookup will realise that this address mysql.database.azure.com is in the same region (same data center). Then the TCP/IP connection will go to an internal IP.
You could use tcpping in your app service's kudo console to try this and see the result.
The basic rule is that you should group your app and database in the same region for better performance and cheaper cost (as Microsoft doesn't charge traffic within the same region).
Azure Virtual network is for a different purpose. For example, if you have some on premise database servers and you want to call these servers from azure, then VM could be helpful. But for the scenario you described, it is not really needed.
The company I work for has Microsoft azure support included, and if you or your company have support contract with them, you can raise questions directly to them and get really quick responses.

Connecting to azure SQL database from web role and performance.

I am new to Azure and just trying to get my head around some things.
I have a web app running locally that now connects to a windows azure SQL database. I want to move my local web app into an azure web role. I have two questions:
Do I need to change my connection string or does it just work?
I am assuming windows azure is smart enough to now know that they are both hosted on azure so each request no longer needs to go over the internet?
Cheers
Do I need to change my connection string or does it just work?
No, this is still that same connection string.
I am assuming windows azure is smart enough to now know that they are both hosted on azure so each request no longer needs to go over the internet?
You're both web site and SQL Azure database will be in Azure data center. It depends in which region your web site and database will be. If they are in the same region you'll have low latencies because it will be in the same data center, however if they are in two different regions, then at one point it has to go through connections between data centers called backbones. Even if those are special very fast connections you'll notice higher latencies.
http://www.azurespeed.com/ web site allows you to check what are the latencies between Azure data centers. This gives you a kind of idea.
Answer 1 : Since you are already connecting to SQL azure from local,
you don't need to change the connection string.
Answer 2: If both your Web Role, and SQL azure are in same Geo
Location (say SoutCentral US) then there will not be much internet
traffic, but it will use azure's network to communicate.

Using Windows Azure SQL Database from Azure VM

Is there any performance penalty to using Windows Azure SQL Database (formerly known as SQL Azure) from within a Windows Azure VM hosted web app? I would like to know if the performance of this is any worse than using Azure SQL database from a website running on Azure reserved instance. The assumption in both scenarios is that Azure SQL Database is deployed in the same region as the app.
There should not be any difference with respect to utilization of SQL Azure
As #Igorek pointed out, there's no difference (assuming same data center) between using a Virtual Machine and a Website for accessing Windows Azure SQL. That said: One thing that may not be so obvious is that, today, Virtual Machines (and Cloud Services) support XL instances (meaning 800Mbps on the NIC) vs Websites, which are currently limited to Large reserved instances (400Mbps). So... if you're moving a considerable amount of data, you'll get better throughput with an XL Virtual Machine vs. a Large Website instance.
I realize this is an edge case, but just thought I'd throw it out there...
There may be some difference in performance which depends on the configuration on the Virtual Machine and the Website Infrastructure where the Website is Hosted.
The connections in-bound and out-bound performances depends on the load balancing which is abstracted in Azure. This relates to the infrastructure which is in place.
For instance if the VM is in Basic Tier More on VM Sizing, and the website is hosted with a higher configuration, you may get some variance in Performance.

Can I host an application in Windows Azure and have the database stored on different server

Can I host an application in Windows Azure and have the database stored on different server? For example I want to keep my data on a server where I dont have to worry about privicy issues. And if this is possible does it remove the value of having an application hosted in the cloud?
thanks
You mean hosting your application on Windows Azure and then hosting the database on your own servers? This is totally possible, but you'd have to publicly expose your database. You could host your database on SQL Azure and that would be a 'separate server' from your Windows Azure host. With SQL Azure, you can set up a firewall rule to allow only your application to access your database.
If you were to host your database on your own servers, I don't think that it would completely diminish the value of hosting your application on the cloud as your app tier at least would still be hosted "in the cloud". Though, you could also run into performance issues in this scenario as SQL is a little slow to access over the internet using TCP.
You can host on premise and use a secure VPN as part of Azure now. This can be done using Azure network in the latest release.
Can setup an Azure site to site VPN and get access to your private data centre that way.

Resources