Software Configuration Management (SCM)

Transcription

Software ConfigurationManagement (SCM)

“the discipline of identifying the configuration ofa system at distinct points in time for the purposeof systematically controlling changes to theconfiguration and maintaining the integrity andtraceability of the configuration throughout thesystem life cycle.” SWEBOK v3 (Ch. 6)

“Software configuration management (SCM) is asupporting-software life cycle process that benefitsproject management, development andmaintenance activities, quality assurance activities,as well as the customers and users of the endproduct.” SWEBOK v3 (Ch. 6)

Examples

Fundamental Features Manage changes to files over time Track changes, provide history, auditing, tracing Provide mechanisms to maintain versions Allow going backward and forward in time, recoverolder versions

More than just Version Control Version (revision) control of: source code, documentation,configuration files, Workflow management: branch, merge, pull requests, tagging File access: distributed, centralized, permissions Manage/facilitate concurrent access: merge model or locking Record who made changes, blame See: https://en.wikipedia.org/wiki/Comparison of version control software

Really, more than justVersion Controlis the primary enabler of many core SE activities Build: build automation, release management Test: test automation, code coverage, traceability Documentation: doc generation Requirements/Specifications Modeling: modeling artifacts Changes: change management Maintenance: defect tracking, bugs, tickets ?

SCM.cs .cshtml.js nSoftware

Professional Workflow (courtesy Claire Mears)

SCM.cs .cshtml.js ationSoftwareCreateDatabase

ationWeb serveryNetworkDeploCloud Resourcespl.cs .cshtml.js .cssRunCrteaDe.g.pp .yml .f3d .scad.shDockerfile leteDeveloper orTestSystemPhysicalObjectseateDatabase

IaaSInfrastructure as a Service AWS Azure Google Compute Engine Rackspace IBM SoftLayer

Script it! AWS Command Line Interface Azure CLI Google Cloud SDK

Azure Web AppExample & Demo: azwebapp.sh*Technically uses PaaS

Iaas — Iac — DevOps Infrastructure as a Service Infrastructure as Code software DEVelopment andinformation DevOps

Deploy an Entire CustomSystem Puppet Terraform Chef Docker Ansible Salt VagrantContinuous Configuration AutomationorSystem Configuration Management

Examples Examples on official websites, e.g. Ansible: https://github.com/ansible/ansible-examples Puppet/Vagrant: https://github.com/jrodriguezjr/puppet-lamp-stack Docker: Very simple example Dockerfile

Docker“Docker containers wrap up a piece of software in a complete filesystem thatcontains everything it needs to run: code, runtime, system tools, system libraries– anything you can install on a server. This guarantees that it will always run thesame, regardless of the environment it is running in.” docker build -t lab6image . docker run -it lab6image /bin/bash docker run -d -p 80:80 —name webserver nginxImages: https://www.docker.com

Movements Software Defined Radio Software Defined Networking Software Defined Storage Software Defined Data Center XaaS — “Everything-as-a-Service”Define systems andbehavior with codeCreate API and systemsto programmaticallyinitialize, control, change& manageThen wrap it up as amanaged service

What are we doing here?

Inventions by Homo SapiensRevolutionary “enter a newera or age”? dog, cat,domestication ofanimals, falconryfishing cormorantspassenger pigeons slaverypaid laborAmazing computers (asautomatons) API, or Scripting?stone tools spear, bow & arrowknife PotteryBeer The Wheel cartbronze age tools iron age tools gunsfighter jetsfood processor computers (asapplications)Computer Applications

.*.stl.g

“TaaS will provide 95% of the passenger miles traveled within 10 years of thewidespread regulatory approval of AVs. By 2030, individually owned ICE vehicleswill still represent 40% of the vehicles in the US vehicle fleet, but they will providejust 5% of passenger miles.”Disruption, Implications and ChoicesRethinking Transportation 2020-2030The Disruption of Transportation and the Collapseof the Internal-Combustion Vehicle and Oil IndustriesA RethinkX Sector Disruption ReportMay 2017James Arbib & Tony SebaSee also: Intel predicts autonomous driving will spur new ‘PassengerEconomy’ worth 7 Trillion

Tesla Factory“Alien -that-builds-the-machine/

Machine Learningis eepimagesent/

Will we have API’s for? making or cooking dinner agriculture building a house filing a lawsuit incorporating a company gene editing ?F?WTEverything as Code

“Software configuration management (SCM) is a supporting-software life cycle process that benefits project management, development and maintenance activities, quality assurance activities, as well as the c