SlideShare uma empresa Scribd logo
1 de 137
Move to Azure!
FREE MICROSOFT AZURE INFORMATIONAL SESSION
PAUL IRWIN, LEAD SOFTWARE ENGINEER @ FEATURE[23]
About Me
 Paul Irwin
 Lead Software Engineer at
feature[23]
 Past experience as lead engineer on
Fanatics’ ecommerce platform
 Microsoft Certified Solutions
Developer: Web Applications
 Co-founder of Code on the Beach
and Code on the Sea
 pirwin@feature23.com
 @paulirwin
Code on the Beach
 The Beachside Software
Engineering Conference
 www.codeonthebeach.com
 @CodeOnTheBeach
 August 8 – 10, 2014
 Registration open now at $250
 Charles Petzold, Greg Young, and
John Papa
 World class resort hotel
 Beach games and events
 Excellent networking
Code on the Sea
 The Software Engineering Cruise
 www.codeonthesea.com
 @CodeOnTheSea
 February 28 – March 5, 2015
 Registration starting at $650
 5 Day Cruise to Bahamas from
Jacksonville
 Carnival Fascination
 Family friendly
 Our greatest hospitality
conference
Why move to Microsoft Azure?
WHAT’S IN IT FOR ME?
Why move to Microsoft Azure?
 Per-minute billing: pay only for what you use
 Instant provisioning
 Insanely scalable
 Save on Windows Server, SQL Server, etc. licenses
 Less infrastructure maintenance costs
 No need to deal with hardware failures
 Geographically-distributed High Availability / Disaster Recovery
 Tons of built-in APIs and services
Windows Azure Facilities
Inside a Facility
Inside a Container
Moving to Microsoft Azure
 Covered today: ASP.NET Apps (WebForms, MVC, Web API, etc.)
 Not covered today: PHP, Python, Node.js, Ruby, Java, etc.
 Simple apps can usually be moved as-is
 Complex apps need architecture thought
 Platform-as-a-Service vs Infrastructure-as-a-Service
PaaS vs IaaS
Platform-as-a-Service (PaaS)
 Pros
 Easy to scale
 Can be cheaper than IaaS
 Feature-rich cloud APIs
 No software licenses needed
 Cons
 Can necessitate re-architecting
 Less control
Infrastructure-as-a-Service (IaaS)
 Pros
 Full control
 Run any software unmodified
 BYO or Per-minute Licenses
 Cons
 Usually more expensive
 Must scale the “old way” or create
custom scripts
 You still need licenses
Scenario
 Employment ASP.NET MVC Web Application in Web Farm
 SQL Server database
 ASP.NET State Server for Session State
 Facebook and Google OAuth sign-in
 Lots of CSS, JS, and image content
 Windows Scheduled Tasks to inform applicants of new opportunities
 MSMQ queue where job applications are received for processing
 Job application processor Windows Service
 DR datacenter across country
Step 1: Move the SQL Database
Step 1: Move the SQL Database
 SQL Server in an Azure Virtual Machine (IaaS solution)
 Pros
 Ultimate power and flexibility
 Full feature set
 SSIS, SSAS, SSRS, SQL Agent
 RDP into the VM for management
 No new training required
 Easy to set up AlwaysOn/mirroring HA
 Option to pay per-minute with SQL Server license included
 Cons
 EXTREMELY expensive if license included and running 24/7
 Not as performant as high-end on-prem hardware
 Manage updates/service packs manually
Step 1: Move the SQL Database
 Azure SQL Database (PaaS solution)
 Pros
 Very affordable (starting at $5/mo)
 Scales easily
 Built-in High Availability
 Auto-management of updates/service packs
 No need for Windows Server / SQL Server licenses
 Cons
 Limited feature set
 Limited control over instances
Azure SQL Database Missing Features
• Integration Services
• Analysis Services
• Reporting Services
• SQL Agent
• SQL CLR
• Msdb, model databases
• Traditional Backup/Restore/Attach
• Distributed transactions
• Unlimited DB size
• Windows Authentication
• Extended Events
• FILESTREAM
• File Groups (i.e. ON PRIMARY)
• File management
• Full-text search
• Replication / Mirroring
• Service Broker
• XML Indexing
• “USE [database]” / Cross-DB queries
• Hekaton – In-Memory OLTP (SQL Svr 2014)
Azure SQL Database Features
 Just about everything else
 Tables, indexes, FKs, views, stored procedures, functions, triggers, CTEs,
custom types, TVPs, temp tables, logins/users, etc.
 Built-in High Availability
 Your database synced to multiple nodes with auto failover – for FREE!
 Click-to-scale
 Latest T-SQL Features
 i.e. OFFSET/FETCH in SQL Server 2012
 REST API for managing databases
 CHEAP
 Connect to it from elsewhere
 Via SSMS, SSIS, SSAS, SSRS, SQL Agent, bcp, etc.
SQL Server VM IaaS Pricing
Size CPUs Memory BYO
License
Web
Edition
Standard
Edition
Enterprise
Edition
Small 1 1.75GB $66.96 $100.44 $476.16 $1,629.36
Medium 2 3.5GB $133.92 $167.40 $543.12 $1,696.32
Large 4 7GB $267.84 $301.32 $677.04 $1,830.24
X-Large 8 14GB $535.68 $602.64 $1,354.08 $3,660.48
A5 (HM) 2 14GB $297.60 $331.08 $706.80 $1,860.00
A6 (HM) 4 28GB $595.20 $628.68 $1,004.40 $2,157.60
A7 (HM) 8 56GB $1,190.40 $1,257.36 $2,008.80 $4,315.20
Azure SQL Database PaaS Pricing
Database Size Monthly Price
20 MB FREE
100 MB $5.00
1 GB $9.99
5 GB $25.98
10 GB $45.96
50 GB $125.88
100 GB $175.83
150 GB $225.78
> 150 GB * Premium Instance Pricing *
The Amazing NEW Button
Creating a New Azure SQL DB
Subscriptions and Directories
 Highest level: Directories
 Equivalent to Active Directory directories
 One is created for you automatically
 Can contain multiple Subscriptions
 Should be organization-level
 Next level: Subscriptions
 Now must belong to a Directory
 Contain multiple Services
 Tied to a credit card
 Should be used for keeping billing separate
 Lowest level: Services
 Must belong to a Subscription
 Changing the Subscription later is not fun
