Note de session d'étude: Kansai Java Engineers Association [Osaka] 7/12 - Cloud Native

introduction

J'y suis allé car une session individuelle de Microsoft Terada était organisée par Seki Java. Une session sur le même thème a déjà eu lieu à Java One Tokyo, etc. et est devenue un sujet brûlant, mais elle a été très utile car elle a été bien accueillie.

Aperçu

Association des ingénieurs du Kansai Java [Osaka] 7/12 - Cloud Native Date: 2017/07/12 (mercredi) 19: 00-21: 00 Emplacement: Microsoft Japan Kansai Branch

thème

Pour le développement d'applications évolutives natives du cloud 12 Factor App on Kubernetes on Azure

Référence (ancienne histoire)

⇒Depuis que nous avons le temps cette fois, nous avons procédé avec Seki Java Original Ver. Sur cette base.

Résultats du pré-questionnaire

https://yoshio3.com/2017/07/05/2017-java-appserver-usage-questionnaire/

Utilisation du serveur Java 1ère place: Tomcat

Si vous avez déjà migré vers le conteneur intégré (fichier jar exécutable), vers quel framework avez-vous migré? 1ère place: Spring Boot

Les détails seront écrits sur le blog à une date ultérieure

Histoire principale

(* Personnes qui font déjà des microservices dans des projets de développement ... environ 5 personnes)

À propos des micro-services

⇒Je ne sais pas par où commencer ⇒Il est en fait difficile à introduire même si le thème est les dernières tendances Thème d'aujourd'hui ⇒ Comment aborder les micro-services

Déplacez ce qui fonctionnait en direct vers le cloud tel quel ⇒Je ne peux pas profiter des avantages du cloud

Besoin de micro-services

(* Les gens qui ont répondu que c'était nécessaire ... environ la moitié?)

Des connaissances et un savoir-faire sont nécessaires en tant qu'ingénieur ⇒Tout n'est pas un micro service ⇒ Ce n'est pas un choix entre un service monolithique ou micro

Si vous continuez sans penser aux micro-services, cela échouera. ――Le micro service vous rend heureux, pas le micro service vous rend heureux ――L'effet ne peut être obtenu que si vous pensez et réalisez une méthode spécifique à votre service.

◎ Le pire schéma

--MSA pour le moment --Je veux en faire un Docker

◎ Vous pouvez le faire sans MSA

--Fournir des services dès que possible

◎ Modèle efficace MSA

Avez-vous introduit des micro-services? (étranger)

--Introduit ... 15% --Migrer les services existants ... 25,4% --Introduit en tant que nouveau service ... 35,8% --Pas de plans ... 23,9%

Surtout aux États-Unis, il y a un sentiment de crise dont nous ne savons pas quand notre entreprise sera détruite. Rakuten etc. ont la même tendance au Japon

—— Il est important de créer une bonne équipe

The twelve-factor app

https://12factor.net/ja/

(* Personnes Kubernetes qui ont touché ⇒ 2 ou 3 personnes)

DEIS… Moteur de workflow http://deis.io/ http://qiita.com/wataru420/items/4bc7c52313d5d06a847c

Mains sur https://github.com/yoshioterada/DEIS-k8s-ACS

Contrôle du code source

[Conventionnel] Gérez plusieurs services avec un référentiel [MSA] Référentiels séparés pour chaque service ⇒ Historique des modifications de service facile à comprendre

D'une manière ou d'une autre mise en œuvre (processus)

Gestion de session

[Conventionnel] Réalisé en utilisant la fonction du serveur d'application [MSA] Arrêter la dépendance au serveur d’applications ⇒ Sortir les informations de session

Inmemory Grid

La gestion de session du serveur d'applications ne peut pas évoluer à mesure que les informations de session augmentent

Traitement parallèle / asynchrone / non bloquant

Asynchrone ← Ceux qui apprennent désormais MSA doivent étudier

Est-ce synchrone? Est-ce asynchrone? ⇒ Pensez à savoir s'il est synchrone ou asynchrone au lieu d'alternative

Le blocage / non-blocage est également important ⇒ Lors du blocage, des services spécifiques s'accumulent grâce au traitement parallèle

Disjoncteur

Détacher et récupérer les services en cas de retard ou de panne d'un service spécifique

Bibliothèque partagée (dépendance)

(* Les personnes qui gèrent les bibliothèques partagées ... 60%?)

--Séparer la bibliothèque partagée --Partagez pour chaque service au lieu de partager pour l'ensemble du service

Construire ⇒ Configurer un référentiel privé

Paramètres de ressources flexibles (paramètres, services backend)

--Faire fonctionner dans n'importe quel environnement

Variable d'environnement ou serveur de paramètres ⇒ Lire les paramètres des variables d'environnement

Construire / Libérer / Exécuter

Construire / publier avec DEIS Permet une restauration rapide

Facilité d'élimination

  1. Échelle de la machine virtuelle Azure Container Service
  2. Échelle au niveau du pod de k8n
  3. Échelle de l'application déployée sur DEIS

Devenez une application autonome et légère Publier des services via la liaison de port

Match développement / production

--Unifier l'environnement de développement et de production

Méthode de réalisation

Indicateur de fonctionnalité Java… toggz

Journal d'exploitation / de surveillance

Il est difficile de voir le journal brut Essayez de recracher tous les journaux Zavis Vérifiez avec la recherche élastique, etc.

Liaison de base de données

1.1 Base de données Service 1 (RDMBS sur 1VM) 2.1 Base de données Service 1 (RDMBS sur MultiVM) 3. Liaison de base de données (liaison de messages) --Utiliser un système de messagerie 4. CQRS (séparation lecture-écriture) --Par exemple, échelle en lecture seule

Lorsqu'une gestion complète des transactions est requise, la liaison des messages n'a pas à être ⇒ Réfléchissez à la méthode appropriée

à la fin

Des obstacles se produisent ↓ [Conventionnel] Je ferai de mon mieux pour ne pas me lever [MSA] Assurez-vous de vous réveiller en toute sécurité

Où se produit l'échec? ⇒ Réveillez-vous en tous

C'est à nouveau un livre recommandé

Release It! Pour la conception et le déploiement de produits logiciels de production

Impressions

Regarder directement la réalité selon laquelle les microservices ne sont ni bons ni mauvais, mais la seule façon de les réaliser est de réfléchir soigneusement à la manière qui leur convient et de donner des conseils sur la façon de réfléchir à la manière de trouver une meilleure forme de service. Je pense que c'est le contenu qui a été présenté. Vous avez mentionné au début que beaucoup de nouvelles technologies sortent et qu'il y a beaucoup de choses à étudier, mais je pense que c'est vrai. Benkyo! Benkyo!

Recommended Posts

Note de session d'étude: Kansai Java Engineers Association [Osaka] 7/12 - Cloud Native
Mémo de la session d'étude: Kansai Java Engineers Association 8/5 - Selenium
[Mémo de la session d'étude] Java Day Tokyo 2017
Mémo de la méthode d'étude Java Silver
Mémo d'étude Java 2 avec Progate
[Session d'étude interne] Gestion des exceptions Java (2017/04/26)
[Java ~ A propos de la définition de variable et de la conversion de type ~] Note d'étude