SlideShare una empresa de Scribd logo
1 de 14
Agile and Azure
Emergent Code, BDD , TDD , Team City , Cerebrata
CmdLets
Presented by
Blushpackages : John Mitchell , Becca Martin
We started with a single test
Practise and Architectural Aims
 To use Emergent Architecture and coding practises
 To follow a Test Driven approach
 To extend our test foot print to Azure
 To put quality first
 To be responsive to requirement change
 To be continually releasable
Demonstration Introduction
 What will we demonstrate?
 Creation of a simple “Hello world” Azure MVC application
 Run this application under the Azure emulator to see it working
 Create a StoryQ integration test.
 Add the Azure support to the acceptance test
 Push that down into a base class for reuse.
 Run the acceptance test.
 Talk about how this would then fit with Team City or another CI
engine
Lets cut to some code
Azure Project Configuration
Architecture Diagram
CI Process – In Detail
Components For CI publish on
Azure
 JetBrains TeamCity
 Cerebrata Cmdlets
 Microsoft Azure Account
 Oracle VirtualBox Local VM Container
 Powershell
 Msbuild
CI Process
 Build (Locally)
 Run Unit Tests (Locally)
 Commit
 Run Unit Tests on commit build (CI)
 Publish to staging (Azure)
 Run Watin tests (Azure)
 If all green, VIP swop staging to production for BA (Azure)
 Send notification email with link to published test output
including rich StoryQ output tagged with story numbers
Build Output
Final Thoughts
 Azure can be integrated into a true Agile Process
 We can evolve our architecture to target Azure with out initial
commitment
 We can use TDD and BDD with Azure
 We can successfully automate deployment with tools like
Teamcity and Cerebrata CmdLets
 We will be publishing the technical details on the blush
packages blog http://blushpackages.com/blog
Links and Resources
 Watin : http://watin.org/
 Team City : http://www.jetbrains.com/teamcity/
 CommandLets : http://www.cerebrata.com/
 StoryQ : http://storyq.codeplex.com/
 Azure : https://www.windowsazure.com
 Nunit : http://www.nunit.org/
 NSubstitute : http://nsubstitute.github.com/
 Agile : http://www.blushpackages.com/Blog/post/WAgile-or-Agile-.aspx
 Emergent Architecture :
http://www.blushpackages.com/Blog/post/emergent-design-
overview.aspx
 BDD : http://www.blushpackages.com/Blog/post/bdd-overview.aspx
That’s All Folks
 John Mitchell - Freelance Developer / Architect
Johnm@blushpackages.com
Twitter @jemmitch1
 Becca Martin - Developer /Architect, Agile Coach, Azure
Evangelist
beccam@blushpackages.com
Twitter @martindotnet
Blush Packages Blog : http://blushpackages.com/blog
Slides : http://blushpackages.com/presentations

Más contenido relacionado

La actualidad más candente

Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with AzureAnalben Mehta
 
CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes Nilesh Gule
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeMauricio (Salaboy) Salatino
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUESVMware Tanzu
 
Build Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot FrameworkBuild Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot FrameworkSri Kanth
 
DevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and SeleniumhubDevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and Seleniumhubkloia
 
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...ngoctang
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsEficode
 
Test Automation Workshop with BDD Approach
Test Automation Workshop with BDD ApproachTest Automation Workshop with BDD Approach
Test Automation Workshop with BDD Approachkloia
 
SFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesSFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesPawan Tyagi (2x)
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsCallon Campbell
 
JavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBootJavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBootKo Turk
 
PowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused AutomationPowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused AutomationMitul Rana
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Gaëlle Acas
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...VMware Tanzu
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesAtlassian
 

La actualidad más candente (20)

Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with Azure
 
CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 
Build Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot FrameworkBuild Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot Framework
 
Tce automation-d4
Tce automation-d4Tce automation-d4
Tce automation-d4
 
.NET Overview & Roadmap
.NET Overview & Roadmap.NET Overview & Roadmap
.NET Overview & Roadmap
 
DevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and SeleniumhubDevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and Seleniumhub
 
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
 
Durable Azure Functions
Durable Azure FunctionsDurable Azure Functions
Durable Azure Functions
 
TCE Automation
TCE AutomationTCE Automation
TCE Automation
 
Test Automation Workshop with BDD Approach
Test Automation Workshop with BDD ApproachTest Automation Workshop with BDD Approach
Test Automation Workshop with BDD Approach
 
SFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesSFDC Seamless Deployment Techniques
SFDC Seamless Deployment Techniques
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
 
JavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBootJavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBoot
 
PowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused AutomationPowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused Automation
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket Pipelines
 

Destacado (18)

1st response Final ppj (hqp)
1st response Final ppj (hqp)1st response Final ppj (hqp)
1st response Final ppj (hqp)
 
