SlideShare a Scribd company logo
1 of 25
Lessons Learned
MIGRATING APPS TO AZURE
© 2015 Applied Information Sciences, Inc.
About Me
 Solutions Advisor at Applied Information Sciences
 Microsoft Certified: DevOps Engineer Expert
 Azure & DevOps Engineer
 Former SharePoint Developer
 @SPSamL
 samlarko@gmail.com
 Sam.larko@appliedis.com
 Blog.Appliedis.com
3 | © 2018 Applied Information Sciences, Inc.
• Founded 1982
• Headquartered in
Reston, VA
• Regional Offices in
Columbia, Maryland;
Raleigh, North Carolina;
Dayton, Ohio; Austin,
Houston and San
Antonio, Texas;
Hyderabad, India
About AIS
• 50% government and 50% commercial clients
• 450+ employees
• Washington Business Journal Top 50 Fastest
Growing Companies
• Washington Business Journal Best Places to Work
© 2015 Applied Information Sciences, Inc.
We’re Hiring!
•
Check out our openings:
www.WorkatAIS.com
Email our Recruiting team:
Recruiting@appliedis.com
Technical Business
• Cloud
• Power Platform
• Data
• DevOps
• SharePoint
• Dynamics 365
• Front-end, Back-end,
Full-Stack
• Project/Program Management
• Business Analyst
• Technical Trainer
• Technical Sourcer/Recruiter
• Technical Writer
© 2015 Applied Information Sciences, Inc.
Agenda
 Set the stage
 Lesson One: File Storage
 Lesson Two: Databases
 Lesson Three: DevOps
© 2015 Applied Information Sciences, Inc.
Welcome to the Cloud!
Lesson One
Storage
© 2015 Applied Information Sciences, Inc.
File Storage
 Storage Emulator
 Storage Explorer
 Blobs vs File shares (Tables and Queues – didn’t use either)
 SAS Tokens
 Security – Firewalls and vnets
Demo
SAS TOKENS, NETWORKING, AND STORAGE EXPLORER
Lesson Two
Databases
© 2015 Applied Information Sciences, Inc.
Data Migration Assistant
 Analyze databases for migration support
 Can migrate databases, too!
 Multiple target types
> Azure SQL Database
> SQL Managed Instance
> SQL Server on Azure VM
> SQL Server (version-to-version)
 Download: https://www.microsoft.com/en-
us/download/details.aspx?id=53595
Demo
DATA MIGRATION ASSISTANT
© 2015 Applied Information Sciences, Inc.
T-SQL
PROBLEM SOLUTION
Depricated field types (TEXT, NTEXT, IMAGE) varchar(max), nvarchar(max), varbinary(max)
USE statement isn’t available • Usage was only for current/single DB in Azure SQL DB
• Can use with SQL Managed Instance
Unavailable system functions (sp_send_dbmail) • Notification DB table, Web Job to check table & send
• Storage Queue with Web Job listening would be near
instant
• SQL Managed Instances do support Database Mail
Cross-database Queries • Moved SQL logic into application code
• Elastic queries for migrated DBs
• SQL Managed Instance
Demo
ELASTIC QUERY
© 2015 Applied Information Sciences, Inc.
Linked Servers
 Some DBs were linked to Oracle DBs on-prem
 No ExpressRoute or other connection back
 Apache NiFi was going to be used to surface the data
 App would query NiFi
> Stored Procedure logic would be moved to app’s data layer
 Managed Instance
> Refactored from 2 MIs to use single MI – Linked Servers not needed
© 2015 Applied Information Sciences, Inc.
SQL Agent Jobs
 Typically scheduled data updates – 1-4 times/day
 Azure Web Jobs
> Minimum hour polling
> Runs on App Service
 SQL Managed Instances
© 2015 Applied Information Sciences, Inc.
Managed Instance Backup Issue
 SQL MIs used to allow copy-only backups to restore on-prem
 MS changed to only allow MI to MI restore
 Kendra Little explains further: https://www.red-gate.com/blog/how-can-
redgate-help-with-backups-for-azure-sql-managed-instances
Lesson Three
DevOps & Automation
© 2015 Applied Information Sciences, Inc.
Azure Pipelines/TFS
 Classic vs YAML
> Classic: WYSIWYG, more mature/functionality, not easily portable
> YAML: Portable, new CI/CD standard, Pipeline-as-Code, learning curve
 Service Connections
 Dated build servers
