A Case Study: Automated Continuous Software Engineering Cycle (ACSEC)

Slides:



Advertisements
Similar presentations
System Center 2012 R2 Overview
Advertisements

Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
Cost Effort Complexity Benefit Cloud Hosted Low Cost Agile Integrated Fully Supported.
Cloud Attributes Business Challenges Influence Your IT Solutions Business to IT Conversation Microsoft is Changing too Supporting System Center In House.
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
Accelerating Product and Service Innovation © 2013 IBM Corporation IBM Integrated Solution for System z Development (ISDz) Henk van der Wijk 23 Januari.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
Hybrid Cloud and Windows Server 2003 end of support on Azure Rod Kruetzfeld Data Center Technical Strategist Microsoft Canada.
Testing as a Driver for Development Change Wall Street Systems Graham Thomas.
Microsoft Management Seminar Series SMS 2003 Change Management.
It’s tough out there … Software delivery challenges.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
Continuous Delivery and Team Foundation Server 2013 Ognjen Bajić Ana Roje Ivančić Ekobit.
Please fill in my session feedback form available on each chair. SPSCairo Welcome.
Microsoft Virtual Academy. Microsoft Virtual Academy First HalfSecond Half (01) Introduction to Microsoft Virtualization(05) Hyper-V Management (02) Hyper-V.
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
READ ME FIRST Use this template to create your Partner datasheet for Azure Stack Foundation. The intent is that this document can be saved to PDF and provided.
Rapid Launch Workshop ©CC BY-SA.
Service Assurance in the Age of Virtualization
Hybrid Management and Security
Univa Grid Engine Makes Work Management Automatic and Efficient, Accelerates Deployment of Cloud Services with Power of Microsoft Azure MICROSOFT AZURE.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Continuous Delivery- Complete Guide
Hybrid Management and Security
Microsoft Operations Management Suite Insight and Analytics
Microsoft Ignite /4/2018 8:46 AM
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
7/2/2018 2:39 AM BRK2413 Customer lifecycle with LCS: Dynamics 365 for Finance and Operations, Enterprise edition Manali Dongre Senior Program Manager.
Microsoft Ignite /22/2018 3:27 PM BRK2121
DevOps – Test Automation for IOTs
EOB Methodology Overview
DEFECT PREDICTION : USING MACHINE LEARNING
Hyper-V Cloud Proof of Concept Kickoff Meeting <Customer Name>
Exploring Azure Event Grid
The Brocade Cloud Manageability Vision
Application Lifecycle Management – Best Practices for SharePoint and Office App development November 2015.
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Stratus Innovations Group Intelligent Factory™ Solution Offering
Continuous Performance Engineering
Quantifying Quality in DevOps
Healthcare Cloud Security Stack for Microsoft Azure
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
DevOps: Azure Monitoring & Authoring Updates for Operations Manager 2012 SP1
TechEd /21/2018 5:20 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Ed oms team OMS: Log Analytics Ed oms team.
Transforming Automation through Artificial Intelligence
Simplified Development Toolkit
11/29/2018 2:52 AM MDC317A Continuous Delivery - The Agile End to End Story for Developers & IT Pros! Morgan Webb Technical © 2013.
Automated Testing and Integration with CI Tool
Introduction to DevOps
Welcome to the Ericsson journey towards an Agile WoW!
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Healthcare Cloud Security Stack for Microsoft Azure
Microsoft Virtual Academy
Technical Capabilities
Increase and Improve your PC management with Windows Intune
From Development to Production: Optimizing for Continuous Delivery
SharePoint Development
From Development to Production: Optimizing for Continuous Delivery
HCL’s Viewpoint – DevOps on MS Cloud
DevOps better together with System Center 2012 SP1 and Visual Studio
5/1/2019 3:34 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or.
Monitor VMware with SC2012 SP1 Operation Manager & Veeam Microsoft Tools for VMware Integration & Migration Symon Perriman Michael Stafford Senior.
Office 365 Development July 2014.
Mark Quirk Head of Technology Developer & Platform Group
ONAP Architecture Principle Review
Applying 3C DevOps approach in Mobility World
Michael Stephenson Microsoft MVP - Azure
Presentation transcript:

A Case Study: Automated Continuous Software Engineering Cycle (ACSEC) 演讲者: Xin Bai 职位: Senior Software Engineer 来自公司: The Microsoft Corporation

