30
Service Orientation Why is it good for your business By Sastry Malladi eBay Inc

Keynote-Service Orientation – Why is it good for your business

  • Upload
    wso2

  • View
    978

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Keynote-Service Orientation – Why is it good for your business

Service OrientationWhy is it good for your business

By

Sastry MalladieBay Inc

Page 2: Keynote-Service Orientation – Why is it good for your business

2

Overview

Service Orientation Intro

Different Service styles

Challenges

Case Study : eBay

Recap

Page 3: Keynote-Service Orientation – Why is it good for your business

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!

Page 4: Keynote-Service Orientation – Why is it good for your business

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.

Page 5: Keynote-Service Orientation – Why is it good for your business

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)

Page 6: Keynote-Service Orientation – Why is it good for your business

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

Page 7: Keynote-Service Orientation – Why is it good for your business

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

Page 8: Keynote-Service Orientation – Why is it good for your business

8

Enabling possibilities

TODAYTOMMOROW

FUTURE

Page 9: Keynote-Service Orientation – Why is it good for your business

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

Page 10: Keynote-Service Orientation – Why is it good for your business

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.

Page 11: Keynote-Service Orientation – Why is it good for your business

11

Overview

Service Orientation : Benefits

Different Service styles

Challenges

Case Study : eBay

Recap

Page 12: Keynote-Service Orientation – Why is it good for your business

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

Page 13: Keynote-Service Orientation – Why is it good for your business

13

Overview

Service Orientation : Benefits

Different Service styles

Challenges

Case Study : eBay

Recap

Page 14: Keynote-Service Orientation – Why is it good for your business

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

Page 15: Keynote-Service Orientation – Why is it good for your business

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

Page 16: Keynote-Service Orientation – Why is it good for your business

16

Overview

Service Orientation : Benefits

Different Service styles

Challenges

Case Study : eBay

Recap

Page 17: Keynote-Service Orientation – Why is it good for your business

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

Page 18: Keynote-Service Orientation – Why is it good for your business

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

Page 19: Keynote-Service Orientation – Why is it good for your business

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.

Page 20: Keynote-Service Orientation – Why is it good for your business

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

Page 21: Keynote-Service Orientation – Why is it good for your business

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

Page 22: Keynote-Service Orientation – Why is it good for your business

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

Page 23: Keynote-Service Orientation – Why is it good for your business

23

Our specific taxonomy

Common/Infrastructure

Application Layer

Intermediate/Core

Business

contro

lled

OK

23

controlled

Page 24: Keynote-Service Orientation – Why is it good for your business

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.

Page 25: Keynote-Service Orientation – Why is it good for your business

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

Page 26: Keynote-Service Orientation – Why is it good for your business

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

Page 27: Keynote-Service Orientation – Why is it good for your business

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

Page 28: Keynote-Service Orientation – Why is it good for your business

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.

Page 29: Keynote-Service Orientation – Why is it good for your business

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.

Page 30: Keynote-Service Orientation – Why is it good for your business

Q & A