Upload
philipp-leitner
View
326
Download
0
Embed Size (px)
Citation preview
software evolution & architecture lab
Gerald Schermann, Jürgen Cito, Philipp Leitner
University of Zurich, Switzerland
All the Services Large and MicroRevisiting Industrial Practices in Services Computing
@xLeitix
Service Computing
• “Services” have been around for a while now
• 13th ICSOC
• 11th WESOA
Impact of 13+ Years of Research
Academia
Practice
What Exactly is a “Service” anyways?
“SOA Triangle” ?
Michael N. Huhns and Munindar P. Singh. 2005. Service-Oriented Computing: Key Concepts and Principles. IEEE Internet Computing 9, 1 (January 2005), 75-81. DOI=http://dx.doi.org/10.1109/MIC.2005.21
What Exactly is a “Service” anyways?
Service Bus?
P. Leitner, S. Schulte, S. Dustdar, I. Pill, M. Schulz, and F. Wotawa, “The Dark Side of SOA Testing: Towards Testing Contemporary SOAs Based on Criticality Metrics,” in Proceedings of the 5th International Workshop on Principles of Engineering Service-Oriented Systems (PESOS 2013), co-located with ICSE 2013, 2013.
What Exactly is a “Service” anyways?
Microservices?Shop
Frontend Service
User Auth Service
Product Service
Product Rec.
Service
Shopping Basket Service
[External]Credit Card
Service
Currency Conversion
Service
Web Browser - X
Product Service
m3.large
Foundations of Elastic SystemsGood moment to look at
what services look like in practice
Method: Survey Study
Developer
Did Not Say
Team Lead
DevOps Eng.
Product Owner
Researcher
0% 10% 20% 30% 40% 50%Job Roles
>10 years
7−10 years
4−6 years
1−3 years
Did Not Say
0% 10% 20% 30% 40%Development Experience
>1000 empl.
101−1000 empl.
21−100 empl.
1−20 empl.
Did Not Say
0% 10% 20% 30%Company Size
Web-based survey:
• 42 participants from 42 companies
• 25 questions
Some Fundamentals
Fundamental observations:• Services vary in size, but we found few that actually deploy micro
services
• Most services are internal (not “Web” services)
• SOAs are usually not all that large (median 30 services, but high variance)
• Implementation language:
67 %
26 %
38 %
45 %
31 %
12 %
29 %
14 %
14 %
43 %Other
Java
JavaScript
C#
Python
Ruby
C++
Scala
Go
VisualBasic
0 20 40 60Service Implementation Languages Used [%]
Service Communication
Service communication:• 95% of participants were using REST
• 40% of participants were using SOAP
90 %
57 %
17 %
40 %
5 %
17 %
7 %Other
JSON
XML
SOAP
Custom Binary
Protobuf
BSON
0 25 50 75 100Data Exchange Formats Used [%]
Monitoring
Service monitoring and QoS is a big deal …
76 %
33 %
64 %
48 %
67 %
31 %
45 %
5 %
43 %
64 %62 %
43 %
60 %
36 %
31 %
2 %
CPU Utilization
Network Traffic
Memory Consumption
Resp. Times on Public API Methods
Number of Calls
Failure Rate
IOPS, I/O Latency and I/O Usage
Network Connectivity
Method Level Response Times
Throughput
Exec. Times of DB Statements
Virtualization Metrics
Custom / Business Metrics
Network Quality
Other Infrastructure
Other App. Metrics
0 20 40 60 80Metrics Monitored [%]
Discovery
… but not for service discovery / dynamic binding:• Services are typically not available in multiple functionally-equivalent
versions or implementations
• (low need to “select” services)
• Many participants don’t actually use a registry:
• 25% “just know” which services there are
• 28% maintain a list (e.g., WIKI) of services
• 18% have a contact person to ask
Some Do’s and Don’ts for us Researchers (1)
(aka my wishlist for ICSOC’16 reviewing)
Some Do’s and Don’ts for us Researchers (1)
• Do not assume that service ecosystems are generally huge—> only an issue for selected entities
• Do not assume that practitioners need to select from a large number of alternatives —> often 1, max. 2, versions of a service, even in large entities
• Do not assume that ‘service == SOAP/WSDL’—> if you need to assume something, assume REST
Some Do’s and Don’ts for us Researchers (2)
• Do research on choreography (rather than orchestration)
• Do not imply that ‘composition == WS-BPEL’
• Do research on QoS
• (for health monitoring and governance)
Some Do’s and Don’ts for us Researchers (3)
And most importantly:
• Do not assume that any statement about the popularity or prevalence of a technology / approach / standard from a ~2005 paper is still true!