Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
munz & more
Microservices
Runtimes
OTN LatAm Tour / August 2017 Dr. Frank Munz
2
Frank Munz
• Founded munz & more in 2007
• 17 years Oracle Middleware,
Cloud, and Distributed Computing
• Consulting and...
Microservices
Microservices
Developing a single application as
• a suite of small services
• each running in its own process / owns it‘s...
Frank Munz / OTN Latam 2016 #5
Service owns its data
Less enterprise, more application centric
Continuous Unlocking
How to Model?
munz & more #6
„… consider
starting
monolithic
first …”
munz & more #7
Sam Newman:
Eric Evans describes
“bounded contexts” in
his DDD book.
munz & more #8
published 2003
How Big is Micro?
4950 Calories
munz & more #9
How Big is Micro?
munz & more #10
Martin Fowler (quotes Amazon):
We understand efficient teams
munz & more #11
Picture this …
String encrypt (String input)
10 Mio USD
3 people
or 30 people?
munz & more #12
Communication
DB1
μ1
DB2
μ2direct call ?
REST?/Kafka
Process
{apiGW}
Communication Overhead
Rough approximation:
network call / local call
munz & more #14
Communication Overhead
Rough approximation:
0,003 s / 10^-9 s
munz & more #15
Communication Overhead
3.000.000 x
munz & more #16
What the Experts say (A. Cockroft)
munz & more #17
https://read.acloud.guru/evolution-of-business-logic-from-monoliths-thr...
Successful Microservices!
• Uber, Netflix etc.
• Fully automated CI / CD
• Automated testing
• Sometimes polyglot
• Top no...
Microservices
Runtimes
Application Container
Cloud Service
ACCS
• Polyglot: Java, node.js, PHP,
Python and Ruby
• Java: Upload compiled zipped Java
classes + JSON file with start co...
Java CS
Create JCS
munz & more #24
Java CS
• Multi-module deployment is not a microservice
architecture.
• WebLogic Partitions:
– share same JVM…
– Dependanc...
WebLogic Microservice Edition?
It should be
• Single instance
• No domain
• No cluster
• Lightweight
Stay tuned …
munz & m...
Docker
based Runtimes
Welcome Mini J
Artesania Raspi cluster runs
• Docker
• Docker Swarm
• Kubernetes
Live hacking session at
Oracle CODE 2017 ...
DIY Raspi Docker Cluster
munz & more #29
Component Price
Raspi 4x	38€
Micro	SD	 4x	11€
Power 28€
Wifi 22€
Case 30€
Wires 1...
Kubernetes
Google Kubernetes
munz & more #31
Docker Swarm
Docker Swarm
munz & more #33
Swarm vs. Kubernetes
Swarm …
• Wasn’t impressive when released,
but this has changed
• Is easier to understand
and to oper...
Oracle Container
Cloud Service
(OCCS)
OCCS
munz & more #36
OCCS
• OCCS = Oracle’s container cloud service
• Abstracts away complexity of Kubernetes or Docker
Swarm
– Neither based o...
Function as
a Service
AWS	Example	used	here.	FaaS was	announced	at	OOW	2016.
Edit Code / Upload
munz & more #39
event: event passed to
function
context: runtime context
callback: optional return
(or ...
Definition: Function as a Service
• Auto scaling
• True pay per use
• Stateless
• Event based
munz & more #40
Definition
•...
FaaS vs. K8s Microservices
FaaS fulfills M. Fowler’s microservices definition
munz & more #41
AWS Lambda compared to Docke...
munz & more #42
Is	𝛌 the	new	μ ?
FaaS:	Fullfill microservices	criteria.	Low	price,	automatic	scaling.	Vendor	lock-in?
There is more needed
to succed with
microservices ...
1.) Your Organization
Conway’s Law
2.) Automation and Monitoring
• Developer Cloud Service
– Builds and runs deployments for ACCS, JCS
• Wercker (free!)
– Pr...
Wercker
• Recently acquired by Oracle
• Pipelines execute steps on code
– Pipelines == series of steps
– Execute inside Do...
https://app.wercker.com
munz & more #47
Microservices Runtimes
Oracle
JCS
Oracle
ACCS
Swarm Kubernetes Oracle
OCCS
FaaS
Docker
Polyglot No Yes Yes Yes Yes Yes
Siz...
TL;DR #microservices #runtimes
Tradeoff: flexibility vs
simplicity / ACCS is easy,
lightweight & polyglot /
Docker: Swarm ...
www.linkedin.com/in/frankmunz/
www.munzandmore.com/blog
facebook.com/cloudcomputingbook
facebook.com/weblogicbook
@frankmu...
• Graphics on title page by M. Fowler
https://martinfowler.com/articles/microservices/images/sketch.png
Microservices Runtimes
Nächste SlideShare
Wird geladen in …5
×