> Old PowerShell Modules (AzureRm vs Az)
> Ran deployments from Azure Automation Account
© 2015 Applied Information Sciences, Inc.
Disconnected Environments
 Dev work in Azure DevOps
 Environments using TFS
 Used Artifactory to upload packages to environments
 2 sets of pipelines
> Used Classic Pipelines for both
> Import/Export Pipelines, Task Groups
© 2015 Applied Information Sciences, Inc.
Resource provisioning
 ARM Templates vs Terraform vs PowerShell vs Azure CLI vs Others?
> ARM: most robust/functionality, JSON, more declarative than imperative
> HashiCorp Terraform: cross-platform, more programmatic, 3rd party, behind ARM
> PowerShell: programming language, more functionality than TF, Windows only
> Azure CLI: runs on Linux/OSX, similar to PowerShell in functionality
 Idempotence
Demo
CLASSIC VS YAML, ARM TEMPLATE
© 2015 Applied Information Sciences, Inc.
Misc DevOps
 GitLab - no service connections or tasks
 Ansible – not really for Azure resource provisioning, more for VM
management (like DSC)
 Use AAA for DSC Node Manager
© 2015 Applied Information Sciences, Inc.
Resources
 Elastic Query: https://docs.microsoft.com/en-us/azure/azure-
sql/database/elastic-query-getting-started-vertical
 App Service Tutorial: https://docs.microsoft.com/en-us/azure/app-
service/app-service-web-tutorial-dotnet-sqldatabase
 Managed Instance Error Explanation: https://www.red-
gate.com/blog/how-can-redgate-help-with-backups-for-azure-sql-
managed-instances
 My blog posts
> Automation & Deployment: https://www.ais.com/things-i-wish-i-knew-before-
migrating-apps-to-azure-automation-and-deployment/
> SQL Server vs Azure SQL: https://www.ais.com/things-i-wish-i-knew-before-
migrating-apps-to-azure-sql-server-vs-azure-sql/
FOLLOW US AT:
@AISTeam
blog.appliedis.com/

More Related Content

What's hot

A Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentA Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentSPC Adriatics
 
Making Teams Shine with Microsoft Power Automate
Making Teams Shine with Microsoft Power AutomateMaking Teams Shine with Microsoft Power Automate
Making Teams Shine with Microsoft Power AutomateAshleyRogers67
 
Value of share point add ins
Value of share point add insValue of share point add ins
Value of share point add insPrabath Fonseka
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...European Collaboration Summit
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...Eric Shupps
 
Building enterprise applications on the cloud (Level 100)
Building enterprise applications on the cloud (Level 100)Building enterprise applications on the cloud (Level 100)
Building enterprise applications on the cloud (Level 100)Prabath Fonseka
 
Workflows for share point 2013
Workflows for share point 2013Workflows for share point 2013
Workflows for share point 2013Prabath Fonseka
 
Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at ScaleAmazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at ScaleAmazon Web Services
 
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014Amazon Web Services
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandDipti Chhatrapati
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Eric Shupps
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppDynamics
 
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at Scale
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at ScaleAnnouncing Amazon EC2 Systems Manager - Hybrid Cloud Management at Scale
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at ScaleAmazon Web Services
 
Create Agile, Automated and Predictable IT Infrastructure in the Cloud
Create Agile, Automated and Predictable IT Infrastructure in the CloudCreate Agile, Automated and Predictable IT Infrastructure in the Cloud
Create Agile, Automated and Predictable IT Infrastructure in the CloudRightScale
 
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesOracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesMichael Hichwa
 
TarunHasija_CV.docx
TarunHasija_CV.docxTarunHasija_CV.docx
TarunHasija_CV.docxTarun Hasija
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...serge luca
 

What's hot (20)

A Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentA Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App Development
 
Making Teams Shine with Microsoft Power Automate
Making Teams Shine with Microsoft Power AutomateMaking Teams Shine with Microsoft Power Automate
Making Teams Shine with Microsoft Power Automate
 
Value of share point add ins
Value of share point add insValue of share point add ins
Value of share point add ins
 
Scale net apps in aws
Scale net apps in awsScale net apps in aws
Scale net apps in aws
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
 
Building enterprise applications on the cloud (Level 100)
Building enterprise applications on the cloud (Level 100)Building enterprise applications on the cloud (Level 100)
Building enterprise applications on the cloud (Level 100)
 
