Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Get up to speed with DevOps using modern development practices

Get up to speed with DevOps using modern development practices

DevOn Summit 2018, 14-03-2018

Erwin Staal

March 15, 2018
Tweet

More Decks by Erwin Staal

Other Decks in Technology

Transcript

  1. @erwin_staal About me • Erwin Staal • Software engineer •

    ALM Consultant • 4DotNet • Consulting • Training
  2. @erwin_staal Project • 4x dev (scrummaster) • 1x ops •

    1x test • (1x product owner) Radius Cache service Portal Api 2x Database Feature Flags Portal Management
  3. @erwin_staal DevOps Introduction Phase 1 Phase 2 Phase 3 Forming

    DevOps teams Assigning roles DevOps Training Team coaching Training PO and Scrummaster Standby Service Leadership Autonomy Automation
  4. @erwin_staal DevOps Learnings and Challenges • Standby Service • Change

    process • Ad-hoc tasks • Culture • External dependencies
  5. @erwin_staal Pipeline Dev Build Deploy + Test Production Merge Compile

    Code analysis UnitTests UI tests Connections Deploy Smoke Test Monitoring Version Control Analysis Code Sharing
  6. @erwin_staal Deploy – Database changes Id Name CreatedDate 1 Peter

    2017-05-19 2 John 2017-05-21 Id Name CD CreatedDate 1 Peter 2017-05-19 2017-05-19 2 John 2017-05-21 2017-05-21 Id Name CD 1 Peter 2017-05-19 2 John 2017-05-21 v1 v2 v3
  7. @erwin_staal Deploy – Database changes public partial class AddStockProperty :

    DbMigration { public override void Up() { AddColumn("dbo.Fruit", "Stock", c => c.Int(nullable: false)); } public override void Down() { DropColumn("dbo.Fruit", "Stock"); } } public class Fruit { public int ID { get; set; } public string Name { get; set; } } public class Fruit { public int ID { get; set; } public string Name { get; set; } public int Stock { get; set; } }
  8. @erwin_staal Feature Flags Code Sample var api = new FeatureFlagsApi();

    if (await api.IsFeatureFlagEnabledAsync("MyFirstFlag", "SimpleMVCApp", userid)){ // FeatureFlag enabled }
  9. @erwin_staal Feature Flags Code Sample var api = new FeatureFlagsApi();

    ViewBag.FlagEnabled = await api.IsFeatureFlagEnabledAsync("MyFirstFlag", "SimpleMVCApp", userid); @if (ViewBag.FlagEnabled) { <div class="jumbotron"> <h1>Awesome new feature enabled!</h1> </div> }