From Development to Production: Optimizing for Continuous Delivery

Slides:



Advertisements
Similar presentations
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Multitenant Model Request/Response General Model.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
SQL Server SQL Azure Visual Studio“Quadrant” SQL Server Modeling Services Entity Framework ADO.NET“M”/EDM Data Services …
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Windows Azure SQL Data Sync Name Title Microsoft Corporation.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Data centric apps for web, desktop and mobile with EF5
TechEd /1/2018 7:56 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Jim Nakashima Program Manager – Cloud Tools Microsoft Corporation
Tech·Ed North America /14/2018 7:13 PM
Python Tools for Visual Studio
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Build /2/ The future of Azure devops: Building and managing cloud applications lifecycle across your teams Bradley Millington Program.
Title of Presentation 12/2/2018 3:48 PM
Real World Developer Testing
Using Windows Runtime and SDK to build Metro style apps
DevOps Fundamentals Automated Testing
Deep Dive into the Team Foundation Server 2012 Agile Planning Tools
Tech·Ed North America /2/2019 4:47 PM
Jim Nakashima Program Manager Cloud Tools
2/17/2019 7:32 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Building SaaS Solutions on Windows Azure
Building Business Applications in LightSwitch
Developing and Managing SharePoint Solutions with Visual Studio 2012
Create rich, data-driven Web apps with ASP.NET 4.5 Web Forms
ASP.NET Roadmap: One ASP.NET – Web Forms, MVC, Web API, and more
Creating and Consuming OData Services for Business Applications
Sayed Ibrahim Hashimi Program Manager Microsoft Corporation
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
From Development to Production: Optimizing for Continuous Delivery
Brandon Bray Principal Group Program Manager Microsoft Corporation
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
What’s new in Visual Studio 2012
From Start to REST in 60 Minutes (DEV323)
WINDOWS AZURE A LAP AROUND PLATFORM THE Steve Marx
5/1/2019 3:29 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Code First Development in Microsoft ADO.NET Entity Framework 4.1
Running Reporting Services in SharePoint Integrated Mode: How and Why
Developer Collaboration with Team Foundation Server 2012
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
7/5/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Office 365 Development July 2014.
Title of Presentation 7/24/2019 8:53 PM
7/19/2019 2:53 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Virtual Academy
Building Data-Driven Applications Using "Quadrant" and "M"
02 | Release Management Architecture
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

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/24/2019 12: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.

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

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

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

Getting the App Started 2/24/2019 12: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.

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

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

2/24/2019 12: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.

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

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)

Keeping your quality high 2/24/2019 12: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.

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

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

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.

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

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

Resources Learning TechNet http://europe.msteched.com Connect. Share. Discuss. http://europe.msteched.com Microsoft Certification & Training Resources www.microsoft.com/learning TechNet Resources for IT Professionals http://microsoft.com/technet Resources for Developers http://microsoft.com/msdn

Submit your evals online 2/24/2019 12:52 PM Evaluations Submit your evals online http://europe.msteched.com/sessions © 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/24/2019 12: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.

2/24/2019 12: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.