From 2f234a2448b8a3b087086ce2952982356dfec603 Mon Sep 17 00:00:00 2001 From: Inaki Fernandez Date: Thu, 4 Jun 2020 17:31:01 +0200 Subject: [PATCH] update --- docs/customer.md | 4 +-- docs/faq.md | 1 + docs/ibm_cloud.md | 1 + .../java-and-java-performance-optimization.md | 29 +++++++++++++++++-- docs/payara.md | 2 +- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/docs/customer.md b/docs/customer.md index 33b18971..94ba555e 100644 --- a/docs/customer.md +++ b/docs/customer.md @@ -7,7 +7,8 @@ * CI/CD at BMW IT-Zentrum (2018): * Jenkins (CloudBees & OSS): Maven, Seed Job, Multibranch Pipelines, Merge BOTs, OpenShift Source-to-Image (S2I), Fabric8 Java Client Library for Kubernetes, JobDSL & Shared Libraries (groovy). * Requirements of each microservice defined in a single json file. - * SpringBoot, Docker, Payara, HA-Proxy, SonarQube, Nexus3, JMeter, Selenium, etc. + * Frameworks: SpringBoot, Jakarta EE and MicroProfile, angular, etc. + * Docker, Payara, HA-Proxy, SonarQube, Nexus3, JMeter, Selenium, etc. * Terraform, Packer, Ansible, Liquibase. * Private and Public Cloud: OpenStack, OpenShift 3.10 on-premise, AWS. * Atlassian: Confluence, Bitbucket, Jira, Crowd. @@ -19,7 +20,6 @@ * [BMW takes digital innovation into the fast lane with Red Hat Openshift Container Platform](https://www.linkedin.com/pulse/bmw-takes-digital-innovation-fast-lane-red-hat-openshift-mendus/) * [Youtube: BMW enables the BMW Group to deliver the continuous service that today's consumers expect (video starts at 1:29:00)](https://www.youtube.com/watch?time_continue=5340&v=FUu4kMc0PL8): BMW Group started working with 4 Openshift clusters in 2016 to support ConnectedDrive, a solution that delivers IoT digital services since 20 years ago. It took them a full-time migration for 2 years with a big transformation of the culture of the company, migrating monolithic applications to microservices. This is a consequence of having 30% of growth of request rate, by selling 2.5 million of cars yearly, all of them connected. Traditional IT could not cope with this growth. In 2019 they have 19 Openshift Clusters worldwide, with 12000 containers, 300 microservices, and 1 Billion requests per week. Future plans are to move to OpenShift Dedicated in the Public Cloud since they need to be more scalable and resilient, while building an Artificial Intelligence platform with a Data Lake on the public cloud to offer the best possible experience to their customers. -
CONTAINER-TECHNOLOGIE ALS SCHLÜSSEL ZUR DIGITALISIERUNG IN DER AUTOMOBILINDUSTRIE from Jens Kassert
diff --git a/docs/faq.md b/docs/faq.md index c7e8a9ad..0815cae9 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -5,6 +5,7 @@ - [medium.com: Your team might not need Kubernetes](https://medium.com/@alexellisuk/your-team-might-not-need-kubernetes-57240e8d554a) - [cybercoders.com: What Hiring Managers look for in a Full Stack Developer](https://www.cybercoders.com/insights/what-hiring-managers-look-for-in-a-full-stack-developer/) - [nginx.com: Introduction to Microservices 🌟🌟🌟](https://www.nginx.com/blog/introduction-to-microservices/) +- [Dzone: Programming Styles Compared: Spring Framework vis-a-vis Eclipse MicroProfile 🌟🌟](https://dzone.com/articles/programming-styles-spring-boot-vis-a-vis-with-ecli) ## Kubernetes Native - [developers.redhat.com: Why Kubernetes native instead of cloud native? 🌟](https://developers.redhat.com/blog/2020/04/08/why-kubernetes-native-instead-of-cloud-native/) diff --git a/docs/ibm_cloud.md b/docs/ibm_cloud.md index e00d64c8..e38c24d2 100644 --- a/docs/ibm_cloud.md +++ b/docs/ibm_cloud.md @@ -7,6 +7,7 @@ ## IBM Cloud - [IBM Cloud](https://www.ibm.com/cloud) - [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift) +- [IBM Knowledge Center 🌟](https://www.ibm.com/support/knowledgecenter/) ## WebSphere Liberty with support of Java Microservices and Cloud Native Apps - [WebSphere Liberty](https://developer.ibm.com/wasdev/) A fast, light, awesome runtime for your Java apps and microservices, free for developers, and built on Open Liberty. diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index be20ebbf..e7cd3e5c 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -2,7 +2,11 @@ - [Java](#java) - [Existing Java Implementations](#existing-java-implementations) - [Use Java 11](#use-java-11) - - [Java Frameworks](#java-frameworks) + - [Java Programming Models (Java Frameworks)](#java-programming-models-java-frameworks) + - [Spring and MicroProfile frameworks for microservices development (open source microservices frameworks)](#spring-and-microprofile-frameworks-for-microservices-development-open-source-microservices-frameworks) + - [Spring](#spring) + - [Eclipse MicroProfile Project](#eclipse-microprofile-project) + - [Spring Boot VS MicroProfile](#spring-boot-vs-microprofile) - [Java Performance Optimization](#java-performance-optimization) - [Relevant JVM Metrics](#relevant-jvm-metrics) - [Common JVM Errors](#common-jvm-errors) @@ -36,15 +40,36 @@ - [**AdoptOpenJDK 11** Is the New Default 🌟](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-11-new-default/) - [All You Need To Know For Migrating To Java 11](https://blog.codefx.org/java/java-11-migration-guide/) -### Java Frameworks +### Java Programming Models (Java Frameworks) +- [Best Java Frameworks Solutions](https://www.itcentralstation.com/categories/java-frameworks) The best Java Frameworks vendors are **Apache Spark**, **Spring Boot**, **Oracle Application Development Framework (Oracle ADF)**, **Jakarta EE**, and **Open Liberty**. Apache is the top solution according to IT Central Station reviews and rankings. One reviewer writes: "Fast performance and has an easy initial setup", and another reviewer writes: "Easy to use and is capable of processing large amounts of data". The 2nd best product is Spring Boot. A user writes: "Very smooth implementation; excellent features for monitoring and tracking network calls ", and another reviewer writes: "Makes it difficult to support a specific functionality in a user-friendly manner, but simplifies application deployment". Framework / Java Ecosystem|Technology|Cloud Native|Platform :----|:---|:---|:--- [Java EE](https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition)
[Java EE at a Glance](https://www.oracle.com/java/technologies/java-ee-glance.html)|Frontend + Backend
Java EE Monoliths|No|Java EE Middleware Servers (WAS, WebLogic, JBoss EAP, etc) [Jakarta EE (Java EE renamed)](https://jakarta.ee/)|Frontend + Backend|Yes|OpenShift, Kubernetes, etc +[MicroProfile](https://microprofile.io/)|Frontend+Backend|Yes|OpenShift, Kubernetes, etc [SpringBoot (Spring)](https://spring.io/projects/spring-boot)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc [Spring Cloud (Spring)](https://spring.io/projects/spring-cloud)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc [Quarkus](https://quarkus.io/)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc +etc||| + +#### Spring and MicroProfile frameworks for microservices development (open source microservices frameworks) +##### Spring +- [Spring](https://spring.io/) +- [SpringBoot](https://spring.io/projects/spring-boot) +- [Spring Cloud](https://spring.io/projects/spring-cloud) + +##### Eclipse MicroProfile Project +- [Eclipse MicroProfile Project](https://projects.eclipse.org/projects/technology.microprofile) The Eclipse MicroProfile project is aimed at +optimizing Enterprise Java for the microservices architecture. + - Many innovative "microservice" Enterprise Java environments and frameworks already exist in the Java ecosystem. These projects are creating new features and capabilities to address microservice architectures -- leveraging both Java EE and non-Java EE technologies. + - The goal of the Eclipse MicroProfile project is to iterate and innovate in short cycles to propose new common APIs and functionality, get community approval, release, and repeat. Eventually, the outputs of this project could be submitted to the Eclipse Jakarta EE, JCP, OpenJDK or any relevant standards body. +- [MicroProfile.io](https://microprofile.io/) Optimizing Enterprise Java for a Microservices Architecture +- [developers.redhat.com: Eclipse MicroProfile for Spring Boot developers](https://developers.redhat.com/blog/2018/11/21/eclipse-microprofile-for-spring-boot-developers/) + +##### Spring Boot VS MicroProfile +- [Dzone: Programming Styles Compared: Spring Framework vis-a-vis Eclipse MicroProfile 🌟🌟](https://dzone.com/articles/programming-styles-spring-boot-vis-a-vis-with-ecli) +- [ibm.com: Java Microservices with MicroProfile – RESTful APIs and Dependency Injection. For microservices-based Java apps, knowing how to create REST APIs is an essential skill. Eclipse MicroProfile makes it easier](https://www.ibm.com/cloud/blog/migrate-java-microservices-from-spring-to-microprofile-p2) Spring Boot or MicroProfile for Java microservices apps? Choose the path of least resistance. The Spring Boot and MicroProfile frameworks have many of the same goals (i.e., you can do everything in MicroProfile that you can do in Spring Boot). Both of them are built on top of the same core APIs; even though there are differences in some of the APIs, the work they do is similar. ## Java Performance Optimization * [DZone refcard: java performance optimization 🌟](https://dzone.com/refcardz/java-performance-optimization) Tools and Techniques for Turbocharged Apps diff --git a/docs/payara.md b/docs/payara.md index 9e471fb2..04afe72a 100644 --- a/docs/payara.md +++ b/docs/payara.md @@ -1,5 +1,5 @@ # Payara -* [Wikipedia: Payara Server](https://en.wikipedia.org/wiki/Payara_Server) +* [Wikipedia: Payara Server](https://en.wikipedia.org/wiki/Payara_Server) Java EE/Jakarta EE Application Server and MicroProfile implementation. * [Dzone: Automate Deployments to Payara Application Server](https://dzone.com/articles/automate-deployments-to-payara-application-server) * [Dzone: Easy Java EE Microservices With Payara Micro](https://dzone.com/articles/easy-java-ee-microservices-with-payara-micro) * [Dzone: Getting Started With Java EE 8, Payara 5 and Eclipse Oxygen](https://dzone.com/articles/getting-started-with-java-ee-8-payara-5-and-eclips)