SlideShare a Scribd company logo
Azure SQL
more or/and less than SQL Server
Rafał Hryniewski
@r_hryniewski
fb.me/hryniewskinet
.NET Dev
Blogger
Speaker
Community leader
https://hryniewski.net
rafal@hryniewski.net
Azure SQL
more or/and less than SQL Server
IOPS - input/output operations per second
DTU – Database Transaction Unit
IaaS, PaaS, SaaS – Infrastructure/Platform/Software as a Service
Glossary
Database possibilities in Azure
And anything on VM or in a
container
Lets focus on MS SQL
MS SQL Options in Azure
 SQL Server on VM
 SQL Server on container
 Site-to-site VPN with any physical machine (or other hybrid solution)
 Azure SQL
Azure SQL
 Released in 2010
 Database in PaaS model
 Based on most recent, stable SQL Server Enterprise version
 Available in DTU or vCore based pricing and scaling
 Not fully compatible with SQL Server…
 …unless it’s Azure SQL Database Managed Instance, then it’s almost 100%
compatible.
 Lots of out of the box stuff
Various Azure SQL Options
Various Azure SQL Options
Resource
group
Server
Database
Resource group
Azure’s logical container
Azure SQL Server
•Connection data
•Admin credentials
Database
Data
Billing
Service tier
Billing
Configuration
Two pricing/scaling models
DTU Model
 DTU – Data Transaction Unit
 DTU – CPU, memory, I/O and transaction log I/O in one metric
 3 Tiers – Basic, Standard, Premium
 Simple, effortless model.
DTU Tiers comparison
Basic:
 99,99% Uptime SLA
 7 days backup retention
 5 ms read latency
 10 ms write latency
 Up to 2GB storage
 2.5 IOPS per DTU
Standard:
• 35 days backup retention
• Columnstore indexing support
from S3 tier
• Up to 1TB storage
Premium:
 2 ms read/write latency
 Columnstore indexing support
 In-memory OLTP support
 48 IOPS per DTU
vCore Model
 Recommended scaling model
 More control upon resources during scaling
 General Purpose, Business critical and Hyperscale (preview) service tiers
 You’ll be billed for – service tier + no. of vCores and memory + hardware
generation
vCore Model - Choices
 Service Tier
 Hardware generation
 vCores amount (memory is strictly bound to it)
 Storage amount
vCore Model – Service Tiers
General Purpose:
 Premium remote storage (like
VMs)
 500 IOPS per vCore (7000
max)
 1 replica
Business Critical:
 Local SSD Storage
 5000 IOPS per vCore (200 000
max)
 3 replicas, 1 read-scale replica
 Build in support for Availability
Zones
 In-memory OLTP support
vCore Model – Hardware Generation
Gen 4:
 Up to 24 cores
 Based on Intel E5-2673 v3
(Haswell) 2.4 GHz processor
 Based on physical processor
 7 GB memory per vCore
 SSD storage
Gen 5:
 Up to 80 cores
 Based on Intel E5-2673 v4
(Broadwell) 2.3 GHz Processor
 Based on logical processor
 5.1 GB memory per vCore
 eNVM SSD storage (faster)
Can I migrate DTU model to vCore?
DTU -> vCore
 In standard tier each 100 DTU requires 1 General Purpose vCore
 In premium tier each 125 DTU requires 1 Business Critical vCore
Cool stuff
Firewall
Firewall - rules
 Each rule is IP range whitelist
 Rules can be created only by
 Server level rules can be managed with T-SQL, CLI, Powershell or REST
 Databasel level rules can be managed only with T-SQL
Scaling vertically
Scaling up – DTU model
Scaling up – vCore model
Scaling Up
 Minimum downtime
 Sadly, no autoscaling
 Still, it’s effortless...
 ...and there are some workarounds that makes autoscale possible
Scalling horizontaly and replication
Georeplication
Georeplication
 Creates readable replicas (secondaries)
 Manual failover
 Less than 1 minute downtime
 Each transaction is replicated to secondary after commiting to primary (Always
On)
Georeplication
Failover groups
 Defines two listeners read-only and read-write
 Automatic or manual failover
 Need to set grace period for data loss starting from 1 hour
Failover groups
Replication and read-scale out
 Basically read-only replicas for load balancing read-only database traffic
 Available in Premium (DTU) or Business Critical (vCore) Service Tiers
 All it takes is use of ApplicationIntent in Connection String ie:
Server=tcp:<serverName>.database.windows.net;D
atabase=<db>;ApplicationIntent=ReadOnly;User
ID=<login>;Password=<password>;
Recovering database
Auto backup and point-in-time recovery
 Automated backup with 7-35 days retention
 Stored in included Read-access geo-redundant storage (RA-GRS)
 It’s included in price!
Auto backup and point-in-time recovery
 Can be used to restore database from ANY point in time in retention period (on
the same server)
 Can be used to restore deleted db on same server
 Can be used to restore db to other geographic region (in same subscription)
 If server will be deleted – it won’t be possible to perform recovery
Up to ten years with long term backup retention
Long Term Backup Retention
 Backup retention up to 10 years
 Restoring DB is possible from
PowerShell or Azure CLI
 Read-access geo-redundant
storage
 Not available for Managed
Instaces (yet)
 Storage of your own choosing
Monitoring
Monitoring
 Fully integrated with Azure Monitor
 Easy access from portal
 With some other integrations can be used to develop some kind of autoscale
Automatic Performance Tuning
Automatic Performance Tuning
 3 independently toggled options – CREATE INDEX, DROP INDEX and FORCE
LAST GOOD PLAN
 When turned off – you can implement recomendations manually
 Gets smarter with time
Advanced data security
Data discovery and classification
Vulnerability Assesment
Threat detection
Advanced data security
 Set of monitoring and mitigation tools integrated with Azure Security Center
 Can detect some of most common vulnerabilities early and give some guidelines
for fixing them
 Gets smarter over time
 Can be used to monitor environments 24/7 and notify you when something
suspicious happen
Do we need a DBA?
A little bonus – you can integrate with...
 Logic Apps
 Data factory
 Stream Analytics
 Power BI
 Azure Search
 And more!
So... It’s better than SQL Server?
Most of the times eveything just works
Unless we try to do cross database query
Well, cross database queries are possible
but not so simple anymore
1. Read my blog post about this here :
https://hryniewski.net/2018/01/25/querying-external-databases-in-azure-sql/
2. Create master key
3. Create database scoped credential
4. Create external data source
5. Create external table
6. Query some shit
Many features related to master database
Many features regarding master database
 If it touches server level – it’s probably not available
 If it touches OS level – it’s probably not available
 If it touches filesystem - yep, it’s probably not available
 Databases in Azure SQL are separate, highly isolated beings – that’s why
So, forget about...
 Always On Availability Group (but you have other stuff for that)
 BACKUP command (but you have automated backups)
 Database mail (you can try using logic app)
 Server level triggers (yuck)
 Other than primary file group
 Service broker (there are better services for that)
 Profiler (it’s obsolete anyway)
 Windows authentication
You may also need to remodel your db if
you’re using some not supported syntax
So beware if you’re using
 LOGINS (you’ll ned to switch to USERS)
 CLR (entirelly not supported)
 USE statement
 Events, query notifications etc.
 In-memory OLTP (available only in higher service tiers)
 Column store indexes (available only in higher service tiers)
Gotchas
CREATE DATABASE – Creates S0 database (can be expensive if used for
development)
Gotchas
If you’re migrating from SQL Server 2005 or lower – be aware that 100 is the
minimum compatibility level that’s supported
Gotchas
Workloads that made physical server slightly warmed up can use 100% of your
resources easily and freeze your application for a long time.
Is migration of SQL Server to PaaS hard?
Migration 101
Migration 101 (very, very short version)
 Download Data Migration Assistant from the title
 Use VNET with VPN or Express Route to OnPrem
 Set up your network ruless to allow for traffic
 Perform compatibility assesment
 Create and configure Azure Database Migration Service
 Create and configure migration project
 Run
 Go home.
Questions?
It’s not better. It’s not worse. It’s different.
Grab a beer, try it when you sober up.
@r_hryniewskifb.me/hryniewskinet

More Related Content

What's hot

Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars PlatzdaschAzure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
Lars Platzdasch
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
Amazon Web Services
 
Windows Azure Storage – Architecture View
Windows Azure Storage – Architecture ViewWindows Azure Storage – Architecture View
Windows Azure Storage – Architecture View
Chaowlert Chaisrichalermpol
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
Juan Jose Gazzola
 
Benefity Oracle Cloudu (3/4): Compute
Benefity Oracle Cloudu (3/4): ComputeBenefity Oracle Cloudu (3/4): Compute
Benefity Oracle Cloudu (3/4): Compute
MarketingArrowECS_CZ
 
