Upload
horace-king
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Rod Fontecilla, Ph.D.Vice President Application ServicesNov 2015
Deploying Applications Using DevOps
© 2015 Unisys Corporation. All rights reserved. 2
Traditional ways of development and operations is slowing down innovation
Development Operations
We need to push new features and
functionality ASAP.
We need to keep it stable, Follow the
process and deployment schedule to ensure
predictability
Speed to market
Cost Quality
© 2015 Unisys Corporation. All rights reserved. 3
DevOps is a new approach to software delivery that aims at breaking the silos between development and operations.
Development Operations
Collaboration+
Communication+
Integration
Speed to market
Cost Quality
In an study conducted by Vanson Bourne for CA, they found that DevOps is delivering 20% improvement in time to market, 22% increase and quality and 18% reduction is costs.
Wikipedia defines DevOps as “DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.”
© 2015 Unisys Corporation. All rights reserved. 4
While the significant aspects of transformation is cultural change, automation is critical for DevOps success
<Source Code>
Revision control system
Continuous Integration
Programmable Infrastructure
Automated Deployment
Monitoring, Notifications
and Reporting
Automated Build Automated Testing
Automated QAAutomated Documentation
Collaboration
1
2 34
5 6
© 2015 Unisys Corporation. All rights reserved. 5
Automation requirements can be viewed as set of capabilities…Unisys Proven Methodology
DevOps
Programmable Infrastructure
License Management
Self Service
Image / configuration management
Revision Control System
Continous Integration & Dev.
Automation
Build Automation Test Automation QA Automation
Code Coverage Tools
Standards Check Tool
Documentation Automation
Automated Deployment
Monitoring, Notification and
ReportingCollaboration tools Agile Development
© 2015 Unisys Corporation. All rights reserved. 66
Unisys recommends utilizing a pre-defined set of best practice processes and roles for its clients, as well as an integrated set of tools required to enable these processes and provide significant automation to the configuration management, promotion and build processes of applications and infrastructure.
Role Responsibilities Incident Management group Detect and report defects that cause system outages. App Support Developers Diagnose source of defect.
Code and unit test solution. Check solution into appropriate code branch from main code line. Determine any special issues related to installing the solution into
production and communicate them to the Build Team. Merge the change into other App Support code branches. Alert projects to any changes in the production code line so that
App Projects can merge them into App Projects releases. SCM Manager (App Support) Create a code branch from the current production baseline for use
by the App Support developers for approved request. Assist in merging the changed code back into the main code line. Create a new code baseline on the main code line.
Build Manager (App Support) Builds the software for deployment into a test environment Builds the software for deployment into the production environment
Testers Test the change against the established test suites and report findings.
Build Team Install software in the test environment. Install software in the production environment.
App Projects Developers Merge the change into in-progress App Projects code branches as needed.
Step Action Role 1 Approved work is identified, either as a production defect or approved Change
Request. There are two pathways that work can be identified:
Production defect reported by the Incident Management group Approved Change Request targeted for a upcoming release
Either case indicates work that the App Support development team needs to perform and is an entry point into this procedure.
Requestor
2 If production defect, developers confirm need for a code change. Some production defects can be resolved via a workaround or data changes with no CI changes required. If this is the case, there are no branch and merge repercussions and the rest of this procedure is not executed.
App Support Developers
3 SCM Mgr creates code branch (if it doesn’t already exist) from production baseline. At the request of the L3 Lead, the SCM Manager creates a branch of the production baseline if it does not already exist (depending on the version control tool used by the application). This gives the App Support Developers a copy of the current production software in a work area so that they can begin the work to code the solution. For bugfixes, it is considered to be good practice to create a Bug/ Fix branch for a production release immediately after a new production release is merged into the product’s main code line and is baselined. But if this has not happened, the bugfix code branch should be created here. For non-defect Change Requests, a code branch may already exist for the current release; if not, the code branch should be created here.
SCM Manager
DevOps Framework & Process Flows Roles & Procedures Developer’s Workbench
Unisys DevOps Solution Components
© 2015 Unisys Corporation. All rights reserved. 7
Unisys DevOps Integrated Workbench — Process, Roles, ToolsIndustrializes and Automates the Development Lifecycle, Accelerates Business Value
© 2015 Unisys Corporation. All rights reserved. 8
Unisys DevOps Fully Integrated Workbench
© 2015 Unisys Corporation. All rights reserved. 99
As key components of an integrated DevOps capability, there are three domains of activity which have unique processes, roles and technology. They are:
• Technical Release Management• Software Configuration Management• Environment Management
DevOps
Technical Release Management
Request Management Release ManagementCapacity ManagementRelease
Coordination & Support
Software Configuration Management
Version Control Release Management
Build & DeploymentManagement
Release Coordination & Support
Environment Management
BuildAutomation
DeploymentAutomation
Audit Management
Test
Dat
aM
anag
emen
t
ChangeManagement
FeatureManagement
DefectManagement
Environment Monitoring
Environment Scheduling
EnvironmentProvisioning
EnvironmentDecommissioning
ConfigurationControl
Unisys DevOps Domain Scope
© 2015 Unisys Corporation. All rights reserved. 10
Unisys Bi-Modal Architecture Efficient, Fast and Cost Effective
Bi-Modal Architecture
Micro-services
Zero-downtime
Real Time Analytics
Easy Configuration
Automated ScalingSecurity
•Stable transaction-oriented systems on the back end •Fast-changing customer-facing applications in the front-end
•Launch several software changes a day/week•Hosted in the cloud and loosely integrated
•Upgrades are seamless to end-user• Issues in one service do not harm overall operations
•Analyze data in real-time with every touch within the app•Change application based on user behavior
•Business users change processes – flexible workflows•Eliminate unnecessary processes without needing a developer
•Elasticity provided by cloud infrastructure •Cybersecurity should be part of overall application
© 2015 Unisys Corporation. All rights reserved. 11
Integrating DevOps Within Bi-Modal Development Environment
Develop Micro-servicesUsing Containers To
Create Packages Easy To Deploy
Cloud-based Infrastructure for ease of deployment
Automated Testing For Continuous Delivery
Accelerate Releases Of Innovative Capabilities While Maintaining Legacy IT Systems Necessary For the Sustainment of the Business
© 2015 Unisys Corporation. All rights reserved. 12
End to End DevOps Implementation @ USDA
OperateReleaseProject
Plan Code DeployBuild Test
Iterate
Plan
USDACLP006
Project/SprintPlanning & Design
View Agile requirement(or defect alert)
Jenkins BuildBuild application
Create development stack
Jenkins Deploys into ProductionDeploys app from successful build image & deployment
stack into HA CloudIterate
InitiateSDLC managed by ELMS and CMMI
Project Planning
Visualization supporting JAD
CodeObject Reuse
Initiate
Regression/Perf/Cert
Pre-Initiate
Project Plan
Requirements & Design Integration & Testing
Development
Developer Commits
CodeDeveloper
Suite
TestingAutomated build/test
TestingAutomated
Verification/Certification
Successful Build
Application
UATUnit Application
Ops
USDA SDLC
Iterate
Access centralized resources via community architecture
Integrated Master Schedule
HA Cloud Dev/Test/Cert/Prod
Initiate
Conceptual Planning
O&M
Implementation
Dev
© 2015 Unisys Corporation. All rights reserved. 13
Questions