Deployment options for OSGi applications in the cloudedge
summary
Compares concrete OSGi deployment routes and what actually works: builds an OSGi app of ~20–25 bundles, runs 100 start/stop trials, and measures sizes and startup times. Shows bndtools 6.3.0 can inject module-info into an executable jar so jlink produces a custom JRE (compressed images ≈30–50 MB), while Graal native image yields the smallest (~38 MB) and fastest cold starts but requires explicit jar listing, platform-specific builds, and a sidecar bundles folder for introspection. Notes a ~100 ms penalty when using module path and ~80 ms cache gain for folder-based launches.
AI-written summary · about
chapters (24)
- 0:00OSGi deployment in cloud edge
- 1:08Java deployment variants
- 3:36OSGi folders and JARs
- 5:24j-link and GraalVM challenges
- 7:08Module info for OSGi bundles
- 10:45Custom JRE via j-link
- 11:27OSGi Connect overview
- 13:09GraalVM native images for OSGi
- 17:05Summary of OSGi variants
- 17:25Containers for cloud edge
- 19:13Base images for small containers
- 20:17JRE options for container size
- 22:06Distroless containers for Java
- 23:28Java container image best practices
- 24:11Maven-first vs Docker-first builds
- 26:18Benchmarking container sizes
- 27:00OSGi benchmark app design
- 29:53Benchmark startup time results
- 32:00Startup performance comparison
- 32:20Conclusion on OSGi options
- 34:51IBM Semeru for containers
- 35:34Checkpoint and restore in containers
- 36:39Benchmark resources
- 37:04Q&A
related talks
45mFour Approaches to Reducing Java Startup Time: AppCDS, Native Image, Project Leyden, CRaC
43mMonoliths to Modular: Navigating the Transition
45mJVMs in Containers, Towards a Perfect Symbiosis!
49mBuilding Lean Spring Boot Applications for the Cloud
59mRuntime Efficiencies and Spring Boot
32mDockerfile vs Jib vs Pack vs Native Image: Which Is the Best Image Build Method?
32mOSGi and Java 9+
51mGoing AOT: Everything you need to know about GraalVM for Java applications
