Slides of the session with Haniel Croitoru at SharePoint Saturday Detroit 2017. Talking about DevOps, Microsoft Teams, Flow, PowerApps and Visual Studio Team Services
Scanning the Internet for External Cloud Exposures via SSL Certs
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity tools and more
1. Improving DevOps using Microsoft's
Business Productivity Tools and more
Real-life experience that leverages Microsoft tools and DevOps
processes
Haniel Croitoru & Vincent Biret
December 2, 2017
#SPSDetroit
5. Reduce time between committing a change to a system and committing it to production
while maintaining high quality
DEVOPS GOALS
• Improved deployment frequency
• Faster time to market
• Lower failure rate of new releases
• Shortened lead time between fixes
• Faster mean time to recovery
Development
Quality
Assurance
Operations
6. Intended to be a cross-functional mode of working
DEVOPS TOOLCHAIN
12. DevOps, from the delivery team perpective is about automating, releasing frequently and
leveraging telemetry as well as feedback to improve solutions
DEVOPS BASICS
13. A few technologies and practices that’ll allow your team to scale
LIFE SAVERS
14. Git is great with branches and cross platform, it has become an industry standard
Gitflow is a great process for DevOps teams and allows them to scale seemlessly
GOOD SCM PRACTICES IS KEY
Git is a decentralized source control technology
Branches are cheap
Merging is not a nightmare
Cross platform
Lot of tools
Git flow is a process model for branch management
Focused work
Easy context switching
Standard and no thinking required
15. Pull requests are a great way to help your team grow and to improve the quality of the
code
PEER REVIEWS AND QUALITY
« Here are a bunch of changes in the code, please review it and make it
part of the main code »
Also check if changes:
Build
Pass unit tests
Pass static analysis gate (code quality)
Have associated work items (context/documentation)
And allows:
For discussion
The team to grow together
16. Automation of almost everything is a key to your DevOps team success and productivity
AUTOMATE AND FAIL FASTER
Automated Unit tests ran every build
Allow team to fail faster and to catch runtime issues earlier
Automated Builds on every push/PR
Allow team to leverage a great toolset and avoids broken code
Automated Releases on new builds
Allow team to ship faster, with less errors, effortless and more often
Automated Notifications
Allow team to focus on creating value, not updating people
17. Versioning not only the binaries but also configuration and service template will allow
you to deploy any version with great fidelity and enable test in production as well as
advanced debugging scenarios
VERSION EVERYTHING
Configuration should be automated/versioned
Avoid a great source of errors
Allows rapid deployment of specific versions with corresponding configuration
Code should be Packaged, even if not a library
Allows rapid solution deployment
Allows solution « composition »
Service provisioning should rely on templates
23. Thank You! Organizers, Sponsors and YOU for making this possible.
Vincent
Message Me On LinkedIn or Email
linkedin.com/in/vincentbiret
vincent@2tolead.com
Haniel
Message Me On LinkedIn or Email
linkedin.com/in/hanielcroitoru
haniel@2tolead.com
Notas del editor
Code — code development and review, source code management tools, code merging
Build — continuous integration tools, build status
Test — continuous testing tools that provide feedback on business risks
Package — artifact repository, application pre-deployment staging
Release — change management, release approvals, release automation
Configure — infrastructure configuration and management, Infrastructure as Code tools
Monitor — applications performance monitoring, end–user experience
Runners: take care of running the tests and provide the infrastructure for (memory, processes…)
Asseration libraries: « ways » to write your unit tests
Emulators (or environments): context within the tests will run (server with node, browser, emulated browser…)
Reporters: take care of writing down tests results in comprenhensive format
Frameworks: provide a suite of functionnalities to help implement testing
Stubing/Mocking-Faking/Spying: allows you to isolate the tested code and/or observe behavior