Thursday, 16 June 2016

Microsoft DevOps Tech Day

It was a good, educative workshop in a new Microsoft office steps away from Paddington train station. Several topics were presented by people from Microsoft as well as Microsoft partner RedGate. See below some notes taken there.

Microsoft:

Continuous Integration with TFS


  • TFS on the cloud is $8/month if there is no subscription. Any of most popular IDEs could be connect to it.
  • As part of the build, an application could be deployed on the cloud. Subscription to Azure could be identified via credentials file taken from Azure (management certificate).
  • Builds could be done against the master branch or any other selected branches.
  • Git doesn't support Gated Check-in (that are accepted only if submitted changes merge and build successfully) but TFS does support it.


Infrastructure 


  • Infrastructure deployment could be templated, versioned and then automated.
  • This could be done on Azure public or private Azure-inspired clouds.
  • To instantiate a template go to: Visual Studio > Azure Resource Group > deploymentTemplate.json: parameters/variables/resources/outputs - use wizards in Visual Studio. Create Resource Group in PS1 file and use Powershell to deploy it to Azure.
  • Go to Azure, click on Resource Group and see what has been deployed.
  • It's possible to modify some features and then export it as a template to JSON file.
  • Templates could be also deployed via Azure browser-based GUI (Azure GUI). Search there for 'Deploy Template'.
  • This is an Infrastructure as a Code (IaaC) - it could be versioned and auto-deployed on the need-to-do basis using continuous integration workflow.
  • Check azure-quickstart-templates in GitHub. Main JSON file may come with additional one that contains parameters. Those parameters could be displayed in Azure GUI as well. 
  • Check Azure QuickStart Templates on Microsoft website.
  • A single template could be split into (or consist of) multiple JSON files.
  • Powershell DSC could be used for a more customised deployments. As a matter of fact, it's very easy to create a customised deployment using Powershell.
  • Check Powershell Gallery for more resources.
  • Azure has a library of predefined images to be used for such deployments (ex SQLServer, Windows Server, etc) - this is to get started with it.
  • Azure Automaton DSC could be used with ChefPuppetAnsible.
  • See slide for Local Configuration Manager.
  • Azure Visualizer could be used for inspecting instantiated infrastructure.
  • Configuration could be tested with Powershell Pester Tests (which is a community project).


Continuous Delivery


  • Team Services (web GUI) has management for Releases - it's a new feature.
  • Release management can take artifacts from Team Services, Jenkins, Tram City, etc.
  • An application release could be deployed on different environments.
  • There could be particular approvers assigned to particular release deployments.
  • For unsuccessful releases new Bugs could be created using the same GUI (similar to Jira).
  • There is no rollback task. Instead you can use the previous release for redeployment. In this case the release could be done in manual mode.
  • A successful deployment on DEV environment could expect an approval for subsequent deployment on QA environment. Approval could be done using the same GUI by a person previously authorised for that.
  • Log output is visible in the GUI in real time.
  • See Xamarin Test Cloud and HockeyApp for beta distribution.
  • Release Management (from above) could use a task for testing an application on Xamarin Cloud.


RedGate: 

DevOps for databases


  • You can create a database project in VisualStudio.
  • How to deal with db changes - schema updates, drifts, etc.


Infrastructure and Application Monitoring


  • Infrastructure Insights:
    • Create a new dashboard in Azure.
    • Pin to the dashboard required tiles.
    • Settings for each tile could be configured.
    • Once dashboard is ready it could be shared with other people.
  • Application Insights:
  • Telemetry sources: traces, events, etc.
  • Log Analytics (OMS):
    • (Microsoft Operation Management Suite)
    • Another customizable dashboard.
    • Both for Windows and Linux.
    • It's solution based. See Solution Gallery.
    • Try OMS at www.mms.microsoft.com
    • Feedback and ideas windowsserver.uservoice.com


Online Encyclopedia of Statistical Science (Free)

Please, click on the chart below to go to the source: