Slide 1

Slide 1 text

@sendilkumarn Ge.ing Hip with JHipster Sendil Kumar N

Slide 2

Slide 2 text

@sendilkumarn Hello I’m Sendil @sendilkumarn @sendilkumarn

Slide 3

Slide 3 text

@sendilkumarn Tamil Nadu, India @sendilkumarn

Slide 4

Slide 4 text

@sendilkumarn Netherlands @sendilkumarn

Slide 5

Slide 5 text

@sendilkumarn Developer @ Xebialabs

Slide 6

Slide 6 text

@sendilkumarn Team Member @JHipster / @webpack Open source Polyglot Programmer

Slide 7

Slide 7 text

@sendilkumarn Agenda • JHipster • What it is ? • What it can do? • Why you need it? • JDL - JHipster Domain Language (Demo included) • Microservices with JHipster (Demo included) • Kubernetes & Istio (Demo included)

Slide 8

Slide 8 text

@sendilkumarn What is JHipster ?

Slide 9

Slide 9 text

@sendilkumarn Java Hipster

Slide 10

Slide 10 text

@sendilkumarn JHipster is a development plaKorm

Slide 11

Slide 11 text

@sendilkumarn JHipster is a development plaKorm to generate

Slide 12

Slide 12 text

@sendilkumarn JHipster is a development plaKorm to generate, develop

Slide 13

Slide 13 text

@sendilkumarn JHipster is a development plaKorm to generate, develop, and deploy full-stack applications

Slide 14

Slide 14 text

@sendilkumarn What you can do with it?

Slide 15

Slide 15 text

@sendilkumarn

Slide 16

Slide 16 text

@sendilkumarn ++ Front end

Slide 17

Slide 17 text

@sendilkumarn

Slide 18

Slide 18 text

@sendilkumarn

Slide 19

Slide 19 text

@sendilkumarn ++ Databases

Slide 20

Slide 20 text

@sendilkumarn

Slide 21

Slide 21 text

@sendilkumarn Create & Maintain database

Slide 22

Slide 22 text

@sendilkumarn

Slide 23

Slide 23 text

@sendilkumarn ++ Microservices

Slide 24

Slide 24 text

@sendilkumarn

Slide 25

Slide 25 text

@sendilkumarn API / Gateway Pa.ern

Slide 26

Slide 26 text

@sendilkumarn API Pa.ern is easy and the most used microservices pa.ern

Slide 27

Slide 27 text

@sendilkumarn Terminology aleS…

Slide 28

Slide 28 text

@sendilkumarn Gateway

Slide 29

Slide 29 text

@sendilkumarn Microservice Applications

Slide 30

Slide 30 text

@sendilkumarn

Slide 31

Slide 31 text

@sendilkumarn Caching

Slide 32

Slide 32 text

@sendilkumarn Code Coverage >82% in 42K lines we generate

Slide 33

Slide 33 text

@sendilkumarn CI / CD Pipeline

Slide 34

Slide 34 text

@sendilkumarn CI / CD Pipeline

Slide 35

Slide 35 text

@sendilkumarn Deployments

Slide 36

Slide 36 text

@sendilkumarn Deployments

Slide 37

Slide 37 text

@sendilkumarn Cloud ready

Slide 38

Slide 38 text

@sendilkumarn Monitor / Operate

Slide 39

Slide 39 text

@sendilkumarn JHipster Registry Monitor / Operate

Slide 40

Slide 40 text

@sendilkumarn JHipster Console Monitor

Slide 41

Slide 41 text

@sendilkumarn ++ more

Slide 42

Slide 42 text

@sendilkumarn

Slide 43

Slide 43 text

@sendilkumarn Why you need JHipster?

Slide 44

Slide 44 text

@sendilkumarn Faster Development

Slide 45

Slide 45 text

@sendilkumarn Latest libraries & frameworks

Slide 46

Slide 46 text

@sendilkumarn ++ Developer Experience

Slide 47

Slide 47 text

@sendilkumarn ++ Developer Learning

Slide 48

Slide 48 text

@sendilkumarn API ]rst development

Slide 49

Slide 49 text

@sendilkumarn How to generate an application?

Slide 50

Slide 50 text

@sendilkumarn Well, let us see.

Slide 51

Slide 51 text

@sendilkumarn npm i -g generator-jhipster

Slide 52

Slide 52 text

@sendilkumarn Create a folder

Slide 53

Slide 53 text

