rod fontecilla, ph.d. vice president application services nov 2015 deploying applications using...

13
Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

Upload: horace-king

Post on 19-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

Rod Fontecilla, Ph.D.Vice President Application ServicesNov 2015

Deploying Applications Using DevOps

Page 2: Rod Fontecilla, Ph.D. Vice President Application Services Nov 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

Page 3: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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.”

Page 4: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 5: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 6: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 7: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 2015 Unisys Corporation. All rights reserved. 7

Unisys DevOps Integrated Workbench — Process, Roles, ToolsIndustrializes and Automates the Development Lifecycle, Accelerates Business Value

Page 8: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 2015 Unisys Corporation. All rights reserved. 8

Unisys DevOps Fully Integrated Workbench

Page 9: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 10: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 11: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 12: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 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

Page 13: Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps

© 2015 Unisys Corporation. All rights reserved. 13

Questions