SQL Server + Azure Introduction to Hybrid scenarios

SQL Server + Azure Introduction to Hybrid scenarios

SQL Server Azure Introduction to Hybrid scenarios

SQLShack

SQL Server training Español

SQL Server Azure Introduction to Hybrid scenarios

July 1, 2015 by Murilo Miranda We hear a lot about hybrid SQL Server environments, but how to integrate my datacenter with Azure? Check this article and you will have a simple and effective explanation about the connectivity option! It is being very common to hear about cloud in the last months (or even years). We can see huge companies like Amazon, Google and Microsoft heavily investing in infrastructure and new cloud-based services. In fact, the cloud is being more and more part of our lives. Probably you didn’t even noticed that! But just look back, maybe two or three years ago… Almost everyone used to have a “pendrive” in a corner of their pockets. I am including myself into this account, by the way! Maybe the story has changed. Looking for nowadays, you can still find your good old pendrive, collecting dust somewhere in your house, and not being used as former times. But what happened? Just look at some services as Dropbox, Google Drive or OneDrive: You can store your files. You can access it from everywhere where you have internet connection. If you delete your files you will be able to recover it easily. The space constraint is a matter of upgrade your plan. … and more! We can also refer that in a world where a single person may have different devices as a cellphone, a tablet, one work PC and a personal PC, those services are also useful in order to keep your files up to date and accessible without effort. And in some case you also have a recoverable list of versions!! Well, the pendrive example is the one that I most identify myself, because I started to use it without even know that I was entering in the Cloud era. And this would be useful even to SQL Server! You can easily find articles explaining how to take advantage of one of those services to store… database backups! In a broader look, we can see that the cloud brought benefits and options to also improve high availability and disaster recovery strategies, making those architectures more economic, scalable, and elastic. As we will be talking about SQL Server, nothing better than talk about Azure, where I already lost track of the tremendous number of new services and improvements that Microsoft is constantly announcing. Yes, they are heavily investing on Azure, this came to stay!

The hybrid cloud

The objective of this article is start a series of technical guides on how to take advantage of the Azure integration with SQL Server, and in order to reach this objective, we will be focusing in two specific service stacks of Azure: Data Services Network & Automation Services By playing with both of those together, we will be able to build a complete solution and integrate on-premises with the cloud. So let’s start talking about network…

How to integrate on-premises and cloud

In order to integrate your datacenter (on-premises) and Azure, Microsoft offers some options, which have different levels of performance, complexity and may or not fit with your needs. The following picture shows a summary of this:

Connectivity over the internet

This is targeted to consumers. For example, if you have a service, which you need to connect from everywhere, and want to connect by using a workstation (using a browser, for example) or some tool that will provide you access if you have all the credentials to. Typically, services that are using a public IP or more specific cases where you need to explicitly open a port on an Azure Portal, like connect to an Azure Virtual Machine, by using the Remote Desktop Protocol (RDP).

Point-to-Site P2S – IPSec VPN

Here we are in another level of connectivity. The Point-to-site VPN, or just P2S requires a more complex deployment. The P2S VPN is used to connect a single workstation to a range of service in Azure, that are based in a specific subnet. This is a one way of connection, based in an IPSec VPN that you need to configure in the computer that is going to be connected to an Azure vNet. This way a point (the computer) connects to a site (Azure). This strategy also allows the user to connect to a service in Azure, like a Virtual Machine or a Database. I wrote an article on how to configure a P2S VPN, step-by-step. Just follow this link if you are interested.

Site-to-Site S2S – IPSec VPN

The site-to-site (S2S) IPSec VPN, is a kind of P2S VPN, but with a difference that changes the game: You are now connecting your network to Azure. We can call this a many-many connectivity (I don’t know if this exists, but the idea is make it simple for the DB professionals :)), as we are connecting the on-premises network to an Azure virtual network. This VPN is configured in the network layer, differently from the P2S, where you need to setup a soft VPN in a computer. However, there is a way to do this from the application layer, using the Routing and Remote Access Service (RRAS), from Windows. The S2S VPN allows us to create more complex strategies, as we will be permanently connecting our servers with Azure infrastructure and services. So we can use it to an Active Directory replica, extend the AlwaysOn Availability Groups strategy, etc… If you want to check on how to create a S2S VPN using RRAS, I have an article published here that explains all the steps.

