8. 8
Cloud Native Environment-II
App Definition &
Development:
Observability &
Analysis Prometheus Fluentd Crashcart
Jenkins X Wercker Helm MySQL Spark Kafka
Orchestration &
Management:
Runtime: Docker Kata CRI-O CNI – Calico & Flannel Ceph Gluster
Provisioning: Terraform Vagrant Ansible Chef Puppet Clair Notary
Kubernetes Istio Envoy
We will Continually Enhance and Improve as the Technology Evolves
9. • Multi-container apps
• Scheduling
• Service Discovery
• Maintaining Desired State
• Orchestration as a service
• Hosted Container Runtime
• Minimize operational overhead
Container Orchestration And Containers as a Service (CaaS)
9
10. 10
The Containerization Journey
Phase I
Developer Focus
Phase II
DevOps Focus
Phase III
Business Focus
Container Adoption Application Deployment Business Integration
SpeedEfficiencyAgility
Docker
Kubernetes
Container
DevOps
11. Container Centric
User: DevOps / SRE
granular control
highly scriptable
deep introspection
open
PaaS
User: Web/Mobile Dev
limited control
prescriptive
limited introspection
short/efficient onramp
affixed to environment
Enterprise Java/DB
User: Operations
tightly controlled for
consistency
uniform tooling
designed for seamlessness
Visual/Low Code
User: Line of Business
no exposure to
controls
intuitive / UI based
integrated into a suite
low/no complexity
Application Development Spectrum of Users & Needs
Serverless
f(x)
High Control/Productivity vs Prescriptive/Productivity
11
12. Open Innovation
12
Active Community Participation Innovate in Open Source
railcar
smith
crashcart
Open Sourcing Docker & K8s Utilities
K8S
installer
14. What About Serverless?
• Category of cloud services that raises the abstraction level so that
developers never think about servers, VM’s, and other IaaS components
• Functions-as-a-Service (FaaS) forms the application programming model of
a serverless architecture used in conjunction with data services
• Increases developer productivity and agility while reducing cost
• Services scale per function and customers do not pay for idle
Traditional
infrastructure
Virtualized
infrastructure
FaaS
Compute on demand
14
15. The Open Source Fn Project – More and More FDKs!
FDKs
Fn Server Fn Flow
http://fnproject.io
15
16. Cloud Serverless Functions
a functions (triggered events) based platform
• Polyglot function platform based on
Fn (fnproject.io)
• Container Based with Local
Developer Experience
• Cloud and Scheduler Neutral
• Programmatic, multi-function
orchestration with Fn Flow
• Helm charts for Kubernetes
integration
Function
CI/CD
Local
Develop
Fn Flow
Polyglot Function Engine
fn fn fn fn
OCI Container Engine for Kubernetes
16
19. Overview of Compiler
• Compiler???
– The javac tool performs static compilation of Java sources to bytecode
– The JVM may perform dynamic compilation of bytecode to machine code for
optimization using a JIT (Just-in-Time) compiler
• Compiler control (JEP 165)
– Control of C1/C2 JIT, not javac
– Directive file
– Runtime changes via jcmd
19
20. EXPERIMENTAL JAVA-BASED JIT COMPILER(Java 10)
• A just-in-time (JIT) compiler translates programming code into fast, efficient
machine- optimized computer code only a few moments before it’s needed
by the application. Thanks to the rapid iterations of software driven by the
Java release cadence, developers can get their hands on Graal, an
experimental JIT now included with OpenJDK in Java 10.
• Graal is the basis of the experimental Java ahead-of-time (AOT) compiler,
which was first introduced in JDK 9. Enabling it to be used as an
experimental JIT compiler in Java 10 is one of the initiatives of Project
Metropolis, and is the next step in investigating the feasibility of a Java-
based JIT for the JDK. Graal has the potential to improve application
performance by aggressively optimizing code for specific microprocessor
architectures.
20
21. GraalVM – High-Performance Polyglot VM
Polyglot Embeddable Performance
Graal Compiler
HotSpot VM Substrate VM
JS R Ruby Python
LLVM
(C, C++,
Fortran, Go)