PostgreSQL on Amazon RDS
PostgreSQL on Amazon RDSPostgreSQL on Amazon RDS
PostgreSQL on Amazon RDS
PGConf APAC
 
Disaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site RecoveryDisaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site Recovery
Nitin Agarwal
 
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
KoprowskiT_SPBizConference_2AMaDisasterJustBeganKoprowskiT_SPBizConference_2AMaDisasterJustBegan
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
Tobias Koprowski
 
When Disaster Strikes
When Disaster StrikesWhen Disaster Strikes
When Disaster Strikes
Aidan Finn
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
Kellyn Pot'Vin-Gorman
 
Oracle Cloud Infrastructure – Storage
Oracle Cloud Infrastructure – StorageOracle Cloud Infrastructure – Storage
Oracle Cloud Infrastructure – Storage
MarketingArrowECS_CZ
 
Migrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSMigrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDS
Jesus Guzman
 
Lesson 1 configuring
Lesson 1   configuringLesson 1   configuring
Lesson 1 configuring
Ram Kedem
 
Windows Azure Blob Storage
Windows Azure Blob StorageWindows Azure Blob Storage
Windows Azure Blob Storage
ylew15
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentationwebhostingguy
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)
Payal Singh
 
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
Adeline Wong
 
Amazon (AWS) Aurora
Amazon (AWS) AuroraAmazon (AWS) Aurora
Amazon (AWS) Aurora
PGConf APAC
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Bob Ward
 

What's hot (20)

Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars PlatzdaschAzure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
Azure Boot Camp 21.04.2018 SQL Server in Azure Iaas PaaS on-prem Lars Platzdasch
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 
Windows Azure Storage – Architecture View
Windows Azure Storage – Architecture ViewWindows Azure Storage – Architecture View
Windows Azure Storage – Architecture View
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
 
Benefity Oracle Cloudu (3/4): Compute
Benefity Oracle Cloudu (3/4): ComputeBenefity Oracle Cloudu (3/4): Compute
Benefity Oracle Cloudu (3/4): Compute
 
PostgreSQL on Amazon RDS
PostgreSQL on Amazon RDSPostgreSQL on Amazon RDS
PostgreSQL on Amazon RDS
 
Disaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site RecoveryDisaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site Recovery
 
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
KoprowskiT_SPBizConference_2AMaDisasterJustBeganKoprowskiT_SPBizConference_2AMaDisasterJustBegan
KoprowskiT_SPBizConference_2AMaDisasterJustBegan
 
When Disaster Strikes
When Disaster StrikesWhen Disaster Strikes
When Disaster Strikes
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
 
Oracle Cloud Infrastructure – Storage
Oracle Cloud Infrastructure – StorageOracle Cloud Infrastructure – Storage
Oracle Cloud Infrastructure – Storage
 
Migrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSMigrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDS
 
Lesson 1 configuring
Lesson 1   configuringLesson 1   configuring
Lesson 1 configuring
 
Windows Azure Blob Storage
Windows Azure Blob StorageWindows Azure Blob Storage
Windows Azure Blob Storage
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)
 
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
How to backup Oracle Database to Dropbox, Windows Azure, Amazon S3, and local...
 
Amazon (AWS) Aurora
Amazon (AWS) AuroraAmazon (AWS) Aurora
Amazon (AWS) Aurora
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
 

Similar to Azure SQL - more or/and less than SQL Server

Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
Mostafa
 
Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019
Jovan Popovic
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
Marcelo Paiva
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
James Serra
 
Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services
Mohamed Tawfik
 
Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...
ALI ANWAR, OCP®
 
02_DP_300T00A_Plan_implement.pptx
02_DP_300T00A_Plan_implement.pptx02_DP_300T00A_Plan_implement.pptx
02_DP_300T00A_Plan_implement.pptx
KareemBullard1
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
Bob Ward
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
James Serra
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
Brian Benz
 
JoTechies - Azure SQL DB
JoTechies - Azure SQL DBJoTechies - Azure SQL DB
JoTechies - Azure SQL DB
JoTechies
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
Aaron Saikovski
 
Building your first sql server cluster
Building your first sql server clusterBuilding your first sql server cluster
Building your first sql server cluster
Joseph D'Antoni
 
I/O & virtualization performance with a search engine based on an xml databa...
 I/O & virtualization performance with a search engine based on an xml databa... I/O & virtualization performance with a search engine based on an xml databa...