ExpressRoute

This is an option to the site-to-site VPN. But what is the difference? The main difference here is that using ExpressRoute you will be using a private network and, of course, you will need to pay for this What are the advantages? Why would I pay for a service that I already have for free? Basically by using ExpressRoute, you will be using a private network, avoid the data transfer in the internet. This means, that you will have a more secure, controlled, and a better connectivity quality if you use ExpressRoute. As this is the best option, you will need to pay for the exclusivity and quality of this service. But not for Microsoft! You need to find a service provider in your region. Microsoft already has some partners, around the globe. So, if you have this need (I think everyone has, but the budget is the constraint here…) check the current service providers in order to get a quote. With the ExpressRoute, we can follow different topologies, as you can see: In terms of connectivity, this is the “icing on the cake”, but you will need to pay the price…

Conclusion

In this article we saw how we can integrate our environment with Azure. We have different options, with different levels of complexity, depending of our needs.
Now that we understood the basics, we are ready to go beyond! Keep tuned for the next articles, where I will cover all the possible options that we have to integrate a SQL Server instance with Azure! Author Recent Posts Murilo MirandaMurilo Miranda is a Luso-Brazilian blogger and speaker. SQL Server MVP, living in the UK. Nowadays he's Database Consultant at Pythian, company based in Ottawa - Canada.

With experience working in Portugal, Holland, Germany and United Kingdom, he's always available to learn and share his knowledge, in order to contribute to SQL Server community,

View all posts by Murilo Miranda Latest posts by Murilo Miranda (see all) Understanding backups on AlwaysOn Availability Groups – Part 2 - December 3, 2015 Understanding backups on AlwaysOn Availability Groups – Part 1 - November 30, 2015 AlwaysOn Availability Groups – Curiosities to make your job easier – Part 4 - October 13, 2015

Related posts

Azure Blob Storage – Literally a Hybrid database deployment Introduction and FAQs about Microsoft Azure technologies Integrate On-Premises and Azure using a site-to-site VPN with RRAS (step-by-step) Introduction to Azure SQL Data Warehouse Working with Azure Active Directory and Azure SQL Database 1,776 Views

Follow us

Popular

SQL Convert Date functions and formats SQL Variables: Basics and usage SQL PARTITION BY Clause overview Different ways to SQL delete duplicate rows from a SQL Table How to UPDATE from a SELECT statement in SQL Server SQL Server functions for converting a String to a Date SELECT INTO TEMP TABLE statement in SQL Server SQL WHILE loop with simple examples How to backup and restore MySQL databases using the mysqldump command CASE statement in SQL Overview of SQL RANK functions Understanding the SQL MERGE statement INSERT INTO SELECT statement overview and examples SQL multiple joins for beginners with examples Understanding the SQL Decimal data type DELETE CASCADE and UPDATE CASCADE in SQL Server foreign key SQL Not Equal Operator introduction and examples SQL CROSS JOIN with examples The Table Variable in SQL Server SQL Server table hints – WITH (NOLOCK) best practices

Trending

SQL Server Transaction Log Backup, Truncate and Shrink Operations Six different methods to copy tables between databases in SQL Server How to implement error handling in SQL Server Working with the SQL Server command line (sqlcmd) Methods to avoid the SQL divide by zero error Query optimization techniques in SQL Server: tips and tricks How to create and configure a linked server in SQL Server Management Studio SQL replace: How to replace ASCII special characters in SQL Server How to identify slow running queries in SQL Server SQL varchar data type deep dive How to implement array-like functionality in SQL Server All about locking in SQL Server SQL Server stored procedures for beginners Database table partitioning in SQL Server How to drop temp tables in SQL Server How to determine free space and file size for SQL Server databases Using PowerShell to split a string into an array KILL SPID command in SQL Server How to install SQL Server Express edition SQL Union overview, usage and examples

Solutions

