Upload
guest3bd2a12
View
376
Download
1
Tags:
Embed Size (px)
Citation preview
Architecting for Agility
Subu Goparaju – Vice PresidentSETLabs, Infosys
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
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.
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
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
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
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 )
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
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
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
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
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
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
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
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
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
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
18
Thank You