SlideShare a Scribd company logo
1 of 35
Download to read offline
1
1
M I C R O S O F T
Let’s banish
“it works on
my
machine”
Steph Locke and Isaac Amosu
M I C R O S O F T
Steph Locke
Digital & App Innovation @ Microsoft
Linkedin.com/in/StephanieLocke
Linkedin.com/in/Isaac-Amosu
Isaac Amosu
What we’re going to talk about today!
Why is “it
works on my
machine” bad?
M I C R O S O F T
Current infrastructure remains a bottleneck to
agility by limiting productivity and security
Complex setup
Onboarding new developers is error-prone and
time-consuming, and if configured incorrectly,
issues take weeks to emerge
Inefficient environments
Mixing configurations from a variety of projects
slows down workstations and can result in issues
that are hard to diagnose
Lack of compute scalability
Developers working on single, physical machines
are limited to that device’s compute resources and
can’t easily multitask between projects
Security of remote devices
Remote developer teams working on a variety of
devices make it harder for IT technicians to control
access to sensitive source code
Increased risk of exposure
IT technicians can’t manage the uptime of dev
workstations running remotely, putting them at
greater risk of exposure
Varying industry standards
Compliance standards differ across industries,
requiring a variety of approaches to the deployment
and management of dev workstations
!
What does modern development look like?
Dev Environment
Setup
Test Code
Change
Merge Code
Change
Deploy to
Production
Top Tech Company 2 Days 4 - 8 Days 2 - 3 Days 2 - 3 Days
Top Enterprise 3 Days 14 Days 3 - 5 Days 5 Days
Digital Native 30 Minutes 2 Minutes 30 - 60 Minutes 1 - 2 Hours
Frequency of building new application
versions
Days between updates to customers
Sources: Forrester, AppAnnie
About half of teams build daily ...and release rates are accelerating
Increasing rate of change
How can we
move from local
development?
MICROSOFT
Options scale by complexity of needs
Cloud Developer Machines
VSCode.dev/GitHub.dev
In-browser IDE
GitHub Codespaces
In-browser IDE + Live preview
Microsoft Dev Box
All IDEs and apps
M I C R O S O F T
Facilitates auditing by making it easier to trace
what was deployed, when, and how
Provides consistent environments from release
to release.
Greater consistency across development, test,
and production environments.
Provides code review and unit-testing
capabilities to help manage infrastructure
changes.
Allows configurations to be version controlled.
Make every environment reproducible
Infrastructure as Code
Reduce mean time to code
GitHub Codespaces
Container based
Terminals
In-browser
Fave IDE
Automagic containers from repo
contents
Great for projects that use the
CLI eg npm, hugo
No need for device setup and
maintenance
One of most popular IDEs for
rapid onboarding
Enable self-service development with Microsoft Dev Box
Provide developers with self-service access to high-performance,
cloud-based workstations preconfigured and ready-to-code for
specific projects
Ready to Code
Self-service dev boxes preconfigured for specific projects.
Managed and Secured
Centralize governance of dev boxes running anywhere.
Flexible, but Controlled
Customizable dev boxes based on organizational standards.
GitHub Codespaces and Microsoft Dev Box
What platform do your
developers use?
Microsoft Dev Box GitHub Codespaces
Windows-based dev machine Linux-based dev environment
What tools do you need
support for?
Any IDE, SDK, version control system, or tool that
runs on Windows—including internal tools
Visual Studio Code and GitHub repos
What are you building?
• Any apps, including:
• Desktop and mobile apps
• Embedded apps
• Gaming
• IoT
• Web and cloud-based apps
• Backend development
• APIs
How can we
create certainty
before we go
live?
Automate everything with fully
integrated CI/CD
M I C R O S O F T
Continuous Integration and Continuous Delivery
CI/CD
In your dev collaboration tool
Code, collaboration, packages, and CI/CD - all
in one place for your developers
Automated workflows with Azure
Native support for deployments to Azure
Kubernetes Service, Azure Web Apps, Azure
Container Registry, and more
Accelerate with your preferred
languages and environment
Any language plus your choice of package
format. Hosted runners on Windows, Linux, and
MacOS, with x86 and ARM for self-hosted
runners
M I C R O S O F T
Continuous Integration and Continuous Delivery
Scale
validation
Scale best practices with code
Define and scale processes, security, and
compliance policies for your organization, across
teams, repos, and throughout the software
lifecycle
End-to-end traceability + governance
Plan and track work in Azure Boards linked to
GitHub, and monitor your code deployed to Azure
from GitHub Actions
Unified authentication
Sign into Azure with your GitHub credentials and
authenticate to GitHub Enterprise with Azure AD
Development Build Test/QA Production Breach
Remediation
Costs
SDLC
Stages
Develop Build Tes
t
Deploy Breach
$80 $240
$960
$7,600
$ Millions
Sources: NIST, Polemon Institute
● Unchecked dependencies (80-90% of your code)
● Employee error (exposed access tokens, unsafe code patterns)
● 570x more developers than security researchers
● Damage is exponentially greater if it reaches production
“Works (and secure) on my machine”
M I C R O S O F T
The world’s most advanced semantic code
engine
Allows you to query your code’s logic to find
vulnerabilities
Queries can be quickly customized to adapt to
your specific threat topology
Community-driven query set powers every
project with a world-class security team
Move from 45% fix rate in 90 days to 72% fix
rate during the PR
Check online rather than locally
CodeQL
Source: Veracode
Manage testing at scale
Azure Test Plans
Capture rich data
End-to-end traceability
Browser
Test across web and
desktop
Scenario data, user stories,
test cases directly from your
exploratory test sessions.
Single set of test tools across
your engineers and UAT
stakeholders.
Run tests and log defects from
your browser. Track quality
throughout your testing lifecycle.
Test your application where it
lives. Test on-premises from the
cloud and vice-versa.
M I C R O S O F T
Blue Green Deployments
Canary Releases
Dark Launching
A/B Testing
Progressive Exposure Deployment / Ring
Based Deployments
Deploy different to minimise risk
Deployment strategies
CI/CD with deployment rings
Control deployments
Deployment slots Mechanism to separate feature deployment from
feature exposure
A.k.a. feature flippers, feature flags, feature
switch, conditional feature, etc.
Why use them?
It enables you to give control back to the business on when to release
the feature
Enables A/B testing, canary releases and dark launching
It provides an alternative to keeping multiple branches in version control
Enables change without redeployment
Reduce risk if something goes wrong
Traffic Manager Traffic manager provides the ability to route traffic
between Azure app services
Within an app service, routes traffic between deployment
slots
Why use it?
It enables failover and load distribution capabilities
It enables you to deploy to a slot and then slowly move traffic
over to the other slot
27
How can we
check it works
in production?
Build in observability of your applications
Azure Monitor & Application Insights
Track
Action
Explore
Demonstrate
Detect & diagnose issues
across apps and dependencies
with App Insights
Operationalize at scale with
Smart Alerts & Automated
Actions
Drill down with Log Analytics for
troubleshooting & deeper
diagnostics
Create visualizations with Azure
Dashboards & Workbooks
Metrics
Logs
Application Container VM Monitoring
Solutions
Insights
Dashboards Views Power BI Workbooks
Visualize
Metrics Explorer Log Analytics
Analyze
Alerts Autoscale
Respond
Event Hubs Ingest &
Export APIs
Logic Apps
Integrate
Azure Monitor
Custom Sources
Applications
Operating System
Azure Resources
Azure Subscriptions
Azure Tennant
Holistic approach
M I C R O S O F T
Load testing
Load testing is used to find out how a system
performs with many concurrent users, large amounts of
data, and over a time period
Performance testing
Performance testing looks at how responsive an
application is, how efficiently it uses resources, how
stable and reliable it is
Recommendations
Should be done early and often, so developers can
implement the feedback
Should be part of your planning, right from the start
Often requires tools or suites of tools
Testing production
M I C R O S O F T
Load test before production
Simplify load tests by eliminating
infrastructural complexities and unlocking
the full power of Apache JMeter
Generate high-scale
load with ease
Optimize app performance with custom
analytics and a comprehensive view of
client and server metrics on a single
dashboard
Optimize performance at
scale
Integrate load testing into CI/CD workflows
to catch and block performance issues early
in the development lifecycle
Build load testing into
DevOps workflows
Azure Load Testing
● Fully managed service
● Infrastructure-as-code
● observability tools
● library of faults
● real-world scenarios
● Roll back experiments grant granular fault permissions
Azure Chaos Studio Measure, understand, improve, and maintain product
resilience
33
1
What are the
next steps?
M I C R O S O F T
Move online
Use alternatives to a manually configured desktop
Build quality guard rails
Use CI/CD to build and test software
Increase visibility of prod
Leverage observability and rollout capabilities to
validate production
Get rid of “works on my machine”
Visualise your process to support understanding
DevOps Workflow Generator
See your toolchain.
Optimize your
toolchain.
Understand your
toolchain.
Multi-vendor
aka.ms/workflowgenerator

More Related Content

Similar to Let's banish "it works on my machine"

Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughAngela Dugan
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSAmazon Web Services
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesAndré Agostinho
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsEmmanuel Gomes Brandão
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDocker, Inc.
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...Perforce
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOpsNaoki (Neo) SATO
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...DigitalOcean
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSG R VISHAL
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionTom Laszewski
 

Similar to Let's banish "it works on my machine" (20)

Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWS
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOps
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
DevOps lagos meetup
DevOps lagos meetupDevOps lagos meetup
DevOps lagos meetup
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps session
 

More from Stephanie Locke

How to build brilliant managers.pdf
How to build brilliant managers.pdfHow to build brilliant managers.pdf
How to build brilliant managers.pdfStephanie Locke
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdfStephanie Locke
 
The Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsThe Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsStephanie Locke
 
Sustainable manufacturing with AI
Sustainable manufacturing with AISustainable manufacturing with AI
Sustainable manufacturing with AIStephanie Locke
 
Wrangling data like a boss
Wrangling data like a bossWrangling data like a boss
Wrangling data like a bossStephanie Locke
 
Digitalisation from the back office to the factory floor
Digitalisation from the back office to the factory floorDigitalisation from the back office to the factory floor
Digitalisation from the back office to the factory floorStephanie Locke
 
