Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture...

10
Reference Architecture for Java Stack OneDevOps 1

Transcript of Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture...

Page 1: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

Reference Architecture for Java Stack

OneDevOps

1

Page 2: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

DevOps Reference Architecture across DevOps Vectors

2

Build Deploy Verify Release Measure Environment

• Code Storage

• Compile

• Unit Test

• Store Artifact

• Trigger

Deployment

• Fetch & Copy

Artifact

• Deploy Artifact

• Sanity Test

• Notify

• Test Initiation

• Functional &

Regression Testing

• NFR Testing

• Verification

Approval

• Test Closure

• Planning

• Definition

• Workflow &

Approvals

• Rollout

• Closure

• Define KPI’s

• Implement

• Collect & Collate

• Measure & Evolve

• Planning

• Procurement

• Provisioning

• Maintenance

• Teardown

DEVOPS BUILDING BLOCKS TO ENABLE AUTOMATION ACROSS THE DEVOPS VECTORS

Imp

lem

en

tati

on

De

tails

Continuous Integration

•Continuous Build

•Automated Unit Testing

•Quality Gates

•Automated Packaging & Versioning

Deployment Automation

•Automated Artifact Movement

•Automated Deployment

•Automated Smoke Test

Continuous Testing

•Functional & Regression Automation

•Automated Load & Performance Testing

Enterprise Release Management

•Release Cadence

•Release Strategy

•Automated Release Orchestration

Continuous Monitoring

•Data Collation

•Data indexing

•Alerting

•Business Intelligence

Smart Environment

•Automated Provisioning

•Infra as code

•Cookie cut environments

•Easy Maintenance

Fun

ctio

ns

Page 3: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

3

Reference Architecture – Build Vector for Java Stack

Check out Compile Unit Test Store Artifact

Functions Implementation Details Automation Considerations

ToolsRecommendation

Check out CodeCreate Branch

Check-in Changes

Pull Latest Code

Check code

Standards

Merge Changes

Merge Changes

Code Check-out

Enforce Code Standards

Compile CodePull

DependenciesCompile

Code

Package Code &

versioning

Setup compile

Env

Setup Build Env

Pull Dependencies

Compile Code

Package Code

Unit TestRun unit

TestPublish Result

Measure Coverage

Publish Coverage

Result

Run Unit Test

Publish Result

Measure Coverage

Publish Coverage Result

Store Artifact Upload artifact Publish artifactUpload Artifact

Publish Artifact

SCM:• GIT

Build Tool:• Gradle• Maven

Static Analyzer:• Sonarqube

Code Review:• Crucible

Code Coverage:• Cobertura

Unit Testing:• Junit• TestNG

CI Engine:• Jenkins• Bamboo

Artifact Repository:• Nexus• Artifactory

Page 4: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

4

Reference Architecture – Deploy Vector for Java Stack

Trigger Deployment Fetch & Copy Artifact Deploy Artifact Sanity Test Notify

Functions Implementation Tasks Automation Considerations

Tool Recommendation

Trigger Deployment

Deployment Reqportal or CI Engine

Fetch & Copy Artifact(s)

Update Deployment Status

Rollback Deployment on failure

Publish Release Notes

Deploy Artifact

Fetch Artifact

Fetch Dependency

Copy Artifact to Target

Copy dependency to target

Sanity TestRun Sanity Test

Update Sanity Test Results

Notify

Fetch Artifact

Fetch Dependency

Copy Artifact to target

Copy Dependency to

target

Setup App Environment

Update Config/ Metadata

Deploy Artifact

Run Sanity Test

Update Deployment Status

Rollback Deployment on

failurePublish Release Notes

Setup App Environment

Update Config/Metadata

Deploy Artifact

Update Sanity Test Results

Deployment Request

Deployment workflow

Invoke Deployment

Deployment Workflow

Deployment Request

Invoke Deployment

CI Engine:• Jenkins• Bamboo

Workflow Management Tool:• Jira• ServiceNow

Artifact Repository:• Nexus• Artifactory

Deployment Tool:• XL Deploy• UrbanCode Deploy• CA Nolio

DB Deployment:• Liquibase• DB Mastro

Test Automation:• Selenium• UFT

Test Management:• HP ALM• Jira

Page 5: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

5

Reference Architecture – Verify Vector for Java Stack

Test InitiationFunctional &

Regression TestingNFR Testing Release Approval Test Closure

Functions Implementation Tasks Automation Considerations

Tool Recommendation

Test Initiation Deploy Artifact to Env

Functional & Regression Testing

NFR Testing

Verification Approval

Approve Release based on Test Results

Test Closure

Run Functional

Test

Record Functional

Test Results

Approve Release based on Test Results

Archive Test Results

Load/ Performance Test Automation

Correlate Automated Load/ Performance Test Results

Sanity Test -Pass

Create Test Cycle

Run Regression

Test

Record Regression Test Results

Run Load/ Performance Test

Record Load/ Performance Test Results

Perform Smoke Test

Deploy Artifact to Env

Sanity Test

Functional Test Automation

Correlate Functional Test Results

Regression Test Automation

Correlate Regression Test Results

Perform Production Smoke Test

Release Management:• Jira• XL Release

Test Automation:• Selenium• UFT

Test Management:• HP ALM• Jira

Service Virtualization:• CA DevTest• Parasoft Virtualize

Test Data Management:• TD Maxim

Data Virtualization:• Delphix• Actifio

Performance & Load Testing:• HP Performance Center• Jmeter

Page 6: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

6

Reference Architecture – Release Vector for Java Stack

Planning Definition Workflow & Approval Rollout Closure

Functions Implementation Tasks Automation Considerations

Tool Recommendation

Planning Establish Release Cadence

Definition

Workflow & Approvals

RolloutProd Rollout Approval

Rollout Release

Closure

Define Release Scope

Track Release Dependency

Map work items to release

Release Request

Release Approval

Release to next env

Prod Rollout Request

Publish Release Notes Archive release work items

Rollout Release Prod Rollout

Approval

Release Dependency Management

Release Approval

Release to next env

Release Dependency Mgmt

Release Management:• Jira• XL Release

Artifact Repository:• Nexus• Artifactory

Deployment Tool:• XL Deploy• UrbanCode Deploy• CA Nolio

DB Deployment:• Liquibase• DB Mastro

Test Automation:• Selenium• UFT

Test Management:• HP ALM• Jira

Page 7: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

7

Reference Architecture – Measure Vector for Java Stack

Define KPI’s Implement Collect & Collate Measure

Functions Implementation Tasks Automation Considerations

Tool Recommendation

Define KPI’sDefine the KPI’s to be

measured

Implement

Collect & Collate

Measure

Instrument Code for KPI

Inject monitoring agents into env

Forward data

Collect data

Index data

Collate data

Business Dashboard

AlertingInfra Dashboard

Create visualization

Design Considerations

Recipes for Agent Installation

Forward data

Collect Data

Index data

Collate data

Business Dashboard

Infra Dashboard

Alerting

Log Management:• Splunk• ELK

Infra Monitoring:• Nagios• Zabbix• Zenoss• Dynatrace

Configuration Management:• Chef• Puppet

Application Performance Monitoring:• AppDynamics• New Relic

Communication:• Hipchat

ITSM:• ServiceNow• Jira Service Desk

Page 8: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

8

Reference Implementation – Java Stack (Indicative)

Page 9: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

9

Reference Implementation – Java Stack (Indicative)

Page 10: Reference Architecture for Java Stack - Cognizant - Login · PDF fileReference Architecture for Java Stack ... •Automated Load & Performance Testing ... Performance & Load Testing:

Thank You

10