aspire ppt - 01.06.15

17
How to Scale Continuous Delivery in the cloud

Upload: aspiresystem

Post on 17-Aug-2015

13 views

Category:

Documents


1 download

TRANSCRIPT

How to Scale

Continuous Delivery

in the cloud

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Instructions

If you have any questions, please type them in the question tab located at the top

We will provide answers during the Q&A session towards the end of the webinar

Thanks for your participation and enjoy the session

Request all to take part in the survey that pops up

In case if you do not receive answers to your question today, you will certainly receive answers via email shortly

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

EII Customers & Project Engagements Agenda

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Elango Kanakaraji Prakash Nagaswamy Head - Product Engineering Services,

Aspire Systems

Director - Digital Technology,

Aspire Systems

Global technology services firm with core DNA of software engineering

Specific areas of expertise around Software Engineering, Enterprise

Solutions, Testing and Infrastructure & Application Support

Vertical focus among Independent Software Vendors and Retail, Distribution

& Consumer Products

1400+ employees; 100+ active customers

ISO 9001:2008 and ISO 27001 : 2005 certified

Presence across US, UK, Benelux, Middle East and India

Recognized five consecutive times as “Best Place to Work for” by

GPW Institute

About Aspire

Speakers

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Agenda

Development in the Cloud

Developer Productivity

Ticket-based Code and

Release Management

Agile in the Cloud

A Case Scenario

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Why Transform Development to the Cloud

Infrastructure for Development

Hardware resources scaling

Anywhere, anytime access to

hardware resources

Readily available environment

Development Process Challenges

Development process collaboration

with distributed teams and Integrated

code and release management for

project teams

Effective implementation of key

Agile principle – working software

frequently

High turnaround time for

customer requests

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

How the Cloud Helps

Build and Release

Workspace 2

Workspace 1 Ticket 1 Env

Stage Env

Developers:

Distributed

Sprint team Testers

Project

Team

Code

Repository

Agile Management

Workspace 2 Test Env

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Developer Productivity

Environment 1

Environment 2

Environment 1

Web Server

IDE

Local

DB

Other

Tools

Additional hardware is needed as requirements

grow

Customer specific environment configuration

becomes time consuming

Testing on customer specific

environment is time consuming

Increase in troubleshooting time for production bugs

Debugging process in target environment is

challenging

Developer

Work Station

Targeted

Environment

Non-Cloud Environment

Develop,

Check-in code,

Build, Deploy

and test

Agile Development

Agile development is restricted to local environment scope

Scaling of Agile development is difficult

More time spent in configuring the virtual instances

Lack of global visibility and collaboration

Obstacles in releasing working software frequently

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Developer Productivity

Web/app

server

Test Environment

Ticket Environment

Customer Environment

DB

Manual Testing and IDE Driven Debugging

Continuous Integration server

Cloud-based Source Code Repository

Development Environment with Shared Resources

Check-

in/out

Triggers

to start the build

Auto

Deployment

Secured

login using

IDE

Developers

Releasing high quality

working software more

frequently

Less turnaround

time for customer

requests

Better collaboration

and improved

decision-making Benefits

Cloud Environment

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Ticket-based Code and Release Management

Release

branches

Hot fix

Branch Feature

branch 1

Feature

branch 1 Dev Master QA

Feature for future release

Start release branch for 1.0

Tag 0.1

Tag 0.2

Only bug fixes

Tag 1.0

Major feature for next release

Daily Updates

Serve bug fixed for production hotflix 0.2

Bug fixes from release branch may continuously merged back to develop

TIME

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Technologies for the Cloud-based Development

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Cloud-based Development in Action

OpenShift Gear 1 - Inventory Application OpenShift Gear 2 - Mortgage Application

User control &

Access Mgmt

Application’s

components

Configuration

Distributed Development Team

working on a Shared instance

of the Application Deployment

Distributed Development Team

working on a Shared instance

of the Application Deployment

Web Interface Source Code

Repo

Application

Data Jboss Config Mysql Config

Source Code

Repo Web Interface

Application

Data Mysql Config Tomcat Config

Jboss Cartridge Shared MySQL Cartridge Tomcat Cartridge

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Cloud-based Continuous Delivery

Development Environment Sharable Resources

QA Environment UAT / Staging Environment

Common Source Repository

Sharable

MySQL

Cartridge

Cartridge

OpenShift Cloud Setup

Developer working on

open shift environment

Testers working on

open shift environment

Customer

validating

the release

Aspire Cloud

Provisioning Setup

Vagrant Chef

OpenShift Gear 1/Ticket branch

development environment 1

Jboss

Cartridge

Mysql

Cartridge

OpenShift Gear n/Ticket branch

development environment n

Tomcat

Cartridge

Mysql

Cartridge

OpenShift Gear 1/Ticket branch

QA environment 1

OpenShift Gear n / Ticket branch

QA environment n

Jboss

Cartridge Mysql

Cartridge

Tomcat

Cartridge Mysql

Cartridge

OpenShift Gear n / Ticket branch

UAT environment n

OpenShift Gear 1/ Ticket branch

UAT environment 1

Jboss

Cartridge

Mysql

Cartridge

Tomcat

Cartridge Mysql

Cartridge

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Beyond Cloud-based Development

OpenShift Gear 1 - Inventory Application OpenShift Gear 2 - Mortgage Application

Developer working on a instance

of the Application development /

debugging with JPDA

Shared / isolated code branch

for specific release / tickets

Developer working on a instance

of the Application development /

debugging with JPDA

Web Interface Source Code

Repo

Mysql Config Tomcat Config Application

Data

Source Code

Repo Web Interface

Application

Data Mysql Config Tomcat Config

Tomcat Config Shared MySQL Cartridge Tomcat Cartridge

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

Build your Environment Dynamically

Local Copy in

Openshift VM

Test Scripts Gear

update config

(if applicable)

Application

Chef provisioned

components

On success of

test scripts

Application Gear Data / Config VM

Application

Chef provisioned

components

Cloud Infrastructure

App Data Config

Master branch in source repository

Master branch in source repository

Check-out merge

changes

OpenShift QA – Flow Diagram

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

A Case Scenario – A Social Media Monitoring Solution

A leading a leading venture capitalist.

To decide on which company to invest, they relied on the

data collected via social media

As a part of their due diligence process they were in need of

a digital intelligence solution

Scenario Need

A Digital Intelligence Solution

Quick Delivery of the Product

Product life-cycle to be minimized

Scope Involved

UI design and development

Technology recommendation

Architecture, design and

implementation

Social Media integration & automated

authentication

Automated data collection

Deployment architecture and

deployment

Cloud deployment and support

Lifecycle Agile

US | UK | BENELUX | ME | IND ©1996-2015 Aspire Systems, Inc.

A Case Scenario – A Social Media Monitoring Solution

Process Involved

Cloud-based Development Ticket-based Code and Release Management

Redhat's Open Shift (PAAS) cloud environment

integrated with local IDE

Features and releases through ticket based code

and release management

Continuous Integration and Continuous Deployment

of builds using Jenkins

Automated Unit test cases to ensure stability of the builds

SONAR to ensure code compliance and minimize errors

Chef integrated with Jenkins to configure all application

updates for production

ServiceNow integrated with Chef to track and optimize

development and deployment automation

On-time release of the product with

quality

Automated quality review tools

Support customer tickets right away

Better progress monitoring on Individual

developers

Customer specific testing made

much easier

Zero downtime with Immutable deployment

Better progress monitoring on individual

developers

Features Benefits

Thank you!