@sendilkumarn echo “application { config {} }” > app.jdl

Slide 54

Slide 54 text

@sendilkumarn jhipster import-jdl app.jdl

Slide 55

Slide 55 text

@sendilkumarn Hooray Application generated…

Slide 56

Slide 56 text

@sendilkumarn Demo for the people who don’t believe in magic

Slide 57

Slide 57 text

@sendilkumarn JDL

Slide 58

Slide 58 text

@sendilkumarn JHipster Domain Language

Slide 59

Slide 59 text

@sendilkumarn What you can do with that • Create a JHipster Application • Create entities • Create relationships

Slide 60

Slide 60 text

@sendilkumarn application { config { } }

Slide 61

Slide 61 text

@sendilkumarn application { config { baseName: ‘jhipster’ packageName: ‘tech.jhipster’ applicationType: ‘monolith’ databaseType: ‘sql’ ........ } }

Slide 62

Slide 62 text

@sendilkumarn application { config { } } //Another app application { config { } } //Yet another app application { config { } }

Slide 63

Slide 63 text

@sendilkumarn application { config { } } entity { fieldName fieldType }

Slide 64

Slide 64 text

@sendilkumarn Microservices

Slide 65

Slide 65 text

@sendilkumarn Why do you need microservices?

Slide 66

Slide 66 text

@sendilkumarn Independent Development

Slide 67

Slide 67 text

@sendilkumarn Independent Deployment

Slide 68

Slide 68 text

@sendilkumarn Fault Isolation

Slide 69

Slide 69 text

@sendilkumarn Granular Scaling

Slide 70

Slide 70 text

@sendilkumarn Wow, this is awesome I just need to create the micro services. It solves all my problems

Slide 71

Slide 71 text

@sendilkumarn Wow, it is awesome I just need to create the micro services. It solves all my problems

Slide 72

Slide 72 text

@sendilkumarn Monoliths are pe`ect ]t for most of the use-cases.

Slide 73

Slide 73 text

@sendilkumarn Think a lot before embarking a journey ✈into micro-services.

Slide 74

Slide 74 text

@sendilkumarn StaS faster with monolith. Then understand your domain and then conveS them to micro-services

Slide 75

Slide 75 text

@sendilkumarn Side-eaects of Microservices

Slide 76

Slide 76 text

@sendilkumarn 99.999999999999% availability is always expected

Slide 77

Slide 77 text

@sendilkumarn Service Registries / Health checkers

Slide 78

Slide 78 text

@sendilkumarn ❌ ❌ ❌ ❌ ❌ ❌ ❌

Slide 79

Slide 79 text

@sendilkumarn Microservices in JHipster

Slide 80

Slide 80 text

@sendilkumarn API Gateway BFF pa.ern

Slide 81

Slide 81 text

@sendilkumarn Let us create a microservice application

Slide 82

Slide 82 text

@sendilkumarn Kubernetes

Slide 83

Slide 83 text

@sendilkumarn Kubernetes is Open -source system for automating deployment, scaling and management of containerized applications

Slide 84

Slide 84 text

@sendilkumarn With JHipster you can create Kubernetes con]guration ]les that eases your Kubernetes con]guration.

Slide 85

Slide 85 text

@sendilkumarn Service in K8s Load Balancer Load Balancer Services

Slide 86

Slide 86 text

@sendilkumarn Service in K8s Node PoS Master 30000 30001 30002 30003 Services

Slide 87

Slide 87 text

@sendilkumarn Service in K8s Ingress Ingress controller 10.0.0.1 10.0.0.3 10.0.0.2 10.0.0.4 Services

Slide 88

Slide 88 text

@sendilkumarn Istio

Slide 89

Slide 89 text

@sendilkumarn Control the fow of tragc & API calls between services Connect

Slide 90

Slide 90 text

@sendilkumarn Secure your services Secure

Slide 91

Slide 91 text

@sendilkumarn Apply policies Control

Slide 92

Slide 92 text

@sendilkumarn Trace and Monitor Observe

Slide 93

Slide 93 text

@sendilkumarn Let us deploy to cloud with JDL

Slide 94

Slide 94 text

@sendilkumarn

Slide 95

Slide 95 text

@sendilkumarn h.ps://bit.ly/2PP4uYW Complete blog post on Istio with JHipster

Slide 96

Slide 96 text

@sendilkumarn Questions

Slide 97

Slide 97 text

@sendilkumarn Thank you :)