efficient devops: standardizing chaotic culture at nbcuniversal

30
“Operationalizing DevOps” Platform DevOps John Comas Manager, Platform DevOps NBCUniversal

Upload: ibm-urbancode-products

Post on 16-Jan-2017

377 views

Category:

Software


1 download

TRANSCRIPT

“Operationalizing DevOps”

Platform DevOpsJohn ComasManager, Platform DevOpsNBCUniversal

Software Development Challenges

2

What were our software development pain points…

Your Pain Points

3

NBCU Software Development Challenges

High Error Rate

Manual Process Configuration Management

Lots of Delays Multiple Technologies

Audit Trail Environment Consistency

Time to market

Improvements

4

So what did we improve?

Improvements

5

Technology Operations

UnitedSilos

So how did we fix these challenges?

6

?

DevOps!!

7

DevOps is a fancy catch phrase which combines DEVelopment and OPerationS

DEV PS

The 5 C’s of DevOps

Continuous IntegrationCode changes are merged with the mainline multiple times per day. Unit testing and TDD make up the core of CI

Continuous Delivery Develop code in short cycles and release often

Continuous Testing Code is continually tested to ensure quality before releasing

Continuous Feedback Determine the current state of the project

Continuous Monitoring Real-time status of the application

DevOps SDLC

9

Merging disparate practices into one seamless workflow

Change Management

Shift Left Testing

Release Pipeline & Execution

Monitor &

Manage Assets

Building DevOps

10

• Our DevOps is centrally driven through the IBM Urban Code Suite

• UCB/UCD has empowered us to merge the 5 C’s into ONE WORKFLOW

• With our integrated commit hooks, all a developer has to do to trigger the CI process is check in code to the SCM. That’s it!

Building DevOps

11

DevOps 1.0 (2015) - CRAWL

12

When we embarked on our newborn DevOps 1.0 workflow, we began with integrating:

• Agile Project Management• Source Code Management• Build Automation• Deployment Automation• Unit Testing Integration• QA Test Automation

DevOps 2.0 (2016) - WALK

13

In 2016, we matured with our DevOps 2.0 workflow and expanded DevOps to integrate:

• Agile Project Management• Source Code Management• Database Forecasting Automation• Database Deployment Automation• Build Automation• NPM Enterprise• Deployment Automation• Unit Testing• Code Coverage• Static Code Analysis• Technical Debt Measurement• Dynamically Activated Cloud-based Testing Environments• Integrated & Automated Environment Provisioning• Continuous Test Automation (Smoke, Functional, Regression, End-

to-End Test Automation)• Veracode Integration

DevOps 3.0 (2017) - RUN

14

In 2017, with our DevOps 3.0 workflow, we will expand DevOps to integrate:

• DevOps Mobile• Agile Project Management• Source Code Management• Database Forecasting Automation• Database Deployment Automation• Support for Container Technologies (Docker, Kubernetes, etc)• Fully Cloud Aware Build/Deployment Capabilities• Build Automation• Deployment Automation• Urban Deploy with Patterns Blueprint Designer• Unit Testing• Code Coverage• NPM Enterprise• Continuous Risk Assessment• Static Code Analysis• Technical Debt Measurement• Slack Channel• Continuous Monitoring• Continuous Feedback• Dynamically Activated Cloud-based Testing Environments• Integrated & Automated Environment Provisioning• QA Test Automation• Veracode Integration

Our DevOps Tools

15

Our Customers

16

To save you time and MONEY!We are so proud to announce that we now

have 60 unique applications utilizing our DevOps SDLC!

Our Ultimate DevOps Goal

17

Our goal is to provide our customers with the most comprehensive, robust, state-of-the-art, bleeding edge DevOps capabilities availalable in the industry.

Our Ultimate DevOps Goal

18

AND….

Cost Savings

19

To save time and MONEY!

One more thing!

20

I want to briefly show you some of our incredible new DevOpscapabilities that we have already implemented for our customers

Skytap/IBM IDTES

21

Skytap is a public cloud service which provides instantPre-Prod Environments and QA Automated Testing Infrastructures

to traditional on-premises applications.

Skytap/IBM IDTES

22

Skytap/IBM IDTES Plug-In for Urban Code

23

Skytap/IBM IDTES

24

Spin Up the Cloud Env from within Urban Code

Suspend the Cloud Env from within Urban Code

Skytap/IBM IDTES

25

Datical

26

DevOps for the Database!Now your Database Development & Deployment can move at the Speed of Light too!

Datical – DevOps for the Database!

27

9/29/16, 9:05 PMDeploy: compass_poc_ref_db Wed Mar 23 16:02:14 ADT 2016

Page 1 of 3https://ubuild.inbcu.com/jobs/artifacts/84/22647/Datical_Deployment_and_Forecasting_Res…6/03-Mar/compass_poc_ref_db/deploy_compass_poc_ref_db_20160323_160157/deployReport.html

Deploy: compass_poc_ref_db Wed Mar 23 16:02:14 ADT 2016

Deploy Mode: Full Deploy Context: all contexts

Forecast Mode: Limited Forecast Labels: all labels

Deploy changes on compass_poc_ref_db

SystemUser: svc206440895 Deployment

Step: compass_poc_ref_db

SystemName: AOAWSWP00035 Database

User: UrbanDatical

JDBCURL: jdbc:sqlserver://AOADBWD00051\D0010ES03:4070;databaseName=COMPASS_POC_REF_DB DBMS

Platform:Microsoft SQLServer -11.00.5058(11 0)

Driver: Microsoft JDBC Driver 4.0 for SQL Server Contexts: all contextsStartTime: Wed Mar 23 16:01:58 ADT 2016 Labels: all labels

EndTime: Wed Mar 23 16:02:29 ADT 2016

TotalTime: 30 seconds

Table Impact Summary

Table Total Rows Read Total Values DeletedTVEPartner 0 0TVEPartnerLog 0 0

Successful Changes

Expand All Details

1458759580227-1

Create new table TVEPartner with 10 columns.Rows Impacted Values Deleted0 0

Expand Details

IDAuthorDate Executed1458759580227-1svc206440895 (generated)Wed Mar 23 16:02:15 ADT 2016

Change Set Impact

Before AfterColumn Name Type

TVEPartnerNo INTTVEPartnerName VARCHAR(100)TVEPartnerTypeNo INTFeedNo INTCommentNo INTDelFlag CHAR(1)DateAdded datetimeUserAdded INTDateUpDated datetimeUserUpdated INT

Generated SQL

9/29/16, 9:04 PMForecast: compass_poc_ref_db Wed Mar 23 16:01:49 ADT 2016

Page 1 of 3https://ubuild.inbcu.com/jobs/artifacts/84/22647/Datical_Deployment_and_Forec…ss_poc_ref_db/forecast_compass_poc_ref_db_20160323_160131/forecastReport.html

Forecast: compass_poc_ref_db Wed Mar 23 16:01:49 ADT 2016

Forecast Mode: Limited Forecast

Context: all contexts

Labels: all labels

Forecast changes on compass_poc_ref_db

SystemUser: svc206440895 Deployment

Step: compass_poc_ref_db

SystemName: AOAWSWP00035 Database

User: UrbanDatical

JDBCURL: jdbc:sqlserver://AOADBWD00051\D0010ES03:4070;databaseName=COMPASS_POC_REF_DB DBMS

Platform:Microsoft SQLServer -11.00.5058(11 0)

Driver: Microsoft JDBC Driver 4.0 for SQL Server Contexts: all contexts

Table Impact Summary

Table Total Rows Read Total Values DeletedTVEPartner 0 0TVEPartnerLog 0 0

Changes

Expand All Details

1458759580227-1

Create new table TVEPartner with 10 columns.Rows Impacted Values Deleted0 0

Expand Details

IDAuthorDate Executed1458759580227-1svc206440895 (generated)Wed Mar 23 16:01:51 ADT 2016

Change Set Impact

Before AfterColumn Name Type

TVEPartnerNo INT

TVEPartnerName VARCHAR(100)TVEPartnerTypeNo INTFeedNo INTCommentNo INTDelFlag CHAR(1)DateAdded datetime

Forecast the Changes… Then Deploy the Changes!

DevOps Mobile

28

Always on the go?

Not in front of your laptop or desktop computer?

BUT you still need to stay on top of your application development?

Urban Code Mobile

29