SQL Azure Firewall Rules
Move Your Data/Schema to SQL Azure
1. Entity Framework Migrations
2. “Generate Scripts” from SSMS
3. BCP.exe
4. BACPAC to Blob Storage
5. RedGate SQL Compare and SQL Data Compare
Entity Framework Migrations
 Schema and seeded data only
 Update-Database -ConnectionStringName ProdForMigrations
 Database.SetInitializer(new MigrateDatabaseToLatestVersion(…))
“Generate Scripts” for SQL Azure
BCP.exe to SQL Azure
 bcp AdventureWorks2012.Sales.Customer in
C:UsersuserDocumentsMoveDataToSQLAzure.txt -c -U
username@servername -S tcp:servername.database.windows.net -P
password
 http://tinyurl.com/azuresqlbcp
BACPAC to Blob Storage
 In SSMS: Tasks / Export Data-tier
Application / Save to Windows
Azure
 Save to Blob Storage
 Will throw errors on any Azure-
incompatible objects
 Load BACPAC from Blob Storage
into NEW database
 http://tinyurl.com/azuresqlbacpac
RedGate Tools
 SQL Compare to compare schema
 SQL Data Compare to compare table records
 Beware of long-connection timeouts!
 $495 from www.redgate.com
Step 2: Move the ASP.NET App
Options for Web Hosting in Azure
Azure Web Sites
• PaaS
• Cheaper to get started
• Supports ASP.NET,
Node.js, PHP, etc.
• Simpler to deploy
• Less powerful
Azure Cloud
Services
• PaaS
• Cheaper to scale
• Only ASP.NET
• Staging/Production VIP
Swap Deployments
• Very powerful
• RDP into instance(s)
• Auto-updated
IIS in a Windows
Server VM
• IaaS
• Expensive
• Full IIS/Windows
Features
• Need to manage
Windows Updates, etc.
Azure Cloud Service Web Roles
 ASP.NET WebForms, MVC, Web API, WCF, etc.
 Provisions a Windows Server VM and deploys your app to IIS
 Control over version of Windows Server (IIS)
 Windows Server 2008 R2, 2012, or 2012 R2
 No need to pay for Windows Server license
 Staging/Production deployments with VIP Swap
 Temporary or persisted local storage
 Load balancing built-in
 Click-to-scale or Auto-scale
 HTTP, HTTPS, or TCP internal/external endpoints
Azure Cloud Service Pricing
Size Name Virtual Cores Memory Price Per Hour Price Per Month
Extra-Small Shared 768 MB $0.02 ~ $15
Small 1 1.75 GB $0.08 ~ $60
Medium 2 3.5 GB $0.16 ~ $120
Large 4 7 GB $0.32 ~ $239
Extra-Large 8 14 GB $0.64 ~ $477
High-Memory A5 2 14 GB $0.35 ~ $261
High-Memory A6 4 28 GB $0.71 ~ $529
High-Memory A7 8 56 GB $1.41 ~ $1,050
www.windowsazure.com/en-us/pricing/details/cloud-services/
Cloud Service Deployment
1. Create an Azure Cloud Service project in your VS sln
2. Add your ASP.NET web site to the Cloud Service project as a Web
Role
3. Package your Cloud Service
4. Upload package to Azure, provisions new Staging environment
5. Test staging site at unique URL
6. VIP Swap staging into production (and vice versa)
7. Test production
8. Stop staging environment (save on billing costs)
Creating a Cloud Service
Our Existing Application
Creating a Cloud Service Project
Add Existing Project as Web Role
Choose Web Project as Web Role
Set Scale
Package Cloud Service for
Deployment
Deployment Options
Upload to Azure Portal
Uploading a Package
Provisioning Staging Environment
Up and Running
Finding Staging Site URL
Testing Staging
VIP Swap into Production
Test Production
DNS Setup
 Cloud Services
 CNAME only
 i.e.: www.myapp.com is CNAME’d to myapp.cloudapp.net
 Redirect from myapp.com to www.myapp.com
 Web Sites
 CNAME or A
 Must verify domain name with awverify CNAME
 Can be finicky!
Delete Staging Environment
Monitoring your Cloud Service
Scaling your Cloud Service
Step 3: Handling Session State
Azure Session State Options
Table Storage
•Cheap
•Slower
•Scalable
•HA built-in
•Persisted
SQL Database
•Cheap-ish
•Fast-ish
•Not as
scalable
•HA built-in
•Persisted
Cache Role
•Costly
•Fast
•Scalable
•HA available
•Feature rich
•Not persisted
In-Role Cache
•No cost
•Fast
•Scalable
•HA with
scale
•Feature rich
•Not persisted
Enable In-Role Caching
Enable Cache Providers
Set Cache Client Settings
Step 4: Enabling ACS for OAuth
Azure Access Control Service
 Provides managed identity federation
 Supports Active Directory and OAuth
 FREE! Like really, truly FREE!
 OAuth Providers:
 Microsoft Account
 Google
 Yahoo!
 Facebook
 Uses Windows Identity Foundation
 More info: http://msdn.microsoft.com/library/azure/hh147631.aspx
Overview
Create an ACS Namespace
Manage ACS Namespace
ACS Management Portal
Add Identity Provider(s)
Add Facebook Application
Configured Identity Providers
Add Relying Party Application
Generate Default Rules
Configure WIF
Web.config Changes
More Web.config Changes
[Authorize] Actions
Secure Page Redirect
Sign In at Identity Provider
… and we’re authenticated!
More ACS Information
 There was a bit of code I didn’t show you…
 http://garvincasimir.wordpress.com/2012/04/16/tutorial-mvc-
application-using-azure-acs-and-forms-authentication-part-2/
Step 5: Store the Images
Azure Storage Options
Blob
•Any binary
data
•Cheap
•Scalable
•HA built-in
Table
•Structured
non-
relational
data
•Cheap
•Scalable
•HA built-in
Queue
•FIFO
messages
•Cheap
•Scalable
•HA built-in
SQL
•Structured
relational
data
•Pricey
•Somewhat
scalable
•HA built-in
Blob Storage Overview
 Any binary data: images, files, disks, backups, etc.
 Block blobs: read/write entire blob at once
 Page blobs: read/write pages of blob randomly
 LRS: Locally-redundant Storage – 3 copies in same facility
 GRS: Geographically-redundant Storage – 6 copies in 2 regions
 LRS Pricing: 5 to 6.8 cents per GB per month or less
 GRS Pricing: 8.5 to 9.5 cents per GB per month or less
 New ZRS (Zone-redundant Storage) to match Amazon
