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 Chef, Puppet, Ansible.
- 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