March 7
March 7March 7
March 7
 
Herramientas tecnológicas(2)
Herramientas tecnológicas(2)Herramientas tecnológicas(2)
Herramientas tecnológicas(2)
 
Naturaleza
NaturalezaNaturaleza
Naturaleza
 
Articulo comse dia tabaco
Articulo comse dia tabacoArticulo comse dia tabaco
Articulo comse dia tabaco
 
Tabla evaluación de recursos web
Tabla evaluación de recursos webTabla evaluación de recursos web
Tabla evaluación de recursos web
 
Tâches cartographiques
Tâches cartographiquesTâches cartographiques
Tâches cartographiques
 
Architecture and technology overview
Architecture and technology overview Architecture and technology overview
Architecture and technology overview
 
Presentación1
Presentación1Presentación1
Presentación1
 
Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010
 
Presentación1
Presentación1Presentación1
Presentación1
 
Brochure biology
Brochure biologyBrochure biology
Brochure biology
 
LinkedIn for business
LinkedIn for businessLinkedIn for business
LinkedIn for business
 
"Dato e información" (conceptos)
"Dato e información" (conceptos)"Dato e información" (conceptos)
"Dato e información" (conceptos)
 
Presentación Homotecia
Presentación HomoteciaPresentación Homotecia
Presentación Homotecia
 
Erroma
ErromaErroma
Erroma
 
Teorema de Tales
Teorema de TalesTeorema de Tales
Teorema de Tales
 
SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.
 

Similar a Agile azure manchester azure user group v3

JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deploymentDavid Szöke
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Adrian Todorov
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentWinWire Technologies Inc
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET DevelopersLorenzo Barbieri
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Callon Campbell
 
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
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson LinHanLing Shen
 
Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018SOAT
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft AzureKorkrid Akepanidtaworn
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSRyan Crawford
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyCallon Campbell
 
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
 

Similar a Agile azure manchester azure user group v3 (20)

JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Kubernetes vs App Service
Kubernetes vs App ServiceKubernetes vs App Service
Kubernetes vs App Service
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
 
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
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
 
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
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Agile azure manchester azure user group v3

  • 1. Agile and Azure Emergent Code, BDD , TDD , Team City , Cerebrata CmdLets Presented by Blushpackages : John Mitchell , Becca Martin
  • 2. We started with a single test
  • 3. Practise and Architectural Aims  To use Emergent Architecture and coding practises  To follow a Test Driven approach  To extend our test foot print to Azure  To put quality first  To be responsive to requirement change  To be continually releasable
  • 4. Demonstration Introduction  What will we demonstrate?  Creation of a simple “Hello world” Azure MVC application  Run this application under the Azure emulator to see it working  Create a StoryQ integration test.  Add the Azure support to the acceptance test  Push that down into a base class for reuse.  Run the acceptance test.  Talk about how this would then fit with Team City or another CI engine
  • 5. Lets cut to some code
  • 8. CI Process – In Detail
  • 9. Components For CI publish on Azure  JetBrains TeamCity  Cerebrata Cmdlets  Microsoft Azure Account  Oracle VirtualBox Local VM Container  Powershell  Msbuild
  • 10. CI Process  Build (Locally)  Run Unit Tests (Locally)  Commit  Run Unit Tests on commit build (CI)  Publish to staging (Azure)  Run Watin tests (Azure)  If all green, VIP swop staging to production for BA (Azure)  Send notification email with link to published test output including rich StoryQ output tagged with story numbers
  • 12. Final Thoughts  Azure can be integrated into a true Agile Process  We can evolve our architecture to target Azure with out initial commitment  We can use TDD and BDD with Azure  We can successfully automate deployment with tools like Teamcity and Cerebrata CmdLets  We will be publishing the technical details on the blush packages blog http://blushpackages.com/blog
  • 13. Links and Resources  Watin : http://watin.org/  Team City : http://www.jetbrains.com/teamcity/  CommandLets : http://www.cerebrata.com/  StoryQ : http://storyq.codeplex.com/  Azure : https://www.windowsazure.com  Nunit : http://www.nunit.org/  NSubstitute : http://nsubstitute.github.com/  Agile : http://www.blushpackages.com/Blog/post/WAgile-or-Agile-.aspx  Emergent Architecture : http://www.blushpackages.com/Blog/post/emergent-design- overview.aspx  BDD : http://www.blushpackages.com/Blog/post/bdd-overview.aspx
  • 14. That’s All Folks  John Mitchell - Freelance Developer / Architect Johnm@blushpackages.com Twitter @jemmitch1  Becca Martin - Developer /Architect, Agile Coach, Azure Evangelist beccam@blushpackages.com Twitter @martindotnet Blush Packages Blog : http://blushpackages.com/blog Slides : http://blushpackages.com/presentations