Blob Storage Developer Workflow
1. Connection string: UseDevelopmentStorage=true
2. Start debugging, starts storage emulator
3. Test app
4. When ready to deploy, transform connection string
Setting up Blob Storage
Storage Dashboard
Manage Access Keys
Setup Connection Strings
Create a Blob
List Blobs
Get Blob Data
Step 6: Azure CDN for static content
When to use the Azure CDN
 Content Delivery Networks efficiently cache static content at edge
nodes close to your site viewers
 Great for JavaScript, CSS, images, etc.
 Well suited for content that doesn’t change often
 Helps your app scale
 Frees up your web server to do other things
Azure CDN Requirements
 Blob Storage CDN
 Blob container must be publicly available
 Blob container must allow anonymous access
 Items should be less than 10 GB in size
 Cloud Service CDN
 Content must be under /cdn folder
 Cloud Service must be a Production deployment
 Content must be available on port 80
 Content should be static
Azure CDN Pricing
 1 cent per month for every 100k transactions
 12 cents per GB transferred per month
 For North America and Europe; other zones more expensive
 Price drops per GB after 10 TB transferred per month
Create New CDN Endpoint
CDN Endpoint Details
Replace Content URLs
 Blob storage URL:
http://f23azuredemo.blob.core.windows.net/images/Microsoft.png
 Equivalent CDN URL:
http://az590111.vo.msecnd.net/images/Microsoft.png
 Alternatively, create a CNAME DNS entry for your CDN hostname
Step 7: Scheduled Tasks
Azure Scheduler
 Allows you to schedule HTTP requests to invoke your code
 Or post a message to a storage Queue
 Scheduled tasks are “jobs”
 Jobs are organized into Job Collections
Azure Scheduler Pricing
Free Tier
 FREE
 1 job collection
 Up to 5 jobs
 Max hourly frequency
 Up to 3,600 executions per month
Standard Tier
 $10/mo
 Up to 10 job collections
 Up to 50 jobs per collection
 Max every minute frequency
 Unlimited executions per month
Creating a Job Collection
Creating a Job Collection
Create New HTTP Job
Create New Queue Job
Define a Schedule
Step 8: Move the MSMQ Queue
Scenario
 MSMQ queue
 Each message is a job application
 Service picks up job applications for processing
User
Job
Application
MSMQ
Processing
Service
Azure Queue Offerings
Azure Storage Queue
 0.5 cents per 100k transactions
 7 cents per GB (LRS)
 Simple REST API
 Max 64KB message size
 Leasing to handle service failures
 Transaction logging
 7-day limit
 Batched receive only
Azure Service Bus
 1 cent per 10k messages
 WCF Integration
 Duplicate detection
 Transaction support
 Can exceed 7 days
 Messages should be < 64KB
 256 KB message size limit
 Guaranteed FIFO
 Batched send & receive
Azure Storage Queue Workflow
 Posting Messages
1. Create Queue Client
2. Create new CloudQueueMessage
3. Call AddMessageAsync
 Receiving Messages
1. Create Queue Client
2. Call GetMessageAsync
3. If null, return or wait to try again
4. Process message however you like
5. Call DeleteMessageAsync
Add Message to Storage Queue
Get Message from Queue
Azure Service Bus Workflow
 Prerequisite: Create SB namespace and queue, get credentials
 Posting Messages
1. Create Service Bus QueueClient
2. Create new BrokeredMessage
3. Call SendAsync
 Receiving Messages
1. Create Service Bus QueueClient
2. Call ReceiveAsync
3. If null, return or wait to try again
4. Process message however you would like
5. Call CompleteAsync on success, or Abandon on failure
Creating a Service Bus Queue
Creating a Service Bus Queue
Configure Service Bus Queue
Add Message to SB Queue
Receive Message from SB Queue
Step 9: Application Processing Service
Scenario
 Job Application Processing Service
 Windows Service
 Takes applications from MSMQ – now Service Bus or Storage Queue
 Sends emails to employers, stores data in SQL
Azure Worker Roles
 Similar to Cloud Service Web Roles
 Same instance sizing and pricing
 Same scaling options
 Same deployment model
 Same benefits/tradeoffs
 Designed for:
 WCF services
 WF services
 while (true) { … }
Add New Worker Role Project
Create New Worker Role Project
Project Structure
Worker Role Lifecycle
 bool OnStart()
 Called when role is started
 Load initial state, set options
 void Run()
 This is where your main work happens
 while (true) { … }
 void OnStop()
 Called when role is stopping
 This can be a manual stop or Windows Updates
 Clean up after your service
 Max 5 minutes, then terminated
Worker Role RunAsync
Process Queue Messages
Step 10: High Availability and
Disaster Recovery
HA and DR: SQL Database
 HA Built-in
 3 nodes in same facility
 One Primary and Two Secondary nodes
 Transient failure retry logic required
 DR options
 BACPAC to another data center
 Sync data with SSIS (from another server/VM)
 RedGate Cloud Services – cloudservices.redgate.com
 Backup SQL Database to Blob Storage or Amazon S3
 Transactionally-consistent
 Set custom retention policy
RedGate Cloud Services Pricing
Backup Frequency Monthly Price
Weekly $2.50
Daily $10.00
2x Daily (12 hrs) $20.00
4x Daily (6 hrs) $40.00
Does not include storage, transaction, or bandwidth costs.
DON’T HAVE A BACKUP STRATEGY!
HA and DR: Azure Storage
 HA Built-in
 LRS: 3 copies of data in same facility
 ZRS: 3 copies of data in different facilities, same region
 GRS: 6 copies of data, 3 each in 2 regions
 DR Options
 Rely on ZRS or GRS
 RedGate Cloud Services – cloudservices.redgate.com
 Backup blobs or tables to another blob storage region or Amazon S3
 Table backups are compressed JSON
 Same pricing as SQL backup
