Presentation is loading. Please wait.

Presentation is loading. Please wait.

From Development to Production: Optimizing for Continuous Delivery

Similar presentations


Presentation on theme: "From Development to Production: Optimizing for Continuous Delivery"— Presentation transcript:

1 From Development to Production: Optimizing for Continuous Delivery
Chris Patterson Program Manager Microsoft Corporation Jamie Cool Program Manager Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 2/24/ :52 PM demo Nirvana © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Overview Empty application to Continuous Delivery
Along the way we will talk about: The core technology choices we made Dealing with data & data migration Keeping the quality high Application lifecycle challenges Automated Build, Testing & Deployment Transitioning to operations

4 Choosing our Application Platform
Windows Private or Public Cloud Microsoft offers the best of both For our application Windows Azure Windows Azure WebSite, Cloud Service or IaaS Three great platform options Windows Azure WebSite

5 Application Stack ASP.NET MVC, ASP.NET WebForms, ASMX, WCF, MVC Rest or WebApi Lots and Lots of Choices For our application ASP.NET MVC4 and WebApi

6 Getting the App Started
2/24/ :52 PM demo Getting the App Started © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 EF Developer Workflows
Designer Centric Code Centric Model First Create .edmx model in designer Generate database from .edmx Classes auto-generated from .edmx New Database Code First Define classes & mapping in code Database auto-created at runtime Existing Database Database First Reverse engineer .edmx model Classes auto-generated from .edmx Code First Define classes & mapping in code (Reverse engineer tools available

8 Data Deployment & Migration
Sql Server Data Tools Deployed using DACPAC’s Very powerful Entity Framework Migrations Modeled around Up/Down scripts Tools & FX help author & maintain them Limitations with what they can do, but works great with code first For our application

9 2/24/ :52 PM demo Adding Data © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Unit Testing with Visual Studio 2012
Effective unit testing is one of the biggest contributors to high quality software Use the framework you want to use MSTest, Nunit, xUnit and Others. For our application Any of the above! Here we are using xUnit and the fakes framework

11 High quality means a good architecture
Factor out external dependencies and isolate with interfaces Use good patterns like Default Implementation Dependency Injection and Inversion of Control Isolate your code for better testing Fakes, Moq, others Visual Studio 2012 Stubs and Mocks Provide easy to use, concrete implementations for your testing Generated at compile time (runs fast) Uses C# language features (no special API)

12 Keeping your quality high
2/24/ :52 PM demo Keeping your quality high © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Application Lifecycle
Source Control Team Foundation Service or Team Foundation Server For our application Team Foundation Service Continuous Integration & Deployment Hosted Build or On Prem Team Build Hosted Build w/ Integrated Webdeploy to Azure

14 Code Flow Have a well structured code flow Source Control Azure
Keep your daily work in a separate branch Deploy your daily work into a test site Keep the code you release in it’s own branch Deploy to production as aggressively as your comfortable For our application Continuous delivery from the dev branch to the test site Continuous delivery from the main branch to the production site Source Control Azure Main Branch Production Environment Test Environment Dev Branch

15 demo Continuous Delivery 2/24/2019 12:52 PM
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 Keys to Continuous Delivery
Iterate, Iterate, Iterate Plan iteratively Develop iteratively Test iteratively Quality is Job 1 Test Constantly Engineering teams should be responsible for ensuring the code does what they say it does QA Teams should be responsible for ensuring the system does that the customer wants Design and Implementation Just enough design Incremental and evolutionary Use tests to drive the design

17 Related Content Breakout Sessions
DEV363 – Dev-Ops Best Practices on the Microsoft Stack AZR205 – App Deployment Options for Windows Azure DEV411 – Testing Un-Testable Code DEV310 – Continuous Delivery of Windows Azure Cloud Apps DEV309 – Building HTTP Services with ASP.NET Web API AZR210 – Web Sites on Windows Azure Dev215 – ADO.NET Entity Framework 4.3 for Real Web Applications Product Demo Stations DEV01-TLC Application Lifecycle Management (ALM) We will be at the chalk talk in the Dev Track Tool bench after this talk

18 Resources Learning TechNet http://europe.msteched.com
Connect. Share. Discuss. Microsoft Certification & Training Resources TechNet Resources for IT Professionals Resources for Developers

19 Submit your evals online
2/24/ :52 PM Evaluations Submit your evals online © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 2/24/ :52 PM © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21

22 2/24/ :52 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "From Development to Production: Optimizing for Continuous Delivery"

Similar presentations


Ads by Google