I/O & virtualization performance with a search engine based on an xml databa...
lucenerevolution
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Brian Benz
 
07_DP_300T00A_HA_Disaster_Recovery.pptx
07_DP_300T00A_HA_Disaster_Recovery.pptx07_DP_300T00A_HA_Disaster_Recovery.pptx
07_DP_300T00A_HA_Disaster_Recovery.pptx
KareemBullard1
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld
 
Optimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec AzureOptimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec Azure
Swiss Data Forum Swiss Data Forum
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
rockplace
 

Similar to Azure SQL - more or/and less than SQL Server (20)

Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
 
Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019Azure SQL Managed Instance - SqlBits 2019
Azure SQL Managed Instance - SqlBits 2019
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
 
Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services
 
Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...
 
02_DP_300T00A_Plan_implement.pptx
02_DP_300T00A_Plan_implement.pptx02_DP_300T00A_Plan_implement.pptx
02_DP_300T00A_Plan_implement.pptx
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
 
JoTechies - Azure SQL DB
JoTechies - Azure SQL DBJoTechies - Azure SQL DB
JoTechies - Azure SQL DB
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
 
Building your first sql server cluster
Building your first sql server clusterBuilding your first sql server cluster
Building your first sql server cluster
 
Sql Azure
Sql AzureSql Azure
Sql Azure
 
I/O & virtualization performance with a search engine based on an xml databa...
 I/O & virtualization performance with a search engine based on an xml databa... I/O & virtualization performance with a search engine based on an xml databa...
I/O & virtualization performance with a search engine based on an xml databa...
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014
 
07_DP_300T00A_HA_Disaster_Recovery.pptx
07_DP_300T00A_HA_Disaster_Recovery.pptx07_DP_300T00A_HA_Disaster_Recovery.pptx
07_DP_300T00A_HA_Disaster_Recovery.pptx
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Optimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec AzureOptimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec Azure
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 

More from Rafał Hryniewski

Azure messaging
Azure messagingAzure messaging
Azure messaging
Rafał Hryniewski
 
Azure developer
Azure developerAzure developer
Azure developer
Rafał Hryniewski
 
Great webapis
Great webapisGreat webapis
Great webapis
Rafał Hryniewski
 
DevSecOps - security all the way
DevSecOps - security all the wayDevSecOps - security all the way
DevSecOps - security all the way
Rafał Hryniewski
 
DevSecOps - Security all the way
DevSecOps - Security all the wayDevSecOps - Security all the way
DevSecOps - Security all the way
Rafał Hryniewski
 
Anchor modeling
Anchor modelingAnchor modeling
Anchor modeling
Rafał Hryniewski
 
Large scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaLarge scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with Kafka
Rafał Hryniewski
 
Meet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DBMeet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DB
Rafał Hryniewski
 
Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...
Rafał Hryniewski
 
Web app security essentials
Web app security essentialsWeb app security essentials
Web app security essentials
Rafał Hryniewski
 
Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?
Rafał Hryniewski
 
Blazor
BlazorBlazor
Shodan
ShodanShodan
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC
Rafał Hryniewski
 
.NET, Alexa and me
.NET, Alexa and me.NET, Alexa and me
.NET, Alexa and me
Rafał Hryniewski
 
ORM – The tip of an iceberg
ORM – The tip of an icebergORM – The tip of an iceberg
ORM – The tip of an iceberg
Rafał Hryniewski
 
Quick trip around the Cosmos - Things every astronaut supposed to know
Quick trip around the Cosmos - Things every astronaut supposed to knowQuick trip around the Cosmos - Things every astronaut supposed to know
Quick trip around the Cosmos - Things every astronaut supposed to know
Rafał Hryniewski
 

More from Rafał Hryniewski (17)

Azure messaging
Azure messagingAzure messaging
Azure messaging
 
Azure developer
Azure developerAzure developer
Azure developer
 
Great webapis
Great webapisGreat webapis
Great webapis
 
DevSecOps - security all the way
DevSecOps - security all the wayDevSecOps - security all the way
DevSecOps - security all the way
 
DevSecOps - Security all the way
DevSecOps - Security all the wayDevSecOps - Security all the way
DevSecOps - Security all the way
 
Anchor modeling
Anchor modelingAnchor modeling
Anchor modeling
 
Large scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaLarge scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with Kafka
 
Meet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DBMeet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DB
 
Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...
 
Web app security essentials
Web app security essentialsWeb app security essentials
Web app security essentials
 
Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?
 
