• No results found

ebay : How is it a hit

N/A
N/A
Protected

Academic year: 2021

Share "ebay : How is it a hit"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

SOA @ eBay : How is it a hit

Sastry Malladi

Distinguished Architect.

Distinguished Architect.

eBay, Inc.

(2)

Agenda

• The context : SOA @eBay

• Brief recap of SOA concepts and benefits

• Challenges encountered in large scale SOA deployments

• How is eBay addressing these challenges

• The role of SOA governance

• The role of SOA governance

• Summary

(3)

The Context : SOA @eBay

• It’s a journey !

• History

– One of the first to expose APIs /Services – Support REST style as well as SOAP style

– Learned a lot from feedback from our customers and operational issues and evolved our technology over time

– Early adopters of SOA governance automation

– Continuously improving the architecture with the 3 goals in mind : Business

eBay Inc. confidential

– Continuously improving the architecture with the 3 goals in mind : Business Agility, Innovation and Operational Excellence

• Technology stack

– Mix of highly optimized home grown core SOA framework as well as best of breed commercial and open source components , integrated together

• 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

3

(4)

Agenda

• The context : SOA @eBay

Brief recap of SOA concepts and benefits

• Challenges encountered in large scale SOA deployments

• How is eBay addressing these challenges

• SOA governance and its role

• SOA governance and its role

• Summary

(5)

What is SOA?

SOA is an architecture to move from brittle, hardwired,

application silos that inhibit change…

SOA is an Application Architecture evolution, not a Technology revolution

eBay Inc. confidential 5

… to shared, reusable, business and application services…

… which eliminates application redundancy and complexity, and enable Business Agility,

Innovation and Operational

Excellence.

(6)

SOA - Not just technology

Process Process

Life

Life--cycle and cycle and governance

governance

Technology Technology

SOA Run

SOA Run--time stacktime stack

SOA SOA

People People

Think SOA Think SOA

Promote Reuse Promote Reuse

Biz and IT alignment Biz and IT alignment Training & Docs

Training & Docs

governance governance Processes for Processes for

Service Interface Service Interface Approval,

Approval,

Security, change Security, change mgmt, etc.

mgmt, etc.

PDLC changes PDLC changes SOA Run

SOA Run--time stacktime stack Integrated tooling Integrated tooling Infrastructure

Infrastructure services

services

Registry/Repository Registry/Repository Routing

Routing

(7)

Some common Misconceptions dispelled

SOA is a new technology

SOA implies Web Services and SOAP

SOA is an end in itself

It’s a new architecture paradigm

applied to existing or new technologies WS

/

SOAP is not an exclusive protocol.

REST style with JSON, NV is equally popular, if not more.

SOA is a means to enable business agility

eBay Inc. confidential 7

Services are always developed from ground up

At service development time, its consumers/usecases are known

agility

Business always leverage existing functionality, but morph them into services and develop some new services on the way

Service development may start with some usecases in mind, but they will evolve over a period of time

(8)

SOA model from 30,000 feet – You already know !

Service Service Data formats

Decoupled

Security Monitoring

Routing/ESB

provider

WSDL Service consumer

SOA Framework

Service Registry

Data formats Message protocols

G11N Other ..

Business rules

Policy mgr

+ policies

optional

(9)

SOA 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

eBay Inc. confidential

• Operational excellence

– Reduced cost for any new feature development by service re-use – Efficient resource utilization

– Reduced cost of failure

(10)

SOA Benefits – Enabling possibilities

TODAY

TOMMOROW

FUTURE

(11)

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

– Also referred to as Wire format

eBay Inc. confidential 11

– Also referred to as Wire format

– The format in which the data is represented on the wire (e.g XML, NV, JSON, BinaryXML, ..)

• Message Protocol

– The protocol followed by the client and service when exchanging messages (e.g, SOAP). There need not be any message protocol present (especially when communicating with internal services)

• Transport protocol

– Protocol used at the transport level (e.g HTTP, SMTP)

(12)

Agenda

• The context : SOA @eBay

• Brief recap of SOA concepts and benefits

Challenges encountered in large scale SOA deployments

• How is eBay addressing these challenges

• SOA governance and its role

• SOA governance and its role

• Summary

(13)

General SOA 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

eBay Inc. confidential 13

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

(14)

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 – QoS and SLA management

– Integration testing – 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

– Impact to existing operational tools/environment – Time to Market pressures

– Need for a strong yet simple governance process, especially with lots

of services and the higher velocity of changes

(15)

Agenda

• The context : SOA @eBay

• Brief recap of SOA concepts and benefits

• Challenges encountered in large scale SOA deployments

How is eBay addressing these challenges

• SOA governance and its role

eBay Inc. confidential 15

• SOA governance and its role

• Summary

(16)

Addressing the challenges

Technical

– Light weight and high performant SOA platform (mix of home grown and commercial/open source components)

– Unified Testing framework and service virtualization – Model-driven Service decomposition

– Support for REST style as well as SOAP style from the get go (i.e, support – Support for REST style as well as SOAP style from the get go (i.e, support

for flexibility of protocols/data formats)

Operational

– Strong and yet flexible governance processes and life cycle management

• Automated through a service registry/repository

– Incremental service deployment

– Strong operational management tools

– Developer training and incentives for being a good citizen

– Formal process and tools to measure adoption and progress. Haven’t yet

formalized the ROI measurement however.

(17)

eBay SOA Platform Overview

• A comprehensive SOA Infrastructure platform

Framework - Highly performant, extensible and light weight framework (overhead < 5 ms)

Monitoring - A built in monitoring subsystem that is customizableSecurity – XACML/WS-Policy based flexible and extensible

authentication and authorization policies

Rate Limiting - For enforcing capacity, budgeting and traffic controlService Registry and Repository – Governance, life cycle

eBay Inc. confidential 17

Service Registry and Repository – Governance, life cycle management

ESB - For routing, transformations and mediations

Orchestration engine – For orchestrating services and other components

• Tooling

– Developer tools (eclipse plugins) for service/consumer development, types management and error management

– Operational tools (management, monitoring and alerting)

(18)

SOA Framework - Highlights

• A declarative Pipeline based high performance architecture

• Request and Response decoupling

• Protocol and data binding agnostic service

– The same service instance can be invoked using multiple protocols and data formats

– No message normalizations or conversations – No message normalizations or conversations

• Pluggable data formats

– Out of the box support for SOAP, REST, JSON, Binary XML – Streaming and attachment support

– WSDL with SOAP and HTTP bindings

• Pluggable transports, including local binding

• Declarative , deployment time “Local Binding” option

• G11N, Versioning, Error management, QoS etc.

(19)

Model within the App Server

Light weight async

connector

SPF

Services QoS

Logging Rate limiting

Synchronous &

Asynchronous

G11N

eBay Inc. confidential 19

Servlet container

SPF

App level caching Monitoring Synchronous

Security O O O

O O O

(20)

Pipeline architecture – provider framework

Reads

Logging handler

Auth handler

G11N Global &

Service Specific Config files

SPF

Framework servlet

OR

New tomcat connector

Server Message Processor

In Pipeline Reads

Request Disp

ServiceImpl Out pipeline

MCtx Incoming

request

Resp disp Outgoing

response

1 2

3

4 5

6 7 8

9

Protocol specific (e.g SOAP) processors

Transport

(de)serialization happens here if not already done

(21)

Pluggable data formats using JAXB

(Request/Response) Message Cache (de)serialized

objects

Calls from handlers (pipeline) Or from Req/Resp dispatchers

(de)serialize

(incoming)outgoing message

1

5

eBay Inc. confidential 21

(de)serializer factory

objects

XML NV JSON Binary XML

Stax parsers

for each data format Others

getSerializer/

getDeserializer (based on the type)

XML NV JSON Binary XML

Others

Pluggable (via config) Uniform JAXB based (de)serializers

2

3

4

(22)

Native and uniform (de)serialization

XML

JSON

A single Instance of Service Impl

pipeline

XML NV

Directly deserialized into

Ser/Desermodule

Uniform interface

Native serialization

Pluggable formats

Other formats

NV

Java objects

Passed to

pipeline NV

JSON

into

SOA framework others

Ser/Desermodule

No intermediate format Avoids extra conversion

(23)

Pipeline Architecture – Consumer Framework

Reads

Logging

Auth

G11N 6 Client

Specific

Config file Transport

factory

eBay Inc. confidential 23

Client Message Processor

Out Pipeline Reads

Request Disp

In pipeline

Resp disp 9

3

4 5

7 8

Local transport

HTTP sync and async

SMTP or others Client App

SIF API 2

1 10

Protocol specific processors (e.g SOAP)

Pluggable transports

JAX-WS compliant

(24)

Local Binding

Reads

Logging

Auth

G11 Client

Specific Config file

Transport factory

Client Message Processor

Out Pipeline Reads

Request Disp

In pipeline

Resp disp 9

3

4 5

7 8

factory 6

Local transport 2

Server Message Processor( in SPF) With Config optimizations 10

Processing is same from here after, as if its processed remotely. Client App

SIF API

11 1

Protocol specific processors (e.g SOAP) JAX-WS

Compliant

(25)

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 rules on what functionality can be implemented in which

eBay Inc. confidential 25

– Clearly establish rules on what functionality can be implemented in which layers

– Define allowed access patterns between layers

– Enable better dependency and rollout management

(26)

Our specific taxonomy (for example sake only)

Application Layer

Business

Common/Infrastructure

Intermediate/Core Business

Governance

(27)

Integrated Tooling

• Developer tooling well integrated with Eclipse IDE

– Integration with the Service registry and governance processes.

• Dependencies are checked at design/development time itself

• Versioning and backward compatibilities are enforced

– Testing : Generation of tests and a mechanism to enforce successful running of the same

• Deployment tools

eBay Inc. confidential 27

• Deployment tools

– Dependency checking and rollout in that order – Rollback support

– Local Vs Remote binding

– Life-cycle management and change notifications

• Operational tooling

– Management and monitoring dashboard – Alerting and SLA management

Note : Some this is still work in progress

(28)

Agenda

• The context : SOA @eBay

• Brief recap of SOA concepts and benefits

• Challenges encountered in large scale SOA deployments

• How is eBay addressing these challenges

SOA governance and its role

SOA governance and its role

• Summary

(29)

What is SOA 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 (subset of IT governance)

• 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

eBay Inc. confidential 29

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.

• Many industry vendors provide this product

Not a very mature space however

(30)

SOA governance at eBay

• Service Repository

– Metadata management and life cycle management of services, data types and Consumers

– Automated Governance processes – Dependency and Impact analysis – Closed loop governance

• Service Registry

– A subset of the repository (without the governance process), light weight access, supports UDDI access

– Used for routing purposes

• Implementing SOA governance is crucial for success of our large scale deployments

Note : Some of this is still work in progress.

(31)

Design time governance

• Defined a light weight, yet flexible process

– Both services and data types are managed and life cycled

– An automated workflow logic that that transitions the services through its life cycle states

– Formal interface (WSDL) and policy (Security, Rate Limiting, Availability)

eBay Inc. confidential 31

– Formal interface (WSDL) and policy (Security, Rate Limiting, Availability) reviews and approvals

– Automated XQuery based assertions to validate WSDL guidelines

– Integrated with our SOA eclipse plugins for seamless developer experience

– Consumer governance to track and manage service consumers

(32)

Governance process - Sample

Dev tools

Publish/discover

Service Registry and Repository

Life cycle stages

Proposed Approved Tested Deployed

Build tools

Publish/discover

Deployment tools

Release tools

Notify Notify Notify Notify

External governance process

External Governance process

External Governance process

External Governance process

(33)

Runtime governance

• Monitor dependencies and policies at runtime

• Feed the runtime data into a reconciliation process that compares what it is Vs what it should be

eBay Inc. confidential 33

• Address any discrepancies (closed loop governance)

(34)

Agenda

• The context : SOA @eBay

• Brief recap of SOA concepts and benefits

• Challenges encountered in large scale SOA deployments

• How is eBay addressing these challenges

• SOA governance and its role

• SOA governance and its role

Summary

(35)

Summary

• Moving to SOA 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

• Up front design and modeling of your contract/interface, including granularity is very important

eBay Inc. confidential 35

granularity is very important

• Service layering, dependency and version management must be well thought through

• Invest upfront on governance, Testing tools, and developer training

• eBay has been successfully able to apply this strategy and make

progress in the SOA adoption journey.

References

Related documents

should be the information the user needs. Therefore, personalizing information format and presentation is necessary for each user; using parameters that describe his/her own specific

The media frames used in news coverage, as well as the types of sources used to create these frames, may be able to explain how the Violence Against Women Act of 2013 was

Figure 17A shows the FO wastewater utilization as function of channel height and feed/draw ratio. The lowest utilization achieved was as low as 5.9% with the highest value

12 Celem artykułu jest porównanie metod wprowadzania tekstu przy użyciu klawiatury QWERTY, techniki Swype, pisma odręcznego oraz poleceń głosowych w urządzeniach

Rather than evaluating the specific patient care as presented, we are trying to translate that into subcompetency proficiencies, or descriptors of the physician rather than

In large horsepower (hp) applications (greater than 100 hp), gear systems tend to be designed for greater efficiency because of the costs, heat, and noise problems that result

Firstly, it proposes a service-oriented platform independent architecture and Secondly, it presents a specif- ic deployment of such architecture for data and service integration on

Similarly, inequality solutions are required to determine the monotonicity and concavity of functions by the use of derivative (Sandor 1997).. E-mail address: