1. Service OrientationWhy is it good for your business By Sastry Malladi eBay Inc
2. Overview Service Orientation Intro Different Service styles Challenges Case Study : eBay Recap 2
3. 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 silos that inhibit change to shared, reusable, business and infrastructure components which eliminates application redundancy and complexity, and enable Business Agility, Innovation and Operational Excellence. 4
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) 5
6. Services - Not just technologyTechnolo Services Process gyRun-time stackIntegrated tooling Domain modeling Life-cycle mgmtInfrastructure services GovernanceRegistry/Repository PDLC changesRouting People Think interfaces Promote Reuse Biz and IT alignment 6 Training & Docs
7. Some common Misconceptions dispelled SOA is a new technology Its 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 TOMMOROWTODAY FUTURE 8
9. 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
10. Typical steps for Service orientingyour 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 11
12. Different Service Styles SOA Formal Contract, interface (WSDL or other) Transport / Protocol agnostic (bindings) Arbitrary set of operations REST Based on Roy Fieldings 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 13
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 14
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 15
16. Overview Service Orientation : Benefits Different Service styles Challenges Case Study : eBay Recap 16
17. Services @eBay Its 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
18. 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. 19
21. 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 22
23. Our specific taxonomy Application Layer Business controlled Intermediate/Core d le tr ol Common/Infrastructure conOK 23 23
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 dont break. 24
25. Governance process - SampleDev tools Service Registry and Repository Life cycle stages...