HA and DR: Cloud Services
 HA Available
 Should use at least 2 instances of each web/worker role
 99.95% SLA if at least 2 instances
 Update domains maintain uptime
 DR Options
 Azure Traffic Manager
 Cloud service running in multiple regions
 Failover to other region, or load balance (costly)
 BYO Traffic Manager
 F5, Juniper, etc.
HA and DR: Service Bus Queues
 HA Built-in
 99.9% monthly SLA
 DR Options
 Persist queue messages elsewhere as backup (blob, table, sql, etc)
 Multiple SB namespaces/queues in different regions
 Sync queues
 Restore queue messages from backup in other region (if needed)
Summary
Summary
The Old Way
 ASP.NET Web Application
 SQL Server Database
 ASP.NET State Server
 Manual OAuth Wire-up
 CSS, JS, Image content in IIS
 Windows Scheduled Tasks
 MSMQ queue for job applications
 Windows service
 DR datacenter across country
The Azure Way
 Cloud Service Web Role
 Azure SQL Database
 In-Role Distributed Caching
 Azure Access Control Service
 Azure CDN, Blob Storage
 Azure Scheduler
 Azure Storage Queue / Service Bus
 Cloud Service Worker Role
 HA by default, easy DR options
Code Changes
 Use only SQL Database features available
 Add transient failure retry logic for ADO.NET queries
 Add HrdClient for Azure Access Control Service
 Rewrite URLs for Azure CDN
 Code to read/write images from Blob Storage
 Code to handle HTTP or queue message from scheduled task
 Handle Storage Queue or Service Bus Queue messages
 Move Windows Service code to Worker Role
Azure Features Not Covered
 Table Storage
 Web Sites
 Virtual Machines
 Mobile Services
 Mobile Push Notifications
 HDInsight – Hadoop on Azure
 Media Services – Olympics
 Service Bus Topics
 Service Bus Relays
 Service Bus Notification Hubs
 Cache Roles
 BizTalk Services
 Recovery Services
 Virtual Networks
 Management Alerts
 Azure Active Directory
 Multi-factor Authentication
 Rights management
 Add-ons
 … and other features added since
I made this presentation
Q&A

Mais conteúdo relacionado

Mais procurados

Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure EnvironmentMichael Collier
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesMichael Collier
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationMichael Collier
 
AWS Webcast - Understanding database options
AWS Webcast - Understanding database optionsAWS Webcast - Understanding database options
AWS Webcast - Understanding database optionsAmazon Web Services
 
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...Amazon Web Services
 
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...Amazon Web Services
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseAmazon Web Services
 
DV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureDV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureRonald Widha
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to AzureKaren Lopez
 
Apache hadoop for windows server and windwos azure
Apache hadoop for windows server and windwos azureApache hadoop for windows server and windwos azure
Apache hadoop for windows server and windwos azureBrad Sarsfield
 
Windows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementWindows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementMichael Collier
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Kamalesh Ramasamy
 
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic BeanstalkAmazon Web Services
 
What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesAmazon Web Services
 
AWS Webcast - Introducing Amazon RDS for PostgreSQL
AWS Webcast - Introducing Amazon RDS for PostgreSQLAWS Webcast - Introducing Amazon RDS for PostgreSQL
AWS Webcast - Introducing Amazon RDS for PostgreSQLAmazon Web Services
 
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...Amazon Web Services
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldIdo Flatow
 

Mais procurados (20)

Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure Environment
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block Services
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
 
AWS Webcast - Understanding database options
AWS Webcast - Understanding database optionsAWS Webcast - Understanding database options
AWS Webcast - Understanding database options
 
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...
Day 3 - AWS MySQL Relational Database Service Best Practices for Performance ...
 
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...
AWS Webcast - Amazon RDS - Running Low Admin High Performance Databases in th...
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
 
IaaS azure_vs_amazon
IaaS azure_vs_amazonIaaS azure_vs_amazon
IaaS azure_vs_amazon
 
DV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows AzureDV03 Smooth Migration to Windows Azure
DV03 Smooth Migration to Windows Azure
 
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to Azure
 
Apache hadoop for windows server and windwos azure
Apache hadoop for windows server and windwos azureApache hadoop for windows server and windwos azure
Apache hadoop for windows server and windwos azure
 
Windows Azure for Developers - Service Management
Windows Azure for Developers - Service ManagementWindows Azure for Developers - Service Management
Windows Azure for Developers - Service Management
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
 
Virtualization and Containers
Virtualization and ContainersVirtualization and Containers
Virtualization and Containers
 
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
 
What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial Databases
 
AWS Webcast - Introducing Amazon RDS for PostgreSQL
AWS Webcast - Introducing Amazon RDS for PostgreSQLAWS Webcast - Introducing Amazon RDS for PostgreSQL
AWS Webcast - Introducing Amazon RDS for PostgreSQL
 
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...
AWS Webcast - Introduction to Amazon RDS: Low Admin, High Performance Databas...
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 

Destaque

Differences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureDifferences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureMichal Neuwirth
 
Concurrency presents Dynamics CRM 2013
Concurrency presents Dynamics CRM 2013Concurrency presents Dynamics CRM 2013
Concurrency presents Dynamics CRM 2013Concurrency, Inc.
 
Scientific Visualization
Scientific VisualizationScientific Visualization
Scientific VisualizationJosef Heinen
 
Concurrency presents Modern Datacenter
Concurrency presents Modern DatacenterConcurrency presents Modern Datacenter
Concurrency presents Modern DatacenterConcurrency, Inc.
 
Microsoft Unified Communications Summit
Microsoft Unified Communications SummitMicrosoft Unified Communications Summit
Microsoft Unified Communications SummitConcurrency, Inc.
 
Pricing for profit
Pricing for profitPricing for profit
Pricing for profitAzure Group
 
Certificate - Azure Fundamentals
Certificate - Azure FundamentalsCertificate - Azure Fundamentals
Certificate - Azure FundamentalsClaude LACHAPELLE
 
City square presentation
City square presentationCity square presentation
City square presentationfishball5
 
Software Licensing for SaaS Applications
Software Licensing for SaaS ApplicationsSoftware Licensing for SaaS Applications
Software Licensing for SaaS ApplicationsInishTech
 
SharePoint Online Collaboration Options
SharePoint Online Collaboration OptionsSharePoint Online Collaboration Options
SharePoint Online Collaboration OptionsRoman Nedzelsky
 
Azure licensing (not) so easy - Laurynas Dovydaitis
Azure licensing (not) so easy - Laurynas DovydaitisAzure licensing (not) so easy - Laurynas Dovydaitis
Azure licensing (not) so easy - Laurynas DovydaitisITCamp
 
Federal it transformation plans
Federal it transformation plansFederal it transformation plans
Federal it transformation plansStephen Castellari
 
ITCamp 2013 - Peter Leeson - Intelligent Evolution
ITCamp 2013 - Peter Leeson - Intelligent EvolutionITCamp 2013 - Peter Leeson - Intelligent Evolution
ITCamp 2013 - Peter Leeson - Intelligent EvolutionITCamp
 
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...James Organ
 

Destaque (20)

Differences Between On Premise And Windows Azure
Differences Between On Premise And Windows AzureDifferences Between On Premise And Windows Azure
Differences Between On Premise And Windows Azure
 
Concurrency presents Dynamics CRM 2013
Concurrency presents Dynamics CRM 2013Concurrency presents Dynamics CRM 2013
Concurrency presents Dynamics CRM 2013
 
Evaluation
EvaluationEvaluation
Evaluation
 
Scientific Visualization
Scientific VisualizationScientific Visualization
Scientific Visualization
 
PSIGEN Document Capture
PSIGEN Document CapturePSIGEN Document Capture
PSIGEN Document Capture
 
Concurrency presents Modern Datacenter
Concurrency presents Modern DatacenterConcurrency presents Modern Datacenter
Concurrency presents Modern Datacenter
 
Microsoft Unified Communications Summit
Microsoft Unified Communications SummitMicrosoft Unified Communications Summit
Microsoft Unified Communications Summit
 
Pricing for profit
Pricing for profitPricing for profit
Pricing for profit
 
Certificate - Azure Fundamentals
Certificate - Azure FundamentalsCertificate - Azure Fundamentals
Certificate - Azure Fundamentals
 
Articulo
ArticuloArticulo
Articulo
 
City square presentation
City square presentationCity square presentation
City square presentation
 
Software Licensing for SaaS Applications
Software Licensing for SaaS ApplicationsSoftware Licensing for SaaS Applications
Software Licensing for SaaS Applications
 
Drp
DrpDrp
Drp
 
SharePoint Online Collaboration Options
SharePoint Online Collaboration OptionsSharePoint Online Collaboration Options
SharePoint Online Collaboration Options
 
Azure licensing (not) so easy - Laurynas Dovydaitis
Azure licensing (not) so easy - Laurynas DovydaitisAzure licensing (not) so easy - Laurynas Dovydaitis
Azure licensing (not) so easy - Laurynas Dovydaitis
 
Tutorial Brainshark 4
Tutorial Brainshark 4Tutorial Brainshark 4
Tutorial Brainshark 4
 
Federal it transformation plans
Federal it transformation plansFederal it transformation plans
Federal it transformation plans
 
Fy10 us budget_spending
Fy10 us budget_spendingFy10 us budget_spending
Fy10 us budget_spending
 
ITCamp 2013 - Peter Leeson - Intelligent Evolution
ITCamp 2013 - Peter Leeson - Intelligent EvolutionITCamp 2013 - Peter Leeson - Intelligent Evolution
ITCamp 2013 - Peter Leeson - Intelligent Evolution
 
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...
Automotive Industry Research: An Analysis of the Key Insights from the VFACTS...
 

Semelhante a Move to azure

Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureIdo Flatow
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Easing ASP.NET Web and SQL Server Database Deployment with VS 2010 and MsDeploy
Easing ASP.NET Web and  SQL Server Database Deployment withVS 2010 and MsDeployEasing ASP.NET Web and  SQL Server Database Deployment withVS 2010 and MsDeploy
Easing ASP.NET Web and SQL Server Database Deployment with VS 2010 and MsDeployEduardo Castro
 
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft Private Cloud
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Chris Dufour
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft AzureGuy Barrette
 
2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with AzureMarco Parenzan
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformWade Wegner
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applicationsManish Corriea
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More CloudyMaarten Balliauw
 
Azure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerAzure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerMicrosoft Tech Community
 
Reference for data migration pls choose and
Reference for data migration pls choose andReference for data migration pls choose and
Reference for data migration pls choose andiswarianagarajan
 

Semelhante a Move to azure (20)

Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Easing ASP.NET Web and SQL Server Database Deployment with VS 2010 and MsDeploy
Easing ASP.NET Web and  SQL Server Database Deployment withVS 2010 and MsDeployEasing ASP.NET Web and  SQL Server Database Deployment withVS 2010 and MsDeploy
Easing ASP.NET Web and SQL Server Database Deployment with VS 2010 and MsDeploy
 
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft Azure
 
Sql Azure Pass
Sql Azure PassSql Azure Pass
Sql Azure Pass
 
Sql Azure Pass
Sql Azure PassSql Azure Pass
Sql Azure Pass
 
2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure2014.11.14 Data Opportunities with Azure
2014.11.14 Data Opportunities with Azure
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Day Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure PlatformDay Of Cloud - Windows Azure Platform
Day Of Cloud - Windows Azure Platform
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
Azure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerAzure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layer
 
Reference for data migration pls choose and
Reference for data migration pls choose andReference for data migration pls choose and
Reference for data migration pls choose and
 

Último

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Move to azure

  • 1. Move to Azure! FREE MICROSOFT AZURE INFORMATIONAL SESSION PAUL IRWIN, LEAD SOFTWARE ENGINEER @ FEATURE[23]
  • 2. About Me  Paul Irwin  Lead Software Engineer at feature[23]  Past experience as lead engineer on Fanatics’ ecommerce platform  Microsoft Certified Solutions Developer: Web Applications  Co-founder of Code on the Beach and Code on the Sea  pirwin@feature23.com  @paulirwin
  • 3. Code on the Beach  The Beachside Software Engineering Conference  www.codeonthebeach.com  @CodeOnTheBeach  August 8 – 10, 2014  Registration open now at $250  Charles Petzold, Greg Young, and John Papa  World class resort hotel  Beach games and events  Excellent networking
  • 4. Code on the Sea  The Software Engineering Cruise  www.codeonthesea.com  @CodeOnTheSea  February 28 – March 5, 2015  Registration starting at $650  5 Day Cruise to Bahamas from Jacksonville  Carnival Fascination  Family friendly  Our greatest hospitality conference
  • 5. Why move to Microsoft Azure? WHAT’S IN IT FOR ME?
  • 6. Why move to Microsoft Azure?  Per-minute billing: pay only for what you use  Instant provisioning  Insanely scalable  Save on Windows Server, SQL Server, etc. licenses  Less infrastructure maintenance costs  No need to deal with hardware failures  Geographically-distributed High Availability / Disaster Recovery  Tons of built-in APIs and services
  • 10. Moving to Microsoft Azure  Covered today: ASP.NET Apps (WebForms, MVC, Web API, etc.)  Not covered today: PHP, Python, Node.js, Ruby, Java, etc.  Simple apps can usually be moved as-is  Complex apps need architecture thought  Platform-as-a-Service vs Infrastructure-as-a-Service
  • 11. PaaS vs IaaS Platform-as-a-Service (PaaS)  Pros  Easy to scale  Can be cheaper than IaaS  Feature-rich cloud APIs  No software licenses needed  Cons  Can necessitate re-architecting  Less control Infrastructure-as-a-Service (IaaS)  Pros  Full control  Run any software unmodified  BYO or Per-minute Licenses  Cons  Usually more expensive  Must scale the “old way” or create custom scripts  You still need licenses
  • 12. Scenario  Employment ASP.NET MVC Web Application in Web Farm  SQL Server database  ASP.NET State Server for Session State  Facebook and Google OAuth sign-in  Lots of CSS, JS, and image content  Windows Scheduled Tasks to inform applicants of new opportunities  MSMQ queue where job applications are received for processing  Job application processor Windows Service  DR datacenter across country
  • 13. Step 1: Move the SQL Database
  • 14. Step 1: Move the SQL Database  SQL Server in an Azure Virtual Machine (IaaS solution)  Pros  Ultimate power and flexibility  Full feature set  SSIS, SSAS, SSRS, SQL Agent  RDP into the VM for management  No new training required  Easy to set up AlwaysOn/mirroring HA  Option to pay per-minute with SQL Server license included  Cons  EXTREMELY expensive if license included and running 24/7  Not as performant as high-end on-prem hardware  Manage updates/service packs manually
  • 15. Step 1: Move the SQL Database  Azure SQL Database (PaaS solution)  Pros  Very affordable (starting at $5/mo)  Scales easily  Built-in High Availability  Auto-management of updates/service packs  No need for Windows Server / SQL Server licenses  Cons  Limited feature set  Limited control over instances
  • 16. Azure SQL Database Missing Features • Integration Services • Analysis Services • Reporting Services • SQL Agent • SQL CLR • Msdb, model databases • Traditional Backup/Restore/Attach • Distributed transactions • Unlimited DB size • Windows Authentication • Extended Events • FILESTREAM • File Groups (i.e. ON PRIMARY) • File management • Full-text search • Replication / Mirroring • Service Broker • XML Indexing • “USE [database]” / Cross-DB queries • Hekaton – In-Memory OLTP (SQL Svr 2014)
  • 17. Azure SQL Database Features  Just about everything else  Tables, indexes, FKs, views, stored procedures, functions, triggers, CTEs, custom types, TVPs, temp tables, logins/users, etc.  Built-in High Availability  Your database synced to multiple nodes with auto failover – for FREE!  Click-to-scale  Latest T-SQL Features  i.e. OFFSET/FETCH in SQL Server 2012  REST API for managing databases  CHEAP  Connect to it from elsewhere  Via SSMS, SSIS, SSAS, SSRS, SQL Agent, bcp, etc.
  • 18. SQL Server VM IaaS Pricing Size CPUs Memory BYO License Web Edition Standard Edition Enterprise Edition Small 1 1.75GB $66.96 $100.44 $476.16 $1,629.36 Medium 2 3.5GB $133.92 $167.40 $543.12 $1,696.32 Large 4 7GB $267.84 $301.32 $677.04 $1,830.24 X-Large 8 14GB $535.68 $602.64 $1,354.08 $3,660.48 A5 (HM) 2 14GB $297.60 $331.08 $706.80 $1,860.00 A6 (HM) 4 28GB $595.20 $628.68 $1,004.40 $2,157.60 A7 (HM) 8 56GB $1,190.40 $1,257.36 $2,008.80 $4,315.20
  • 19. Azure SQL Database PaaS Pricing Database Size Monthly Price 20 MB FREE 100 MB $5.00 1 GB $9.99 5 GB $25.98 10 GB $45.96 50 GB $125.88 100 GB $175.83 150 GB $225.78 > 150 GB * Premium Instance Pricing *
  • 20. The Amazing NEW Button
  • 21. Creating a New Azure SQL DB
  • 22. Subscriptions and Directories  Highest level: Directories  Equivalent to Active Directory directories  One is created for you automatically  Can contain multiple Subscriptions  Should be organization-level  Next level: Subscriptions  Now must belong to a Directory  Contain multiple Services  Tied to a credit card  Should be used for keeping billing separate  Lowest level: Services  Must belong to a Subscription  Changing the Subscription later is not fun
  • 24. Move Your Data/Schema to SQL Azure 1. Entity Framework Migrations 2. “Generate Scripts” from SSMS 3. BCP.exe 4. BACPAC to Blob Storage 5. RedGate SQL Compare and SQL Data Compare
  • 25. Entity Framework Migrations  Schema and seeded data only  Update-Database -ConnectionStringName ProdForMigrations  Database.SetInitializer(new MigrateDatabaseToLatestVersion(…))
  • 27. BCP.exe to SQL Azure  bcp AdventureWorks2012.Sales.Customer in C:UsersuserDocumentsMoveDataToSQLAzure.txt -c -U username@servername -S tcp:servername.database.windows.net -P password  http://tinyurl.com/azuresqlbcp
  • 28. BACPAC to Blob Storage  In SSMS: Tasks / Export Data-tier Application / Save to Windows Azure  Save to Blob Storage  Will throw errors on any Azure- incompatible objects  Load BACPAC from Blob Storage into NEW database  http://tinyurl.com/azuresqlbacpac
  • 29. RedGate Tools  SQL Compare to compare schema  SQL Data Compare to compare table records  Beware of long-connection timeouts!  $495 from www.redgate.com
  • 30. Step 2: Move the ASP.NET App
  • 31. Options for Web Hosting in Azure Azure Web Sites • PaaS • Cheaper to get started • Supports ASP.NET, Node.js, PHP, etc. • Simpler to deploy • Less powerful Azure Cloud Services • PaaS • Cheaper to scale • Only ASP.NET • Staging/Production VIP Swap Deployments • Very powerful • RDP into instance(s) • Auto-updated IIS in a Windows Server VM • IaaS • Expensive • Full IIS/Windows Features • Need to manage Windows Updates, etc.
  • 32. Azure Cloud Service Web Roles  ASP.NET WebForms, MVC, Web API, WCF, etc.  Provisions a Windows Server VM and deploys your app to IIS  Control over version of Windows Server (IIS)  Windows Server 2008 R2, 2012, or 2012 R2  No need to pay for Windows Server license  Staging/Production deployments with VIP Swap  Temporary or persisted local storage  Load balancing built-in  Click-to-scale or Auto-scale  HTTP, HTTPS, or TCP internal/external endpoints
  • 33. Azure Cloud Service Pricing Size Name Virtual Cores Memory Price Per Hour Price Per Month Extra-Small Shared 768 MB $0.02 ~ $15 Small 1 1.75 GB $0.08 ~ $60 Medium 2 3.5 GB $0.16 ~ $120 Large 4 7 GB $0.32 ~ $239 Extra-Large 8 14 GB $0.64 ~ $477 High-Memory A5 2 14 GB $0.35 ~ $261 High-Memory A6 4 28 GB $0.71 ~ $529 High-Memory A7 8 56 GB $1.41 ~ $1,050 www.windowsazure.com/en-us/pricing/details/cloud-services/
  • 34. Cloud Service Deployment 1. Create an Azure Cloud Service project in your VS sln 2. Add your ASP.NET web site to the Cloud Service project as a Web Role 3. Package your Cloud Service 4. Upload package to Azure, provisions new Staging environment 5. Test staging site at unique URL 6. VIP Swap staging into production (and vice versa) 7. Test production 8. Stop staging environment (save on billing costs)
  • 35. Creating a Cloud Service
  • 37. Creating a Cloud Service Project
  • 38. Add Existing Project as Web Role
  • 39. Choose Web Project as Web Role
  • 41. Package Cloud Service for Deployment
  • 43. Upload to Azure Portal
  • 49. VIP Swap into Production
  • 51. DNS Setup  Cloud Services  CNAME only  i.e.: www.myapp.com is CNAME’d to myapp.cloudapp.net  Redirect from myapp.com to www.myapp.com  Web Sites  CNAME or A  Must verify domain name with awverify CNAME  Can be finicky!
  • 55. Step 3: Handling Session State
  • 56. Azure Session State Options Table Storage •Cheap •Slower •Scalable •HA built-in •Persisted SQL Database •Cheap-ish •Fast-ish •Not as scalable •HA built-in •Persisted Cache Role •Costly •Fast •Scalable •HA available •Feature rich •Not persisted In-Role Cache •No cost •Fast •Scalable •HA with scale •Feature rich •Not persisted
  • 59. Set Cache Client Settings
  • 60. Step 4: Enabling ACS for OAuth
  • 61. Azure Access Control Service  Provides managed identity federation  Supports Active Directory and OAuth  FREE! Like really, truly FREE!  OAuth Providers:  Microsoft Account  Google  Yahoo!  Facebook  Uses Windows Identity Foundation  More info: http://msdn.microsoft.com/library/azure/hh147631.aspx
  • 63. Create an ACS Namespace
  • 69. Add Relying Party Application
  • 76. Sign In at Identity Provider
  • 77. … and we’re authenticated!
  • 78. More ACS Information  There was a bit of code I didn’t show you…  http://garvincasimir.wordpress.com/2012/04/16/tutorial-mvc- application-using-azure-acs-and-forms-authentication-part-2/
  • 79. Step 5: Store the Images
  • 80. Azure Storage Options Blob •Any binary data •Cheap •Scalable •HA built-in Table •Structured non- relational data •Cheap •Scalable •HA built-in Queue •FIFO messages •Cheap •Scalable •HA built-in SQL •Structured relational data •Pricey •Somewhat scalable •HA built-in
  • 81. Blob Storage Overview  Any binary data: images, files, disks, backups, etc.  Block blobs: read/write entire blob at once  Page blobs: read/write pages of blob randomly  LRS: Locally-redundant Storage – 3 copies in same facility  GRS: Geographically-redundant Storage – 6 copies in 2 regions  LRS Pricing: 5 to 6.8 cents per GB per month or less  GRS Pricing: 8.5 to 9.5 cents per GB per month or less  New ZRS (Zone-redundant Storage) to match Amazon
  • 82. Blob Storage Developer Workflow 1. Connection string: UseDevelopmentStorage=true 2. Start debugging, starts storage emulator 3. Test app 4. When ready to deploy, transform connection string
  • 83. Setting up Blob Storage
  • 90. Step 6: Azure CDN for static content
  • 91. When to use the Azure CDN  Content Delivery Networks efficiently cache static content at edge nodes close to your site viewers  Great for JavaScript, CSS, images, etc.  Well suited for content that doesn’t change often  Helps your app scale  Frees up your web server to do other things
  • 92. Azure CDN Requirements  Blob Storage CDN  Blob container must be publicly available  Blob container must allow anonymous access  Items should be less than 10 GB in size  Cloud Service CDN  Content must be under /cdn folder  Cloud Service must be a Production deployment  Content must be available on port 80  Content should be static
  • 93. Azure CDN Pricing  1 cent per month for every 100k transactions  12 cents per GB transferred per month  For North America and Europe; other zones more expensive  Price drops per GB after 10 TB transferred per month
  • 94. Create New CDN Endpoint
  • 96. Replace Content URLs  Blob storage URL: http://f23azuredemo.blob.core.windows.net/images/Microsoft.png  Equivalent CDN URL: http://az590111.vo.msecnd.net/images/Microsoft.png  Alternatively, create a CNAME DNS entry for your CDN hostname
  • 98. Azure Scheduler  Allows you to schedule HTTP requests to invoke your code  Or post a message to a storage Queue  Scheduled tasks are “jobs”  Jobs are organized into Job Collections
  • 99. Azure Scheduler Pricing Free Tier  FREE  1 job collection  Up to 5 jobs  Max hourly frequency  Up to 3,600 executions per month Standard Tier  $10/mo  Up to 10 job collections  Up to 50 jobs per collection  Max every minute frequency  Unlimited executions per month
  • 100. Creating a Job Collection
  • 101. Creating a Job Collection
  • 105. Step 8: Move the MSMQ Queue
  • 106. Scenario  MSMQ queue  Each message is a job application  Service picks up job applications for processing User Job Application MSMQ Processing Service
  • 107. Azure Queue Offerings Azure Storage Queue  0.5 cents per 100k transactions  7 cents per GB (LRS)  Simple REST API  Max 64KB message size  Leasing to handle service failures  Transaction logging  7-day limit  Batched receive only Azure Service Bus  1 cent per 10k messages  WCF Integration  Duplicate detection  Transaction support  Can exceed 7 days  Messages should be < 64KB  256 KB message size limit  Guaranteed FIFO  Batched send & receive
  • 108. Azure Storage Queue Workflow  Posting Messages 1. Create Queue Client 2. Create new CloudQueueMessage 3. Call AddMessageAsync  Receiving Messages 1. Create Queue Client 2. Call GetMessageAsync 3. If null, return or wait to try again 4. Process message however you like 5. Call DeleteMessageAsync
  • 109. Add Message to Storage Queue
  • 111. Azure Service Bus Workflow  Prerequisite: Create SB namespace and queue, get credentials  Posting Messages 1. Create Service Bus QueueClient 2. Create new BrokeredMessage 3. Call SendAsync  Receiving Messages 1. Create Service Bus QueueClient 2. Call ReceiveAsync 3. If null, return or wait to try again 4. Process message however you would like 5. Call CompleteAsync on success, or Abandon on failure
  • 112. Creating a Service Bus Queue
  • 113. Creating a Service Bus Queue
  • 115. Add Message to SB Queue
  • 116. Receive Message from SB Queue
  • 117. Step 9: Application Processing Service
  • 118. Scenario  Job Application Processing Service  Windows Service  Takes applications from MSMQ – now Service Bus or Storage Queue  Sends emails to employers, stores data in SQL
  • 119. Azure Worker Roles  Similar to Cloud Service Web Roles  Same instance sizing and pricing  Same scaling options  Same deployment model  Same benefits/tradeoffs  Designed for:  WCF services  WF services  while (true) { … }
  • 120. Add New Worker Role Project
  • 121. Create New Worker Role Project
  • 123. Worker Role Lifecycle  bool OnStart()  Called when role is started  Load initial state, set options  void Run()  This is where your main work happens  while (true) { … }  void OnStop()  Called when role is stopping  This can be a manual stop or Windows Updates  Clean up after your service  Max 5 minutes, then terminated
  • 126. Step 10: High Availability and Disaster Recovery
  • 127. HA and DR: SQL Database  HA Built-in  3 nodes in same facility  One Primary and Two Secondary nodes  Transient failure retry logic required  DR options  BACPAC to another data center  Sync data with SSIS (from another server/VM)  RedGate Cloud Services – cloudservices.redgate.com  Backup SQL Database to Blob Storage or Amazon S3  Transactionally-consistent  Set custom retention policy
  • 128. RedGate Cloud Services Pricing Backup Frequency Monthly Price Weekly $2.50 Daily $10.00 2x Daily (12 hrs) $20.00 4x Daily (6 hrs) $40.00 Does not include storage, transaction, or bandwidth costs.
  • 129. DON’T HAVE A BACKUP STRATEGY!
  • 130. HA and DR: Azure Storage  HA Built-in  LRS: 3 copies of data in same facility  ZRS: 3 copies of data in different facilities, same region  GRS: 6 copies of data, 3 each in 2 regions  DR Options  Rely on ZRS or GRS  RedGate Cloud Services – cloudservices.redgate.com  Backup blobs or tables to another blob storage region or Amazon S3  Table backups are compressed JSON  Same pricing as SQL backup
  • 131. HA and DR: Cloud Services  HA Available  Should use at least 2 instances of each web/worker role  99.95% SLA if at least 2 instances  Update domains maintain uptime  DR Options  Azure Traffic Manager  Cloud service running in multiple regions  Failover to other region, or load balance (costly)  BYO Traffic Manager  F5, Juniper, etc.
  • 132. HA and DR: Service Bus Queues  HA Built-in  99.9% monthly SLA  DR Options  Persist queue messages elsewhere as backup (blob, table, sql, etc)  Multiple SB namespaces/queues in different regions  Sync queues  Restore queue messages from backup in other region (if needed)
  • 134. Summary The Old Way  ASP.NET Web Application  SQL Server Database  ASP.NET State Server  Manual OAuth Wire-up  CSS, JS, Image content in IIS  Windows Scheduled Tasks  MSMQ queue for job applications  Windows service  DR datacenter across country The Azure Way  Cloud Service Web Role  Azure SQL Database  In-Role Distributed Caching  Azure Access Control Service  Azure CDN, Blob Storage  Azure Scheduler  Azure Storage Queue / Service Bus  Cloud Service Worker Role  HA by default, easy DR options
  • 135. Code Changes  Use only SQL Database features available  Add transient failure retry logic for ADO.NET queries  Add HrdClient for Azure Access Control Service  Rewrite URLs for Azure CDN  Code to read/write images from Blob Storage  Code to handle HTTP or queue message from scheduled task  Handle Storage Queue or Service Bus Queue messages  Move Windows Service code to Worker Role
  • 136. Azure Features Not Covered  Table Storage  Web Sites  Virtual Machines  Mobile Services  Mobile Push Notifications  HDInsight – Hadoop on Azure  Media Services – Olympics  Service Bus Topics  Service Bus Relays  Service Bus Notification Hubs  Cache Roles  BizTalk Services  Recovery Services  Virtual Networks  Management Alerts  Azure Active Directory  Multi-factor Authentication  Rights management  Add-ons  … and other features added since I made this presentation
  • 137. Q&A