The fundamentals of regression
The fundamentals of regressionThe fundamentals of regression
The fundamentals of regressionStephanie Locke
 
Practical AI & data science ethics
Practical AI & data science ethicsPractical AI & data science ethics
Practical AI & data science ethicsStephanie Locke
 
Help There’s Too Many [Something]Ops!
Help There’s Too Many [Something]Ops!Help There’s Too Many [Something]Ops!
Help There’s Too Many [Something]Ops!Stephanie Locke
 
Reproducible machine learning
Reproducible machine learningReproducible machine learning
Reproducible machine learningStephanie Locke
 
AI monitoring in the workplace
AI monitoring in the workplaceAI monitoring in the workplace
AI monitoring in the workplaceStephanie Locke
 
Working with relational data in Microsoft Azure
Working with relational data in Microsoft AzureWorking with relational data in Microsoft Azure
Working with relational data in Microsoft AzureStephanie Locke
 
Win more, win faster with sales automation
Win more, win faster with sales automationWin more, win faster with sales automation
Win more, win faster with sales automationStephanie Locke
 
AI in manufacturing - a technical perspective
AI in manufacturing - a technical perspectiveAI in manufacturing - a technical perspective
AI in manufacturing - a technical perspectiveStephanie Locke
 

More from Stephanie Locke (19)

How to build brilliant managers.pdf
How to build brilliant managers.pdfHow to build brilliant managers.pdf
How to build brilliant managers.pdf
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdf
 
Developer Velocity
Developer VelocityDeveloper Velocity
Developer Velocity
 
The Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsThe Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data Analytics
 
Sustainable manufacturing with AI
Sustainable manufacturing with AISustainable manufacturing with AI
Sustainable manufacturing with AI
 
Wrangling data like a boss
Wrangling data like a bossWrangling data like a boss
Wrangling data like a boss
 
Digitalisation from the back office to the factory floor
Digitalisation from the back office to the factory floorDigitalisation from the back office to the factory floor
Digitalisation from the back office to the factory floor
 
The fundamentals of regression
The fundamentals of regressionThe fundamentals of regression
The fundamentals of regression
 
Practical AI & data science ethics
Practical AI & data science ethicsPractical AI & data science ethics
Practical AI & data science ethics
 
Help There’s Too Many [Something]Ops!
Help There’s Too Many [Something]Ops!Help There’s Too Many [Something]Ops!
Help There’s Too Many [Something]Ops!
 
Reproducible machine learning
Reproducible machine learningReproducible machine learning
Reproducible machine learning
 
AI monitoring in the workplace
AI monitoring in the workplaceAI monitoring in the workplace
AI monitoring in the workplace
 
Working with relational data in Microsoft Azure
Working with relational data in Microsoft AzureWorking with relational data in Microsoft Azure
Working with relational data in Microsoft Azure
 
Win more, win faster with sales automation
Win more, win faster with sales automationWin more, win faster with sales automation
Win more, win faster with sales automation
 
Build or buy AI?
Build or buy AI?Build or buy AI?
Build or buy AI?
 
