Upload
wso2
View
978
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Service OrientationWhy is it good for your business
By
Sastry MalladieBay Inc
2
Overview
Service Orientation Intro
Different Service styles
Challenges
Case Study : eBay
Recap
Fun facts about eBay
eBay manages … Over 97 million active users
Over 2 Billion photos
eBay users worldwide trade on average $2000 in goods every second ($ 62 B in 2010)
eBay averages 4 billion page views per day eBay has over 250 million items for sale in over
50,000 categories eBay site stores over 5 Petabytes of data eBay Analytics Infrastructure processes 80+ PB of
data per day eBay handles 40 billion API calls per month
In 40+ countries, in 20+ languages, 24x7x365
>100 Billion SQL executions/day!
4
Service Orientation
An architecture style to move from brittle, hardwired, application silosthat inhibit change…
… to shared, reusable, business and infrastructure components…
… which eliminates application redundancy and complexity, and enable Business Agility, Innovation and Operational Excellence.
5
Terminology
Service Well defined piece of functionality, with a defined interface, with fully
encapsulated business logic and data, that is managed and exposed consistently, and which is independent of any data formats and message protocols
Data Binding/Format The format in which the data is represented on the wire (e.g XML, NV,
JSON, BinaryXML, ..) –a.k.a Wire Format
Message Protocol The protocol followed by the client and service when exchanging
messages (e.g, SOAP).
Transport protocol Protocol used at the transport level (e.g HTTP, SMTP)
6
Services - Not just technology
PeoplePeopleThink interfacesThink interfacesPromote ReusePromote ReuseBiz and IT alignmentBiz and IT alignmentTraining & DocsTraining & Docs
ProcessProcessDomain modelingDomain modeling
Life-cycle mgmt Life-cycle mgmt
GovernanceGovernance
PDLC changesPDLC changes
TechnoloTechnologygyRun-time stackRun-time stack
Integrated tooling Integrated tooling Infrastructure servicesInfrastructure servicesRegistry/RepositoryRegistry/RepositoryRoutingRouting
ServicesServices
Some common Misconceptions dispelled
SOA is a new technology
It’s an architecture paradigm applied to existing or new technologies
SOA implies Web Services and SOAP
WS/SOAP is not an exclusive protocol. REST style with JSON, NV is more popular in the current days
SOA/Services is an end in itself
SOA is a means to enable business agility
Services are always developed from ground up
Business always leverage existing functionality, but morph them into services and develop some new services on the way
At service development time, its consumers are known
Service development may start with some use cases in mind, but they will evolve over a period of time
8
Enabling possibilities
TODAYTOMMOROW
FUTURE
Services benefits
Business Agility
Faster time to market for new business offerings
Quicker response to business change
Easier integration with partners and third parties and adjacencies
Innovation
Enable internal and external Innovation
Operational excellence
Reduced cost for any new feature development
Better developer productivity
Reduced cost of failure
Typical steps for Service orienting your business Do the domain modeling for your enterprise
Decompose domains into components
Intersection between domains should be zero
Assign owners and architects to domains
Choose on Central Vs decentralized governance
Get Business and Technology alignment
Pick a technology stack, including tools for Dev, QE and Ops
Train the developers
Execute, track progress and course correct.
11
Overview
Service Orientation : Benefits
Different Service styles
Challenges
Case Study : eBay
Recap
Different Service Styles
• SOA
• Formal Contract, interface (WSDL or other)
• Transport / Protocol agnostic (bindings)
• Arbitrary set of operations
• REST
• Based on Roy Fielding’s dissertation
• Web/Resource oriented
• Suits well for web based interactions
• Piggy backs on HTTP verbs : GET, POST, PUT, DELETE
• No formal contract
13
Overview
Service Orientation : Benefits
Different Service styles
Challenges
Case Study : eBay
Recap
14
General Challenges
Technical
Additional latencies due to multi-hop communications
Debugging/Tracing is harder
Need for efficient Request/Session level caching
Increased Security and monitoring challenges
Multiple, often competing standards
Operational
Developer adoption and learning curve
Governance processes
Migration of existing Apps
Updates to existing tools and processes.
Deployment and rollout
Measurement of progress and ROI
15
Further challenges in large scale deployments
Technical Co-existence of old and new technologies during transition phase
Supporting internal and external clients that have different protocols/data binding needs, for the same service deployment
Integration testing
High availability and Scalability – high volume and low latency
Decomposition of existing apps and migration of legacy services
Operational Version and dependency management
Time to Market pressures
Need for a strong yet simple governance process
QoS and SLA management
16
Overview
Service Orientation : Benefits
Different Service styles
Challenges
Case Study : eBay
Recap
Services @eBay
It’s a journey !
History
One of the first to expose APIs /Services
In early 2007, embarked on service orienting our entire ecommerce platform, whether the functionality is internal or external
Support REST style as well as SOA style
Have close to 300 services now and more on the way
Learned a lot from feedback from our customers and operational issues and evolved our technology and strategy over time
Early adopters of SOA governance automation
17
Services @eBay – Contd.
Technology stack
Mix of highly optimized home grown framework components as well as best of breed commercial and open source components , integrated together – All standards based (WSDL, Http, JAX-WS, JAX-RS ..)
Goals
Organize the enterprise as a set of reusable business functions
Reduce the cost of new features and applications
Encourage and enable new business opportunities
19
Addressing the challenges
Technical
Policy driven Light weight and high performant Services platform
Model-driven Service decomposition
Support for REST and SOAP style from the get go
Unified Testing framework and service virtualization
Constantly evaluate and iterate over technology..
Operational
Simple and flexible governance processes and life cycle management, iterated over time
Strong operational management and monitoring tools
Developer training and incentives for being a good citizen
Formal process and tools to measure adoption and progress.
20
SOA/REST ServerFramework
servicesSOA/REST clientFramework
clients
Authentication Authorization RL Monitoring Logging
Policy serviceAdmin consoleMonitoring console
Design/Dev
Runtime
Registry/Repository
Life cycle/dependency mgmt
Registry
External routing
(ESB)
EclipseDev tools
Dev/Arch
Test tools
Services platform overview
DevelopServices, consumers,
Assertionssvc
Res
t M
appi
ngT
ier
A word on ESB • Decouple of service consumers from service
producers:
• Routing and transformation
• Support QoS
• Minimal latency overhead and high scalabilty
• Evaluated various products and selected WSO2 ESB
• It rocks !
• It processes more than 1B messages per day !
21
22
Service Layers and Taxonomy
Defining a finite set of service layers and their relationships
Goals Provide a mechanism to build and layer services that have different
characteristics
Enable service lifecycle management for services with different scopes of impact
Clearly establish guidelines on what functionality can be implemented in which layers
Define allowed access patterns between layers
Enable better dependency and rollout management
23
Our specific taxonomy
Common/Infrastructure
Application Layer
Intermediate/Core
Business
contro
lled
OK
23
controlled
24
What is Service governance A set of activities related to exercising control over design, development
and life-cycle of Service providers and Service consumers, for consistency manageability and for promoting re-use
Design time Interface and types design review and approval
Enforcement of consistency guidelines for contract (interface, policies and behavior)
Enforcement of dependency and layering guidelines
Runtime Deployment policies
Security/caching/monitoring/availability policies
Reconciliation between what it is (runtime) and what it should be (design)
Change management Dependency and impact analysis
Versioning (both major and minor) of existing services
Making sure existing subscribed clients don’t break.
25
Governance process - Sample
Build tools
Dev tools
Publish/discover
Deployment tools
Release tools
Service Registry and Repository
Life cycle stages
Proposed Approved Tested Deployed
Notify Notify Notify Notify
External governance process
ExternalGovernanceprocess
ExternalGovernanceprocess
External Governanceprocess
Governance – Our journey
We initially had an elaborate governance process
After feedback from developers, we iterated and eliminated this and made it a self service process
Validation and Reporting
Data from this repository is exported to runtime ESB registry and SIF.
26
Tracking Adoption
After domain decomposition into services, need to set goals and closely track Adoption – at least until you cross the “chasm”
Formulas for tracking adoption index and ROI One yardstick – 3 uses of a service is break even, anything more is bonus
Ref : Wikipedia
28
eBay has been a strong supporter of Open Source model and community
Recently created http://eBayOpenSource.org Mission is to open source some of the best of breed technologies
that were developed originally within eBay Inc. For the benefit of the community Under a liberal open source license. These projects are generic technology projects and several years
of development effort has gone into them to mature them. Most parts of our services platform, code named Turmeric, is
open sourced on this site.
29
Recap
Moving to Services model certainly has its benefits, but brings along bigger challenges
Solving the technology part is relatively easy. Operational aspects are more challenging and need to address them from the beginning
Restful Services is where the industry is headed.
Up front design and modeling of your contract/interface, including granularity is very important
Service layering, dependency and version management must be well thought through
Invest upfront on developer training, Testing tools, and some form of governance
eBay has been successfully able to apply this strategy and make progress in our service orientation journey.
Q & A