One possible way to depict (slight issue is that it seems to imply that a service is recursively calling itself).
Diffusion of innovations theory by Everett Rogers Crossing the chasm by Geoffrey moore ROI formula includes number of reuses, time to develop, cost of development/failure etc.
Show the site, if time permits
Transcript of "Keynote-Service Orientation – Why is it good for your business"
Service OrientationWhy is it good for your business By Sastry Malladi eBay Inc
Overview Service Orientation Intro Different Service styles Challenges Case Study : eBay Recap 2
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!
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
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
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
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
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 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.
Overview Service Orientation : Benefits Different Service styles Challenges Case Study : eBay Recap 11
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
Overview Service Orientation : Benefits Different Service styles Challenges Case Study : eBay Recap 13
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
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
Overview Service Orientation : Benefits Different Service styles Challenges Case Study : eBay Recap 16
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
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
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
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
Our specific taxonomy Application Layer Business controlled Intermediate/Core d le tr ol Common/Infrastructure conOK 23 23
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. 24
Governance process - SampleDev tools Service Registry and Repository Life cycle stages Publish/discover Proposed Approved Tested Deployed Build toolsDeployment Notify Notify Notify Notify tools Release tools External External External External governance Governance Governance Governance process process process process 25
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 Ref : Wikipedia 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
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. 28
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. 29