Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Normal vs Cloud/Azure Hosting and role of SQL Azure vs SQL Server

First of all let me clear that I am not from a web background so if any of my understanding about how it works is not correct please feel free to correct me

Let's say I have a website which I would like to host on cloud because

- I don't want to take care of hardware
- I want to scale my website as needed

Now I am a bit confused between role of SQL Server vs role of SQL Azure in this case.

Normal Web Hosting

When I think of a normal website I know that I need a host/server on which my website will be hosted. The host should be able to support SQL Server. For scaling purpose I will have to host my website/ASP Pages on multiple servers. Similarly if I want to scale up my SQL Server I will have to host it on multiple servers and will have to make sure data is up to date in all servers through some mechanism.

Cloud Based Hosting

Now I think I can setup similar structure on Cloud/Azure as well. If yes, would I be using true capabilities of Cloud in this case?

Or should I use SQL Azure instead of SQL Server? What benefit would I get in that case? Would I be still be responsible for for scaling up and consistency of data? I know I can scale up the website by setting the number of VMs/instance but what about scaling of database?

Edit Thanks to Florin Dumitrescu the terminology I wanted to use was Scaling Out because I am more concerned about the performance rather than how big my database is in terms of size. I am more concerned about how database would scale between different servers/systems to accommodate the load and hence result in better performance

like image 462
Haris Hasan Avatar asked Nov 28 '11 12:11

Haris Hasan


People also ask

What is the difference between Azure SQL Server and Azure SQL Database?

SQL virtual machines offer full administrative control over the SQL Server instance and underlying OS for migration to Azure. The most significant difference from SQL Database and SQL Managed Instance is that SQL Server on Azure Virtual Machines allows full control over the database engine.

Is Azure SQL the same as SQL Server?

Azure SQL Database is based on the latest stable version of the Microsoft SQL Server database engine. You can use advanced query processing features, such as high-performance in-memory technologies and intelligent query processing.

What is the difference between Azure SQL database and Azure data warehouse?

Azure SQL Database also scales for OLTP, as different pricing tiers typically scale to give you more query throughput and not so much data (the current maximum is 1TB, and in some regions 4TB). Azure SQL Data Warehouse is optimized for performing data analytics tasks, and working with large amounts of data.

What is a benefit of hosting a database on Azure SQL managed instance as compared to an Azure SQL Database?

As a deployment option in Azure SQL Database, Managed Instance takes advantage of the key benefits provided by the service: Intelligent features to optimise performance and security. Built-in HA and active geo-replication. Automated backup and point in time restore.


2 Answers

SQL Azure, as Yossi mentioned, is a Database-as-a-Service. As such, you simply ask for it to be provisioned, magic happens, and you have a database that scales from 1GB to 5GB, 10GB, all the way to 50GB (soon to be 150GB as announced at SQL PASS). The nice thing about SQL Azure: you don't have to worry about any infrastructure, servers, licensing, etc. You simply connect with your connection string. SQL Azure is designed to be scalable to handle a considerable number of concurrent tenants, so you don't have to concern yourself with scaling.

SQL Azure also replicates its data in the data center, to provide "durable" storage. You still need to design a Disaster Recovery scheme, in case the data center becomes unavailable (and you can use the Data Sync service for that).

As far as your website itself: As you scale out to multiple instances, each instance runs the same code and uses the same resources. Taking this one step further, you can move your static (non-changing) web content, such as images and CSS, to Blob storage. This has several advantages over storing them with the website itself:

  • Ability to enable the Content Delivery Network, a worldwide edge-caching service providing better performance for your end users
  • Less strain on your web server instances, as requests for those images will now be directed to Blob storage, a completely separate URL than your website
  • Ability to update an image or stylesheet without having to re-deploy your application - simply upload a new file to Blob storage.

I highly recommend the Windows Azure Platform Training Kit, as there are labs that take you through the fundamentals of all of this, with complete code samples as well. This is updated almost monthly, staying in sync with the latest Windows Azure SDK and tools.

like image 111
David Makogon Avatar answered Nov 03 '22 02:11

David Makogon


If you're hosting your web site in the cloud, and you need a database, than SQL Azure is almost certainly the best option.

SQL Azure is a database as a service, so you'll create your database and work against it from your code, but not have to worry about the provisioninig, there are no servers as such, it is all being taken care of.

From an application point of view it looks and behaves pretty much like SQL Server, so initially all that changes is the connecting string

like image 21
Yossi Dahan Avatar answered Nov 03 '22 02:11

Yossi Dahan