AI in manufacturing - a technical perspective
AI in manufacturing - a technical perspectiveAI in manufacturing - a technical perspective
AI in manufacturing - a technical perspective
 
The historian and AI
The historian and AIThe historian and AI
The historian and AI
 
AI for marketers
AI for marketersAI for marketers
AI for marketers
 
AI in manufacturing
AI in manufacturingAI in manufacturing
AI in manufacturing
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Let's banish "it works on my machine"

  • 1. 1 1 M I C R O S O F T Let’s banish “it works on my machine” Steph Locke and Isaac Amosu
  • 2. M I C R O S O F T Steph Locke Digital & App Innovation @ Microsoft Linkedin.com/in/StephanieLocke Linkedin.com/in/Isaac-Amosu Isaac Amosu
  • 3. What we’re going to talk about today!
  • 4. Why is “it works on my machine” bad?
  • 5. M I C R O S O F T Current infrastructure remains a bottleneck to agility by limiting productivity and security Complex setup Onboarding new developers is error-prone and time-consuming, and if configured incorrectly, issues take weeks to emerge Inefficient environments Mixing configurations from a variety of projects slows down workstations and can result in issues that are hard to diagnose Lack of compute scalability Developers working on single, physical machines are limited to that device’s compute resources and can’t easily multitask between projects Security of remote devices Remote developer teams working on a variety of devices make it harder for IT technicians to control access to sensitive source code Increased risk of exposure IT technicians can’t manage the uptime of dev workstations running remotely, putting them at greater risk of exposure Varying industry standards Compliance standards differ across industries, requiring a variety of approaches to the deployment and management of dev workstations !
  • 6. What does modern development look like? Dev Environment Setup Test Code Change Merge Code Change Deploy to Production Top Tech Company 2 Days 4 - 8 Days 2 - 3 Days 2 - 3 Days Top Enterprise 3 Days 14 Days 3 - 5 Days 5 Days Digital Native 30 Minutes 2 Minutes 30 - 60 Minutes 1 - 2 Hours
  • 7. Frequency of building new application versions Days between updates to customers Sources: Forrester, AppAnnie About half of teams build daily ...and release rates are accelerating Increasing rate of change
  • 8. How can we move from local development?
  • 9. MICROSOFT Options scale by complexity of needs Cloud Developer Machines VSCode.dev/GitHub.dev In-browser IDE GitHub Codespaces In-browser IDE + Live preview Microsoft Dev Box All IDEs and apps
  • 10. M I C R O S O F T Facilitates auditing by making it easier to trace what was deployed, when, and how Provides consistent environments from release to release. Greater consistency across development, test, and production environments. Provides code review and unit-testing capabilities to help manage infrastructure changes. Allows configurations to be version controlled. Make every environment reproducible Infrastructure as Code
  • 11. Reduce mean time to code GitHub Codespaces Container based Terminals In-browser Fave IDE Automagic containers from repo contents Great for projects that use the CLI eg npm, hugo No need for device setup and maintenance One of most popular IDEs for rapid onboarding
  • 12.
  • 13. Enable self-service development with Microsoft Dev Box Provide developers with self-service access to high-performance, cloud-based workstations preconfigured and ready-to-code for specific projects Ready to Code Self-service dev boxes preconfigured for specific projects. Managed and Secured Centralize governance of dev boxes running anywhere. Flexible, but Controlled Customizable dev boxes based on organizational standards.
  • 14. GitHub Codespaces and Microsoft Dev Box What platform do your developers use? Microsoft Dev Box GitHub Codespaces Windows-based dev machine Linux-based dev environment What tools do you need support for? Any IDE, SDK, version control system, or tool that runs on Windows—including internal tools Visual Studio Code and GitHub repos What are you building? • Any apps, including: • Desktop and mobile apps • Embedded apps • Gaming • IoT • Web and cloud-based apps • Backend development • APIs
  • 15. How can we create certainty before we go live?
  • 16.
  • 17. Automate everything with fully integrated CI/CD
  • 18. M I C R O S O F T Continuous Integration and Continuous Delivery CI/CD In your dev collaboration tool Code, collaboration, packages, and CI/CD - all in one place for your developers Automated workflows with Azure Native support for deployments to Azure Kubernetes Service, Azure Web Apps, Azure Container Registry, and more Accelerate with your preferred languages and environment Any language plus your choice of package format. Hosted runners on Windows, Linux, and MacOS, with x86 and ARM for self-hosted runners
  • 19. M I C R O S O F T Continuous Integration and Continuous Delivery Scale validation Scale best practices with code Define and scale processes, security, and compliance policies for your organization, across teams, repos, and throughout the software lifecycle End-to-end traceability + governance Plan and track work in Azure Boards linked to GitHub, and monitor your code deployed to Azure from GitHub Actions Unified authentication Sign into Azure with your GitHub credentials and authenticate to GitHub Enterprise with Azure AD
  • 20. Development Build Test/QA Production Breach Remediation Costs SDLC Stages Develop Build Tes t Deploy Breach $80 $240 $960 $7,600 $ Millions Sources: NIST, Polemon Institute ● Unchecked dependencies (80-90% of your code) ● Employee error (exposed access tokens, unsafe code patterns) ● 570x more developers than security researchers ● Damage is exponentially greater if it reaches production “Works (and secure) on my machine”
  • 21. M I C R O S O F T The world’s most advanced semantic code engine Allows you to query your code’s logic to find vulnerabilities Queries can be quickly customized to adapt to your specific threat topology Community-driven query set powers every project with a world-class security team Move from 45% fix rate in 90 days to 72% fix rate during the PR Check online rather than locally CodeQL Source: Veracode
  • 22. Manage testing at scale Azure Test Plans Capture rich data End-to-end traceability Browser Test across web and desktop Scenario data, user stories, test cases directly from your exploratory test sessions. Single set of test tools across your engineers and UAT stakeholders. Run tests and log defects from your browser. Track quality throughout your testing lifecycle. Test your application where it lives. Test on-premises from the cloud and vice-versa.
  • 23. M I C R O S O F T Blue Green Deployments Canary Releases Dark Launching A/B Testing Progressive Exposure Deployment / Ring Based Deployments Deploy different to minimise risk Deployment strategies
  • 25. Control deployments Deployment slots Mechanism to separate feature deployment from feature exposure A.k.a. feature flippers, feature flags, feature switch, conditional feature, etc. Why use them? It enables you to give control back to the business on when to release the feature Enables A/B testing, canary releases and dark launching It provides an alternative to keeping multiple branches in version control Enables change without redeployment
  • 26. Reduce risk if something goes wrong Traffic Manager Traffic manager provides the ability to route traffic between Azure app services Within an app service, routes traffic between deployment slots Why use it? It enables failover and load distribution capabilities It enables you to deploy to a slot and then slowly move traffic over to the other slot
  • 27. 27 How can we check it works in production?
  • 28. Build in observability of your applications Azure Monitor & Application Insights Track Action Explore Demonstrate Detect & diagnose issues across apps and dependencies with App Insights Operationalize at scale with Smart Alerts & Automated Actions Drill down with Log Analytics for troubleshooting & deeper diagnostics Create visualizations with Azure Dashboards & Workbooks
  • 29. Metrics Logs Application Container VM Monitoring Solutions Insights Dashboards Views Power BI Workbooks Visualize Metrics Explorer Log Analytics Analyze Alerts Autoscale Respond Event Hubs Ingest & Export APIs Logic Apps Integrate Azure Monitor Custom Sources Applications Operating System Azure Resources Azure Subscriptions Azure Tennant Holistic approach
  • 30. M I C R O S O F T Load testing Load testing is used to find out how a system performs with many concurrent users, large amounts of data, and over a time period Performance testing Performance testing looks at how responsive an application is, how efficiently it uses resources, how stable and reliable it is Recommendations Should be done early and often, so developers can implement the feedback Should be part of your planning, right from the start Often requires tools or suites of tools Testing production
  • 31. M I C R O S O F T Load test before production Simplify load tests by eliminating infrastructural complexities and unlocking the full power of Apache JMeter Generate high-scale load with ease Optimize app performance with custom analytics and a comprehensive view of client and server metrics on a single dashboard Optimize performance at scale Integrate load testing into CI/CD workflows to catch and block performance issues early in the development lifecycle Build load testing into DevOps workflows Azure Load Testing
  • 32. ● Fully managed service ● Infrastructure-as-code ● observability tools ● library of faults ● real-world scenarios ● Roll back experiments grant granular fault permissions Azure Chaos Studio Measure, understand, improve, and maintain product resilience
  • 34. M I C R O S O F T Move online Use alternatives to a manually configured desktop Build quality guard rails Use CI/CD to build and test software Increase visibility of prod Leverage observability and rollout capabilities to validate production Get rid of “works on my machine”
  • 35. Visualise your process to support understanding DevOps Workflow Generator See your toolchain. Optimize your toolchain. Understand your toolchain. Multi-vendor aka.ms/workflowgenerator