Read a SQL Server transaction logSQL Server database auditing techniquesHow to recover SQL Server data from accidental UPDATE and DELETE operationsHow to quickly search for SQL database data and objectsSynchronize SQL Server databases in different remote sourcesRecover SQL data from a dropped table without backupsHow to restore specific table(s) from a SQL Server database backupRecover deleted SQL data from transaction logsHow to recover SQL Server data from accidental updates without backupsAutomatically compare and synchronize SQL Server dataOpen LDF file and view LDF file contentQuickly convert SQL code to language-specific client codeHow to recover a single table from a SQL Server database backupRecover data lost due to a TRUNCATE operation without backupsHow to recover SQL Server data from accidental DELETE, TRUNCATE and DROP operationsReverting your SQL Server database back to a specific point in timeHow to create SSIS package documentationMigrate a SQL Server database to a newer version of SQL ServerHow to restore a SQL Server database backup to an older version of SQL Server

Categories and tips

►Auditing and compliance (50) Auditing (40) Data classification (1) Data masking (9) Azure (295) Azure Data Studio (46) Backup and restore (108) ►Business Intelligence (482) Analysis Services (SSAS) (47) Biml (10) Data Mining (14) Data Quality Services (4) Data Tools (SSDT) (13) Data Warehouse (16) Excel (20) General (39) Integration Services (SSIS) (125) Master Data Services (6) OLAP cube (15) PowerBI (95) Reporting Services (SSRS) (67) Data science (21) ►Database design (233) Clustering (16) Common Table Expressions (CTE) (11) Concurrency (1) Constraints (8) Data types (11) FILESTREAM (22) General database design (104) Partitioning (13) Relationships and dependencies (12) Temporal tables (12) Views (16) ►Database development (418) Comparison (4) Continuous delivery (CD) (5) Continuous integration (CI) (11) Development (146) Functions (106) Hyper-V (1) Search (10) Source Control (15) SQL unit testing (23) Stored procedures (34) String Concatenation (2) Synonyms (1) Team Explorer (2) Testing (35) Visual Studio (14) DBAtools (35) DevOps (23) DevSecOps (2) Documentation (22) ETL (76) ►Features (213) Adaptive query processing (11) Bulk insert (16) Database mail (10) DBCC (7) Experimentation Assistant (DEA) (3) High Availability (36) Query store (10) Replication (40) Transaction log (59) Transparent Data Encryption (TDE) (21) Importing, exporting (51) Installation, setup and configuration (121) Jobs (42) ►Languages and coding (686) Cursors (9) DDL (9) DML (6) JSON (17) PowerShell (77) Python (37) R (16) SQL commands (196) SQLCMD (7) String functions (21) T-SQL (275) XML (15) Lists (12) Machine learning (37) Maintenance (99) Migration (50) Miscellaneous (1) ►Performance tuning (869) Alerting (8) Always On Availability Groups (82) Buffer Pool Extension (BPE) (9) Columnstore index (9) Deadlocks (16) Execution plans (125) In-Memory OLTP (22) Indexes (79) Latches (5) Locking (10) Monitoring (100) Performance (196) Performance counters (28) Performance Testing (9) Query analysis (121) Reports (20) SSAS monitoring (3) SSIS monitoring (10) SSRS monitoring (4) Wait types (11) ►Professional development (68) Professional development (27) Project management (9) SQL interview questions (32) Recovery (33) Security (84) Server management (24) SQL Azure (271) SQL Server Management Studio (SSMS) (90) SQL Server on Linux (21) ►SQL Server versions (177) SQL Server 2012 (6) SQL Server 2016 (63) SQL Server 2017 (49) SQL Server 2019 (57) SQL Server 2022 (2) ►Technologies (334) AWS (45) AWS RDS (56) Azure Cosmos DB (28) Containers (12) Docker (9) Graph database (13) Kerberos (2) Kubernetes (1) Linux (44) LocalDB (2) MySQL (49) Oracle (10) PolyBase (10) PostgreSQL (36) SharePoint (4) Ubuntu (13) Uncategorized (4) Utilities (21) Helpers and best practices BI performance counters SQL code smells rules SQL Server wait types © 2022 Quest Software Inc. ALL RIGHTS RESERVED. GDPR Terms of Use Privacy
Share:
0 comments

Comments (0)

Leave a Comment

Minimum 10 characters required

* All fields are required. Comments are moderated before appearing.

No comments yet. Be the first to comment!

SQL Server + Azure Introduction to Hybrid scenarios | Trend Now | Trend Now