2. 2
Frank Munz
• Founded munz & more in 2007
• 17 years Oracle Middleware,
Cloud, and Distributed Computing
• Consulting and
High-End Training
• Wrote two Oracle WLS and
one Cloud book
4. Microservices
Developing a single application as
• a suite of small services
• each running in its own process / owns it‘s data
• communicating with lightweight mechanisms
(Definition: M. Fowler / J. Lewis)
https://martinfowler.com/articles/microservices.html
5. Frank Munz / OTN Latam 2016 #5
Service owns its data
Less enterprise, more application centric
Continuous Unlocking
17. What the Experts say (A. Cockroft)
munz & more #17
https://read.acloud.guru/evolution-of-business-logic-from-monoliths-through-microservices-to-functions-ff464b95a44d
Recommended read:
18. Successful Microservices!
• Uber, Netflix etc.
• Fully automated CI / CD
• Automated testing
• Sometimes polyglot
• Top notch devops teams
• Large scale, single purpose apps
• Extensive monitoring
munz & more #18
25. Java CS
• Multi-module deployment is not a microservice
architecture.
• WebLogic Partitions:
– share same JVM…
– Dependancy on admin server
• Standalone Multi-server topologies could serve
as microservices runtime
– Full Java EE -> heavy infrastructure / footprint
– Licensing
munz & more #25
WLS
a.war b.war
a.war
WLS
P1 P2
a.war
WLS WLS
b.wara.war
Multi module deployment
WebLogic Partitions
Multi-server topology
Not really a microservices runtime
34. Swarm vs. Kubernetes
Swarm …
• Wasn’t impressive when released,
but this has changed
• Is easier to understand
and to operate
• Covers a lot of what K8s does
• Only secure mode
– automatic TLS certs
• Is built-in and tightly linked to Docker API
munz & more #34
Docker Swarm & K8s: flexible microservices RT, but bring operational complexity
37. OCCS
• OCCS = Oracle’s container cloud service
• Abstracts away complexity of Kubernetes or Docker
Swarm
– Neither based on Swarm nor Kubernetes
• Uses service concept like in Swarm
• Integrates with Docker Hub, Wercker, Developer CS
• Allows deployment of stacks
• PaaS: Very easy to use (e.g. docker run …)
munz & more #37
Docker based microservices runtime. Easier to operate than Swarm or Kubernetes.
39. Edit Code / Upload
munz & more #39
event: event passed to
function
context: runtime context
callback: optional return
(or null)
40. Definition: Function as a Service
• Auto scaling
• True pay per use
• Stateless
• Event based
munz & more #40
Definition
• Choose memory
-> compute power
• Using container tech
Characteristics
41. FaaS vs. K8s Microservices
FaaS fulfills M. Fowler’s microservices definition
munz & more #41
AWS Lambda compared to Docker with Kubernetes
✅
Benefits of FaaS
- serverless
- zero config auto scaling
- true pay per use
-> higher abstraction
Limits of FaaS
- language/framework choice
- resource limits
- execution time / size
- vendor lock-in
-> reduced flexibility
42. munz & more #42
Is 𝛌 the new μ ?
FaaS: Fullfill microservices criteria. Low price, automatic scaling. Vendor lock-in?
43. There is more needed
to succed with
microservices ...
45. 2.) Automation and Monitoring
• Developer Cloud Service
– Builds and runs deployments for ACCS, JCS
• Wercker (free!)
– Provisions software in Docker Containers
munz & more #45
46. Wercker
• Recently acquired by Oracle
• Pipelines execute steps on code
– Pipelines == series of steps
– Execute inside Docker container
• Workflows
– chained and branched pipelines
– Represented as wercker.yaml in github
• Quickly provision ready to run container infrastructure
– Connects to github for source
– Push images to Docker hub (or any registry)
– Restart OCCS via webhooks
munz & more #46
48. Microservices Runtimes
Oracle
JCS
Oracle
ACCS
Swarm Kubernetes Oracle
OCCS
FaaS
Docker
Polyglot No Yes Yes Yes Yes Yes
Size
infrastructure
L/XL S S S S XS
Complexity L S M XL S XS
Elasticity auto
(complex)
easy scale scale scale easy scale auto
Stateless No
(SLSB)
(Yes) Yes Yes Yes Yes
Event based No
(JMS)
No No No No Yes
49. TL;DR #microservices #runtimes
Tradeoff: flexibility vs
simplicity / ACCS is easy,
lightweight & polyglot /
Docker: Swarm vs Kubernetes vs
OCCS / FaaS: true pay per use
& automatic scale & stateless
/ 𝛌 could be the new µ!
@frankmunz