architecting for agility

18
Architecting for Agility Subu Goparaju – Vice President SETLabs, Infosys

Upload: guest3bd2a12

Post on 11-May-2015

376 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Architecting For Agility

Architecting for Agility

Subu Goparaju – Vice PresidentSETLabs, Infosys

Page 2: Architecting For Agility

2

The World is Flattening…

Loyalty through good service Loyalty through faster innovation

Spending money on information Making money from information

Dreading the “China Price” Being the “China Price”

Winning in the straightway Winning in the turns

Shift From Shift To

To compete in the flattening world…

Several forces began to level the playing field

Structural shifts in global demographics

Ubiquity of technology

Accountability regulation

Opening of emerging economies

Page 3: Architecting For Agility

3

The Flat World has made it imperative to innovate ‘rapidly’

Customers expect high degree of personalization, choice, and 24/7 service. Most companies are struggling to consistently exceed these

rising expectations and earn customer loyalty.

To earn customers’ loyalty, smart companies will focus on rapid innovation cycles that get their customers involved in co-creation.

Page 4: Architecting For Agility

4

Hence Agility

• Scale

• Ease of Integration (For eg. M&A)

• Ease of Business Process Change (for eg. Compliance)

• New Products Development

• Collaboration

• Flexibility (for eg. On-demand usage)

• Re-distribution of processes in a flat world

• An Engineering Model that helps build Agile Systems– Automation; Collaboration; Services integration

Page 5: Architecting For Agility

5

Agility - Guiding Principles

• Ease of business process change and enhancement - possibly by end users

• Ease of applications integration – preferably services assembly

• Efficient Knowledge Management for reuse, de-skilling and faster development

• Use of tools for faster development and maintenance

Page 6: Architecting For Agility

6

Agile IT: Essential for Faster Innovation

Research projects employ a variety of technologies to realize this vision

Source: Infosys Research

AGILEIT

• Pervasive InfrastructureServices characterized by mobility, wireless connectivity, context awareness, implicit inputs, smart spaces, and natural interfaces for human-device interaction.

• Dynamic processesFlexibility in analysis and re-design of business processes

• Malleable Architecture Building interoperability in a changing technology and business landscape

• Personalized Information ManagementProviding unified corporate wide information personalized to individual stakeholders

• Transformational IT ManagementCost-effective adaptability to change focused on ecosystem value maximization

Page 7: Architecting For Agility

7

Some enabling technologies that realize Agile IT

Dynamic Processes

Malleable Architecture

Personalized Information

Pervasive Infrastructure

Transformational IT Management

Technology

Platforms

BusinessProcess Management

Web Services

SOA

Enterprise Content Management

Mobile Computing

Outsourcing Linux

Intelligent Systems

Software Architecture

Business Intelligence

Convergent Technologies

IT Strategy J2EE

Enterprise Collaboration

Open Source Data warehousing Sensor Networks IT Management .Net

Knowledge Engineering/Ontology

Grid Computing Knowledge Management

RFID Solution Methodologies

RTOS, Embedded Systems

High availability systems

Multi-processor architectures

Security, Infrastructure

Peer to Peer Networks

Regulatory compliance

Maintenance COE

Legacy Systems Low cost Devices

IT organization Research

Software Engineering

( Engineering Methodologies, Performance Engineering , QoS, Platform Engineering )

Page 8: Architecting For Agility

8

Key enabling technologies for Agility and Faster Innovation

• A “business process centric service oriented” architecture– Business Process Management– SOA– Grid Computing (enabling utility computing and virtualization)

• Enabling a proactive “sense and respond” capability– Wireless Technologies– Information Management

• Over an “automated”, “collaborative”– Software Engineering paradigm

Page 9: Architecting For Agility

9

Leveraging BPM for Agility

• Agile Processes: Ability to change processes ‘faster’, with reduced dependence on ‘skill’, with minimal disruption to existing operations and systems

– Collaborative Modeling environments (involving both Business & IT) – Simulation capabilities to envisage benefits from new processes

• BPMS execution engines capable of changing processes in near real-time fashion

• Increased control for business over process change

• Process Visibility: Visibility into Process Execution / Adherence; Visibility into Process Performance / Metrics

– Eg, BAM systems

• Delivering agility leveraging the SOA paradigm: Reuse of the existing IT application infrastructure through services

• Enabling an agile IT organization:– Faster response by IT to need for process changes on IT systems– Reduced overheads for making process changes on IT

Page 10: Architecting For Agility

10

Solutions and Challenges in BPM

Current Solutions

• Research and development of process

orchestration or execution server

which can execute BPML/BPEL based

processes

• Research and development of

business modeling languages and

tools

• Developing methods and techniques

for Business process query languages

& process level transaction support

• Bringing Software agents techniques

and technology into BPM infrastructure