Abstract There are many different processes and methods during a software development and engineering. Automated continuous software engineering is a further extension to some of the existing popular methods, such as, continuous integration as well as continuous delivery. It focuses on the reversed direction from customer to engineering and emphases on the whole life cycle of the software as a product. It completes the cycle of software development and engineering along with reporting and customer feedback. The automation implemented in each phase makes it the most effective and productive process for the software development and engineering. It fulfils the goal from a different perspective for the customers to verify the system health and further correct the system issues automatically. Here, we present a study case to demonstrate how we leverage this process to solve our software engineering issue and support the product life cycle.

Introduction From time to time, many software development teams across industry wonder which process or methods to leverage to best fit their development and engineering needs. That is mainly because that different teams had developed different systems and applications, such as, Microsoft Windows apps, web site apps, and WCF (Windows Communication Framework) services, which may result in different engineering approach for different teams. Also, sometimes, it is because that people are so used to be with a traditional method of developing software, such as, waterfall model, to work on the software development and engineering.

Problem Statement Environment Contention Environment Health One Direction of CI/CD Slow Development Cycle Quality Issues Not Automated Process Disconnection between Engineering & Support

Key to succeed Team work Open to accept change Automation is priority Use SSDT for SQL Use wix project for deployment Use Cloud for Onebox and Multibox Use MS build

Affinity Diagram - before Process Change To Add

Topology Topology

Practice 1 Automatic Provisioning Create templates in Genesis – one time work. Call Genesis API to provision OneBox or MultiBox automatically. Provisioning is kicked off after a successful build is detected only. Move to cloud

Practice 2 Continuous Software Engineering Life Cycle Continuous Build Gated Build Unit Test Suite BVT & Code Coverage Standard Reporting

Practice 3 Continuous Software Engineering Life Cycle Continuous Deployment Deploy the build onto either OneBox or MultiBox. Right topology - Deploy onto an existing environment or new provisioned environment. Right hardware Deployment is kicked off after a successful provisioning only.

Practice 4 Continuous Software Engineering Life Cycle Continuous Integration Continuously checks for new builds and local builds, provisions, deploys, and executes tests Tool - Genesis OneBox Template - all components are on one machine MultiBox Template – simulate communications, firewall configurations, etc. Genesis API is integrated into deployment and TCF test solution.

Practice 5 Continuous Software Engineering Life Cycle xVT Leverage VS for testing – unit test and console application Execute xVT automatically anywhere after deployment Scheduled Email Notification Ops gets the errors from notification and enters them into their ticket system

Practice 6 Continuous Software Engineering Life Cycle Continuous Regression What is the right regression Beyond BVT UAT Continuous Correction Automated bug logging. Automated system recovery. Bring back into engineering cycle.

Practice 7 Continuous Software Engineering Life Cycle Continuous Monitoring and Reporting Infrastructure Level Monitoring What to monitor? Comprehensive system monitoring. Telemetry Monitoring and Reporting is more Important

Practice 8 Continuous Software Engineering Life Cycle Continuous Notification Ops gets the errors from notification and enters them into their ticket system Email notice Disaster Recovery

Challenge 1: Continuous TiP & Trouble Shooting Automatically grab production data Automatically re-pro production failure in test environment Help production issue trouble shooting

Challenge 2: Continuous Customer Feedback Automatically collect customer feedback in an efficient way It impacts the engineering cycle most

Challenge 3: Continuous Application Level Correction Automatically correct the apps in an efficient way It optimizes the engineering cycle

Affinity Diagram - after Process Change

Takeaways Build a foundation for Automatic Provisioning in cloud. Leverage automated gated build process for each check-in or per request. Full deployment is basic and delta deployment is practical. BVTs for integration is the key. Create a proper suite of xVT (EVT, IVT, and BVT). Execute a proper regression. Infrastructure level of auto-correction is doable. Telemetry must be part of design. Various reporting and dashboard helps with customers.

Lesson Learned Disconnection between Engineering & Support so that TIP is a challenge. Business UAT bottleneck – Customer feedback is slow. Automated application level correction is far from reality. Others Complexity of BVTs Infrastructure Instability Quality Challenge

ROI Reduced full release of a new lane of system from 6 months to 1 month More confident to the system quality More agile due to continuous work Robust system due to automation in each phase of the development Scalability Released more frequently

Future Azure VMs for provisioning Automated bug opening in the ticket system while getting the errors from xVT notification Automated error correction while getting the errors from xVT notification Telemetry to get real time production metrics Machine learning to categorize the exceptions for troubleshooting. Test in production (TiP) Application level of correction

Publication http://www.worldacademyofscience.org/worldcomp15/ws/conferences/ike15 http://www.clocate.com/article/A-Case-Study-Automated-Continuous-Software-Engineering-Cycle/360/