A career in SharePoint
A career in SharePointA career in SharePoint
A career in SharePoint
 
Workflows for share point 2013
Workflows for share point 2013Workflows for share point 2013
Workflows for share point 2013
 
Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at ScaleAmazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
 
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014
(APP204) NEW LAUNCH: Introduction to AWS Service Catalog | AWS re:Invent 2014
 
Sitecore on Azure
Sitecore on AzureSitecore on Azure
Sitecore on Azure
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My Command
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOps
 
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at Scale
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at ScaleAnnouncing Amazon EC2 Systems Manager - Hybrid Cloud Management at Scale
Announcing Amazon EC2 Systems Manager - Hybrid Cloud Management at Scale
 
Create Agile, Automated and Predictable IT Infrastructure in the Cloud
Create Agile, Automated and Predictable IT Infrastructure in the CloudCreate Agile, Automated and Predictable IT Infrastructure in the Cloud
Create Agile, Automated and Predictable IT Infrastructure in the Cloud
 
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesOracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
 
TarunHasija_CV.docx
TarunHasija_CV.docxTarunHasija_CV.docx
TarunHasija_CV.docx
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
 

Similar to Lessons Learned Migrating Apps to Azure

Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsIDERA Software
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesMichael Stephenson
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application ExpressHBoone
 
Azure Data.pptx
Azure Data.pptxAzure Data.pptx
Azure Data.pptxFedoRam1
 
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...Timothy McAliley
 
WIN401_Migrating Microsoft Applications to AWS
WIN401_Migrating Microsoft Applications to AWSWIN401_Migrating Microsoft Applications to AWS
WIN401_Migrating Microsoft Applications to AWSAmazon Web Services
 
Migrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSMigrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSTom Laszewski
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAmazon Web Services
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5margaret_ronald
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...serge luca
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 
Migrate and Manage Workloads with Apps Associates
Migrate and Manage Workloads with Apps AssociatesMigrate and Manage Workloads with Apps Associates
Migrate and Manage Workloads with Apps AssociatesAmazon Web Services
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Amazon Web Services
 
Big Data Adavnced Analytics on Microsoft Azure
Big Data Adavnced Analytics on Microsoft AzureBig Data Adavnced Analytics on Microsoft Azure
Big Data Adavnced Analytics on Microsoft AzureMark Tabladillo
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Amazon Web Services
 
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014Amazon Web Services
 
Using Power BI and Azure as analytics engine for business applications
Using Power BI and Azure as analytics engine for business applicationsUsing Power BI and Azure as analytics engine for business applications
Using Power BI and Azure as analytics engine for business applicationsDigital Illustrated
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Fernando Mejía
 

Similar to Lessons Learned Migrating Apps to Azure (20)

Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 
Azure Data.pptx
Azure Data.pptxAzure Data.pptx
Azure Data.pptx
 
Application Migrations at Scale
Application Migrations at ScaleApplication Migrations at Scale
Application Migrations at Scale
 
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
 
WIN401_Migrating Microsoft Applications to AWS
WIN401_Migrating Microsoft Applications to AWSWIN401_Migrating Microsoft Applications to AWS
WIN401_Migrating Microsoft Applications to AWS
 
Migrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSMigrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWS
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - Keynote
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 
Migrate and Manage Workloads with Apps Associates
Migrate and Manage Workloads with Apps AssociatesMigrate and Manage Workloads with Apps Associates
Migrate and Manage Workloads with Apps Associates
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017
 
Big Data Adavnced Analytics on Microsoft Azure
Big Data Adavnced Analytics on Microsoft AzureBig Data Adavnced Analytics on Microsoft Azure
Big Data Adavnced Analytics on Microsoft Azure
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
 
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
 