Blazor
BlazorBlazor
Blazor
 
Shodan
ShodanShodan
Shodan
 
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC
 
.NET, Alexa and me
.NET, Alexa and me.NET, Alexa and me
.NET, Alexa and me
 
ORM – The tip of an iceberg
ORM – The tip of an icebergORM – The tip of an iceberg
ORM – The tip of an iceberg
 
Quick trip around the Cosmos - Things every astronaut supposed to know
Quick trip around the Cosmos - Things every astronaut supposed to knowQuick trip around the Cosmos - Things every astronaut supposed to know
Quick trip around the Cosmos - Things every astronaut supposed to know
 

Recently uploaded

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 

Recently uploaded (20)

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

Azure SQL - more or/and less than SQL Server

  • 1.
  • 2. Azure SQL more or/and less than SQL Server
  • 4.
  • 5. Azure SQL more or/and less than SQL Server
  • 6. IOPS - input/output operations per second DTU – Database Transaction Unit IaaS, PaaS, SaaS – Infrastructure/Platform/Software as a Service Glossary
  • 7. Database possibilities in Azure And anything on VM or in a container
  • 8. Lets focus on MS SQL
  • 9. MS SQL Options in Azure  SQL Server on VM  SQL Server on container  Site-to-site VPN with any physical machine (or other hybrid solution)  Azure SQL
  • 10.
  • 11. Azure SQL  Released in 2010  Database in PaaS model  Based on most recent, stable SQL Server Enterprise version  Available in DTU or vCore based pricing and scaling  Not fully compatible with SQL Server…  …unless it’s Azure SQL Database Managed Instance, then it’s almost 100% compatible.  Lots of out of the box stuff
  • 12.
  • 13. Various Azure SQL Options
  • 14. Various Azure SQL Options
  • 16. Resource group Azure’s logical container Azure SQL Server •Connection data •Admin credentials Database Data Billing Service tier Billing Configuration
  • 18. DTU Model  DTU – Data Transaction Unit  DTU – CPU, memory, I/O and transaction log I/O in one metric  3 Tiers – Basic, Standard, Premium  Simple, effortless model.
  • 19. DTU Tiers comparison Basic:  99,99% Uptime SLA  7 days backup retention  5 ms read latency  10 ms write latency  Up to 2GB storage  2.5 IOPS per DTU Standard: • 35 days backup retention • Columnstore indexing support from S3 tier • Up to 1TB storage
  • 20. Premium:  2 ms read/write latency  Columnstore indexing support  In-memory OLTP support  48 IOPS per DTU
  • 21. vCore Model  Recommended scaling model  More control upon resources during scaling  General Purpose, Business critical and Hyperscale (preview) service tiers  You’ll be billed for – service tier + no. of vCores and memory + hardware generation
  • 22. vCore Model - Choices  Service Tier  Hardware generation  vCores amount (memory is strictly bound to it)  Storage amount
  • 23. vCore Model – Service Tiers General Purpose:  Premium remote storage (like VMs)  500 IOPS per vCore (7000 max)  1 replica Business Critical:  Local SSD Storage  5000 IOPS per vCore (200 000 max)  3 replicas, 1 read-scale replica  Build in support for Availability Zones  In-memory OLTP support
  • 24. vCore Model – Hardware Generation Gen 4:  Up to 24 cores  Based on Intel E5-2673 v3 (Haswell) 2.4 GHz processor  Based on physical processor  7 GB memory per vCore  SSD storage Gen 5:  Up to 80 cores  Based on Intel E5-2673 v4 (Broadwell) 2.3 GHz Processor  Based on logical processor  5.1 GB memory per vCore  eNVM SSD storage (faster)
  • 25. Can I migrate DTU model to vCore?
  • 26.
  • 27. DTU -> vCore  In standard tier each 100 DTU requires 1 General Purpose vCore  In premium tier each 125 DTU requires 1 Business Critical vCore
  • 30.
  • 31. Firewall - rules  Each rule is IP range whitelist  Rules can be created only by  Server level rules can be managed with T-SQL, CLI, Powershell or REST  Databasel level rules can be managed only with T-SQL
  • 33. Scaling up – DTU model
  • 34. Scaling up – vCore model
  • 35. Scaling Up  Minimum downtime  Sadly, no autoscaling  Still, it’s effortless...  ...and there are some workarounds that makes autoscale possible
  • 38. Georeplication  Creates readable replicas (secondaries)  Manual failover  Less than 1 minute downtime  Each transaction is replicated to secondary after commiting to primary (Always On)
  • 40. Failover groups  Defines two listeners read-only and read-write  Automatic or manual failover  Need to set grace period for data loss starting from 1 hour
  • 41.
  • 43. Replication and read-scale out  Basically read-only replicas for load balancing read-only database traffic  Available in Premium (DTU) or Business Critical (vCore) Service Tiers  All it takes is use of ApplicationIntent in Connection String ie: Server=tcp:<serverName>.database.windows.net;D atabase=<db>;ApplicationIntent=ReadOnly;User ID=<login>;Password=<password>;
  • 44.
  • 46. Auto backup and point-in-time recovery  Automated backup with 7-35 days retention  Stored in included Read-access geo-redundant storage (RA-GRS)  It’s included in price!
  • 47. Auto backup and point-in-time recovery  Can be used to restore database from ANY point in time in retention period (on the same server)  Can be used to restore deleted db on same server  Can be used to restore db to other geographic region (in same subscription)  If server will be deleted – it won’t be possible to perform recovery
  • 48. Up to ten years with long term backup retention
  • 49. Long Term Backup Retention  Backup retention up to 10 years  Restoring DB is possible from PowerShell or Azure CLI  Read-access geo-redundant storage  Not available for Managed Instaces (yet)  Storage of your own choosing
  • 51. Monitoring  Fully integrated with Azure Monitor  Easy access from portal  With some other integrations can be used to develop some kind of autoscale
  • 53.
  • 54. Automatic Performance Tuning  3 independently toggled options – CREATE INDEX, DROP INDEX and FORCE LAST GOOD PLAN  When turned off – you can implement recomendations manually  Gets smarter with time
  • 56. Data discovery and classification
  • 59. Advanced data security  Set of monitoring and mitigation tools integrated with Azure Security Center  Can detect some of most common vulnerabilities early and give some guidelines for fixing them  Gets smarter over time  Can be used to monitor environments 24/7 and notify you when something suspicious happen
  • 60. Do we need a DBA?
  • 61.
  • 62. A little bonus – you can integrate with...  Logic Apps  Data factory  Stream Analytics  Power BI  Azure Search  And more!
  • 63. So... It’s better than SQL Server?
  • 64.
  • 65. Most of the times eveything just works
  • 66. Unless we try to do cross database query
  • 67. Well, cross database queries are possible but not so simple anymore 1. Read my blog post about this here : https://hryniewski.net/2018/01/25/querying-external-databases-in-azure-sql/ 2. Create master key 3. Create database scoped credential 4. Create external data source 5. Create external table 6. Query some shit
  • 68. Many features related to master database
  • 69. Many features regarding master database  If it touches server level – it’s probably not available  If it touches OS level – it’s probably not available  If it touches filesystem - yep, it’s probably not available  Databases in Azure SQL are separate, highly isolated beings – that’s why
  • 70. So, forget about...  Always On Availability Group (but you have other stuff for that)  BACKUP command (but you have automated backups)  Database mail (you can try using logic app)  Server level triggers (yuck)  Other than primary file group  Service broker (there are better services for that)  Profiler (it’s obsolete anyway)  Windows authentication
  • 71.
  • 72. You may also need to remodel your db if you’re using some not supported syntax
  • 73. So beware if you’re using  LOGINS (you’ll ned to switch to USERS)  CLR (entirelly not supported)  USE statement  Events, query notifications etc.  In-memory OLTP (available only in higher service tiers)  Column store indexes (available only in higher service tiers)
  • 74. Gotchas CREATE DATABASE – Creates S0 database (can be expensive if used for development)
  • 75. Gotchas If you’re migrating from SQL Server 2005 or lower – be aware that 100 is the minimum compatibility level that’s supported
  • 76. Gotchas Workloads that made physical server slightly warmed up can use 100% of your resources easily and freeze your application for a long time.
  • 77. Is migration of SQL Server to PaaS hard?
  • 79. Migration 101 (very, very short version)  Download Data Migration Assistant from the title  Use VNET with VPN or Express Route to OnPrem  Set up your network ruless to allow for traffic  Perform compatibility assesment  Create and configure Azure Database Migration Service  Create and configure migration project  Run  Go home.
  • 80.
  • 82. It’s not better. It’s not worse. It’s different. Grab a beer, try it when you sober up. @r_hryniewskifb.me/hryniewskinet