Microservices Runtimes

655 Aufrufe

Veröffentlicht am

Microservices gotchas and various different runtimes explained including JCS, ACCS, Docker Swarm and Kubernetes and FaaS.

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

Microservices Runtimes

  1. 1. munz & more Microservices Runtimes OTN LatAm Tour / August 2017 Dr. Frank Munz
  2. 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
  3. 3. Microservices
  4. 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. 5. Frank Munz / OTN Latam 2016 #5 Service owns its data Less enterprise, more application centric Continuous Unlocking
  6. 6. How to Model? munz & more #6
  7. 7. „… consider starting monolithic first …” munz & more #7 Sam Newman:
  8. 8. Eric Evans describes “bounded contexts” in his DDD book. munz & more #8 published 2003
  9. 9. How Big is Micro? 4950 Calories munz & more #9
  10. 10. How Big is Micro? munz & more #10 Martin Fowler (quotes Amazon):
  11. 11. We understand efficient teams munz & more #11
  12. 12. Picture this … String encrypt (String input) 10 Mio USD 3 people or 30 people? munz & more #12
  13. 13. Communication DB1 μ1 DB2 μ2direct call ? REST?/Kafka Process {apiGW}
  14. 14. Communication Overhead Rough approximation: network call / local call munz & more #14
  15. 15. Communication Overhead Rough approximation: 0,003 s / 10^-9 s munz & more #15
  16. 16. Communication Overhead 3.000.000 x munz & more #16
  17. 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. 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
  19. 19. Microservices Runtimes
  20. 20. Application Container Cloud Service
  21. 21. ACCS • Polyglot: Java, node.js, PHP, Python and Ruby • Java: Upload compiled zipped Java classes + JSON file with start command • Easy to deploy and operate • Lightweight: deployments run in containers Polyglot, easy to use microservices runtime
  22. 22. Java CS
  23. 23. Create JCS munz & more #24
  24. 24. 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
  25. 25. WebLogic Microservice Edition? It should be • Single instance • No domain • No cluster • Lightweight Stay tuned … munz & more #26
  26. 26. Docker based Runtimes
  27. 27. Welcome Mini J Artesania Raspi cluster runs • Docker • Docker Swarm • Kubernetes Live hacking session at Oracle CODE 2017 CDMX
  28. 28. DIY Raspi Docker Cluster munz & more #29 Component Price Raspi 4x 38€ Micro SD 4x 11€ Power 28€ Wifi 22€ Case 30€ Wires 10€
  29. 29. Kubernetes
  30. 30. Google Kubernetes munz & more #31
  31. 31. Docker Swarm
  32. 32. Docker Swarm munz & more #33
  33. 33. 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
  34. 34. Oracle Container Cloud Service (OCCS)
  35. 35. OCCS munz & more #36
  36. 36. 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.
  37. 37. Function as a Service AWS Example used here. FaaS was announced at OOW 2016.
  38. 38. Edit Code / Upload munz & more #39 event: event passed to function context: runtime context callback: optional return (or null)
  39. 39. 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
  40. 40. 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
  41. 41. munz & more #42 Is 𝛌 the new μ ? FaaS: Fullfill microservices criteria. Low price, automatic scaling. Vendor lock-in?
  42. 42. There is more needed to succed with microservices ...
  43. 43. 1.) Your Organization Conway’s Law
  44. 44. 2.) Automation and Monitoring • Developer Cloud Service – Builds and runs deployments for ACCS, JCS • Wercker (free!) – Provisions software in Docker Containers munz & more #45
  45. 45. 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
  46. 46. https://app.wercker.com munz & more #47
  47. 47. 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
  48. 48. 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
  49. 49. www.linkedin.com/in/frankmunz/ www.munzandmore.com/blog facebook.com/cloudcomputingbook facebook.com/weblogicbook @frankmunz youtube.com/weblogicbook -> more than 50 web casts Don’t be shy J
  50. 50. • Graphics on title page by M. Fowler https://martinfowler.com/articles/microservices/images/sketch.png

×