Using Power BI and Azure as analytics engine for business applications
Using Power BI and Azure as analytics engine for business applicationsUsing Power BI and Azure as analytics engine for business applications
Using Power BI and Azure as analytics engine for business applications
 
Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017Cloud Computing101 Azure, updated june 2017
Cloud Computing101 Azure, updated june 2017
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Lessons Learned Migrating Apps to Azure

  • 2. © 2015 Applied Information Sciences, Inc. About Me  Solutions Advisor at Applied Information Sciences  Microsoft Certified: DevOps Engineer Expert  Azure & DevOps Engineer  Former SharePoint Developer  @SPSamL  samlarko@gmail.com  Sam.larko@appliedis.com  Blog.Appliedis.com
  • 3. 3 | © 2018 Applied Information Sciences, Inc. • Founded 1982 • Headquartered in Reston, VA • Regional Offices in Columbia, Maryland; Raleigh, North Carolina; Dayton, Ohio; Austin, Houston and San Antonio, Texas; Hyderabad, India About AIS • 50% government and 50% commercial clients • 450+ employees • Washington Business Journal Top 50 Fastest Growing Companies • Washington Business Journal Best Places to Work
  • 4. © 2015 Applied Information Sciences, Inc. We’re Hiring! • Check out our openings: www.WorkatAIS.com Email our Recruiting team: Recruiting@appliedis.com Technical Business • Cloud • Power Platform • Data • DevOps • SharePoint • Dynamics 365 • Front-end, Back-end, Full-Stack • Project/Program Management • Business Analyst • Technical Trainer • Technical Sourcer/Recruiter • Technical Writer
  • 5. © 2015 Applied Information Sciences, Inc. Agenda  Set the stage  Lesson One: File Storage  Lesson Two: Databases  Lesson Three: DevOps
  • 6. © 2015 Applied Information Sciences, Inc. Welcome to the Cloud!
  • 8. © 2015 Applied Information Sciences, Inc. File Storage  Storage Emulator  Storage Explorer  Blobs vs File shares (Tables and Queues – didn’t use either)  SAS Tokens  Security – Firewalls and vnets
  • 9. Demo SAS TOKENS, NETWORKING, AND STORAGE EXPLORER
  • 11. © 2015 Applied Information Sciences, Inc. Data Migration Assistant  Analyze databases for migration support  Can migrate databases, too!  Multiple target types > Azure SQL Database > SQL Managed Instance > SQL Server on Azure VM > SQL Server (version-to-version)  Download: https://www.microsoft.com/en- us/download/details.aspx?id=53595
  • 13. © 2015 Applied Information Sciences, Inc. T-SQL PROBLEM SOLUTION Depricated field types (TEXT, NTEXT, IMAGE) varchar(max), nvarchar(max), varbinary(max) USE statement isn’t available • Usage was only for current/single DB in Azure SQL DB • Can use with SQL Managed Instance Unavailable system functions (sp_send_dbmail) • Notification DB table, Web Job to check table & send • Storage Queue with Web Job listening would be near instant • SQL Managed Instances do support Database Mail Cross-database Queries • Moved SQL logic into application code • Elastic queries for migrated DBs • SQL Managed Instance
  • 15. © 2015 Applied Information Sciences, Inc. Linked Servers  Some DBs were linked to Oracle DBs on-prem  No ExpressRoute or other connection back  Apache NiFi was going to be used to surface the data  App would query NiFi > Stored Procedure logic would be moved to app’s data layer  Managed Instance > Refactored from 2 MIs to use single MI – Linked Servers not needed
  • 16. © 2015 Applied Information Sciences, Inc. SQL Agent Jobs  Typically scheduled data updates – 1-4 times/day  Azure Web Jobs > Minimum hour polling > Runs on App Service  SQL Managed Instances
  • 17. © 2015 Applied Information Sciences, Inc. Managed Instance Backup Issue  SQL MIs used to allow copy-only backups to restore on-prem  MS changed to only allow MI to MI restore  Kendra Little explains further: https://www.red-gate.com/blog/how-can- redgate-help-with-backups-for-azure-sql-managed-instances
  • 18. Lesson Three DevOps & Automation
  • 19. © 2015 Applied Information Sciences, Inc. Azure Pipelines/TFS  Classic vs YAML > Classic: WYSIWYG, more mature/functionality, not easily portable > YAML: Portable, new CI/CD standard, Pipeline-as-Code, learning curve  Service Connections  Dated build servers > Old PowerShell Modules (AzureRm vs Az) > Ran deployments from Azure Automation Account
  • 20. © 2015 Applied Information Sciences, Inc. Disconnected Environments  Dev work in Azure DevOps  Environments using TFS  Used Artifactory to upload packages to environments  2 sets of pipelines > Used Classic Pipelines for both > Import/Export Pipelines, Task Groups
  • 21. © 2015 Applied Information Sciences, Inc. Resource provisioning  ARM Templates vs Terraform vs PowerShell vs Azure CLI vs Others? > ARM: most robust/functionality, JSON, more declarative than imperative > HashiCorp Terraform: cross-platform, more programmatic, 3rd party, behind ARM > PowerShell: programming language, more functionality than TF, Windows only > Azure CLI: runs on Linux/OSX, similar to PowerShell in functionality  Idempotence
  • 22. Demo CLASSIC VS YAML, ARM TEMPLATE
  • 23. © 2015 Applied Information Sciences, Inc. Misc DevOps  GitLab - no service connections or tasks  Ansible – not really for Azure resource provisioning, more for VM management (like DSC)  Use AAA for DSC Node Manager
  • 24. © 2015 Applied Information Sciences, Inc. Resources  Elastic Query: https://docs.microsoft.com/en-us/azure/azure- sql/database/elastic-query-getting-started-vertical  App Service Tutorial: https://docs.microsoft.com/en-us/azure/app- service/app-service-web-tutorial-dotnet-sqldatabase  Managed Instance Error Explanation: https://www.red- gate.com/blog/how-can-redgate-help-with-backups-for-azure-sql- managed-instances  My blog posts > Automation & Deployment: https://www.ais.com/things-i-wish-i-knew-before- migrating-apps-to-azure-automation-and-deployment/ > SQL Server vs Azure SQL: https://www.ais.com/things-i-wish-i-knew-before- migrating-apps-to-azure-sql-server-vs-azure-sql/

Editor's Notes

  1. Not quite the conversation/situation when getting moved to new client DoD client with multiple web applications to migrate from on prem servers to, ideally, PaaS in AzGov Not always full-PaaS, some lift-n-shift, some hybrid PaaS/IaaS Projects First project was all C# and SQL work 2nd was VB, Telerik OpenAccess to EF, ARM templates C# & VB in ASP.Net Website project (yeah, that old nightmare!) – PROTIP: Sonar doesn’t like mixed language project. Checkmarx worked. Became one of the 2 main DevOps Engineers on the client contract for the next 6-ish apps Hub-and-spoke architecture No connections back to on-prem Makes data migrations more difficult Workarounds required for accessing data that hasn’t migrated
  2. Blobs Large, unstructured data store Primarily used for replacing user-uploaded content on file server File Shares Large data Mountable to VM Shared some PS scripts for VMs early on. Framework replaced a lot of it SAS Tokens Configurable way to limit access to all or part of a storage account Token is URL Query String (see framework) Security Can lock down access to specific vnets, subnets, IPs
  3. Portal Show SAS, Networking
  4. SPOILERS: Data Migration Assistant makes life a bit easier Unsupported features: Linked Servers (SMI/elastic queries options), SQL Agent Jobs (custom code, SMI), T-SQL (system functions like sp_send_dbmail, Cross-database queries, USE statement) Deprecated Field Types (ntext, text, image) – fairly minor How to get data from on-prem to PaaS Managed Instance backup issue
  5. Data Migration Assistant
  6. - SMIs can’t do PowerShell jobs, though
  7. Really hampers dev situation where Dev VMs have local copies to dirty up.
  8. YAML isn’t a framework/language, but a data format like JSON or XML Different implementations for different services (AZDO, GitLab, etc) Build servers were managed by another team so couldn’t update AAA: Azure resource that can execute PS runbooks to deploy resources Only resource provisioning. App deployment was still pipeline tasks
  9. Classic pipeline exports reference some resources (task groups) by IDs. Have to update after import. Artifactory 1 client didn’t allow CLI uploads, so required manual upload of artifacts…not so continuous
  10. Can’t use CLI in AAA Idempotence ARM, Terraform, some CLI PowerShell, must check most resources exist before trying to create/modify TF has State awareness – don’t deploy/update unchanged resources, double-edge: manual changes will be removed MS also offers Bicep. Looks like Terraform. Haven’t played with yet.
  11. GitLab can connect using CLI or PowerShell, but have to share connection creds via params YAML implementation differs from AZDO. No task definitions. All command-line. Ansible Small sample size during PoC Limited supported resources using dated demo extension/project AAA for DSC Manage VM configs using PS DSC AAA has Node Mgmt functionality with push capabilities https://www.appliedis.com/things-i-wish-i-knew-before-migrating-apps-to-azure-automation-and-deployment/