• BPM for Solution Blueprint

Taking BPM Forward- Challenges

• Changing Process mindset

• Challenge in enforcing standardization

and consistency

•business modeling languages and

tools

•methodology

• Alignment with existing Architecture

•Proper BPM/SOA roadmap

• Integration with existing applications

• Scalability and Performance

challenges

Page 11: Architecting For Agility

11

How SOA can bring agility

• Basic loose coupling in SOA allows for faster response to change• Independence of service interface from implementation enables

dynamic change of service providers while keeping consuming applications intact (smart sourcing)

• SOA in conjunction with BPM enables flexible business processes• Architecture in SOA enables extensibility for future needs – e.g. –

new partner, new channel , new product, new customer• SOA principles allow virtualization and standardization and hence

cost savings• Legacy systems reuse and revitalization via services brings agility

and cost savings

Page 12: Architecting For Agility

12

Solutions and Challenges in SOA

Current Solutions

• Service Lifecycle Management

methodologies and tools

• Research and development of Service

description (semantics)

• SOA at data tier via shared data

services platform

• Non-functional requirements adoption

in Services

• Service Orchestration in BPM

• Web 2.0 for rich service ecosystems

Taking SOA forward - challenges

• Going from SOA to SOSE – service

oriented software engineering

• Performance Constraints in SOA

•Optimization via XML compression

•Leveraging concurrency

• Identification of services from

processes

• Rich Service Contract defn.-Semantic

SOA

• SOA Governance – organizational,

design time and run time dimensions

• Web 2.0 based web Re-engineering

from a service consumer perspective

Page 13: Architecting For Agility

13

Grid for Infrastructure Agility

• The infrastructure needs to be agile, virtualized, should have capacity-on-demand.

• The infrastructure should allow proper utilization balancing, policy-based management, scalability, availability and redundancy.

• The ownership model of infrastructure should change into a pay-per-usage basis with proper metering and chargeback.

• Grid computing and virtualization allows the twin benefits of scalability and flexibility and promises the vision of Next Generation Data Center (NGDC) 2005 2012

Source: SETLabs Research

Page 14: Architecting For Agility

14

Solution Approach and challenges

Challenges

• How do we create an effective data replication strategy for large-scale distributed data management problem using P2P and Grid?

• How do we achieve application / process migration across virtual machine environments (say, between Xen hypervisor and full-system virtualization platform like VMWare)?

• How do we transform a legacy monolithic code into optimized message passing (MP) or distributed shared memory (DSM) code for Grid?

• How do we build an effective dynamic database query partitioning and scheduling framework to do Adaptive Query Processing (AQP) over Grid nodes?

Virtualization Solution

• Container Service - Provides Grid execution container for better isolation and resource guarantees to meet SLA

• Virtual Machine Manager - Provides Generic Virtualization Management tool to aid in virtual infrastructure management.

• Distributed Resource Manager - Provide standard and policy based management of virtual infrastructure for Next Generation Data Center

• Workflow Manager - Provide business process workflow management over Grid Infrastructure

Page 15: Architecting For Agility

15

Distributed Software Development and Maintenance

Location A

Location B

Location C

Location D

– How can the engineering productivity be improved- accuracy, faster turn around time?– How can the collaboration among people, computing resources can be made structured,

precise and effective?– How can the development/maintenance be made assembly line and less dependent on

human expert?– How can one ensure various quality traits like performance, security, modularity..?– How can one improve application re-engineering – program comprehension,

modularization, service-orientation..?

Distributed locations• Delivering projects

with less cost

Shortage of talent• Delivering projects

with less staff• Delivering with

limited expertise

Productivity increase• Delivering by

spending less effort

Successive team handovers

• Retaining knowledge across team transitions

Page 16: Architecting For Agility

16

Software Engineering Solutions

Automation; Collaboration; Services oriented engineering

• Model Driven Design– Use of higher order languages - Architecture Modeling– Model Driven Testing

• Software Quality Assurance– Capacity Analysis and Performance Assessment– Application Security

• Large System Development, Comprehension, Modernization– Metric driven approach to measure the work-product quality– Fast Comprehension

• Collaboration Platform for community based requirement analysis• Virtualization

– Environments, test-beds that can be accessed uniformly everywhere and enable location-independence of many activities

Page 17: Architecting For Agility

17

Software Engineering Challenges

• Quality Attribute Driven Software Development

– How can the metrics detect the root cause for a problem in software?

– How can the metrics prescribe a solution for a problem? – How can the software quality metric be integrated with the delivery

process?• Code Comprehension

– How can a maintainer understand a large code base with little documentation, and without availability of the original authors

– How does a maintainer know whether a modification in the code is not deteriorating the code

• Collaboration during Development and Maintenance

Page 18: Architecting For Agility

18

Thank You