PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Journal du hacker : Liens intéressants Journal du hacker semaine #30

lundi 2 août 2021 à 00:01

Pour la 30ème semaine de l'année 2021, voici 12 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

citizenz7 : excusesdedev : humour et Symfony

samedi 31 juillet 2021 à 13:40
excusesdedev-humour-et-symfony

Gravatar de citizenz7
Original post of citizenz7.Votez pour ce billet sur Planet Libre.

Daria : Le meilleur des deux mondes avec l’hébergement géré WordPress.com

mardi 27 juillet 2021 à 10:18

Comment créer sans limite… et sans les tracas de la gestion de votre site Web

Le projet open source WordPress offre au monde entier une plateforme de publication puissante sur laquelle s’appuie aujourd’hui 41 % du web. Il s’agit du CMS le plus largement adopté sur Internet, mais vous avez aussi besoin d’un hébergeur pour mettre votre site Web en ligne.

Lorsque vous choisissez un hébergeur Web, il est important de réfléchir au degré d’implication que vous souhaitez avoir dans la maintenance.  Si vous n’êtes pas à l’aise avec les opérations techniques d’un site Web, il peut être décourageant d’installer des mises à jour, de peur de casser quelque chose ou d’oublier de faire une sauvegarde ! (C’est normal, tout le monde passe par là). Bonne nouvelle : il existe une autre solution, l’hébergement géré.  

L’hébergement géré est un service WordPress.com pratique entièrement consacré à l’hébergement du logiciel open source WordPress. C’est la solution idéale si l’on ne veut pas s’occuper des opérations techniques de gestion d’un site Web. Vous bénéficiez de toute la liberté de WordPress, sans les inconvénients.

Voici ce que vous apporte l’hébergement géré de WordPress.com :  

Un site Web plus rapide

Parce qu’il n’y a rien de pire qu’un site Web qui rame ! Surtout si vous envisagez de développer votre audience et votre clientèle. Pour rester rapide, WordPress.com fonctionne sur son propre CDN mondial avec 28 centres de données de pointe (un nombre en croissance constante) dans le monde entier avec des serveurs, des commutateurs et des routeurs dont nous sommes propriétaires, pas locataires. Cet environnement est unique, car il est spécialement conçu et optimisé pour les sites WordPress, de sorte que vous n’êtes jamais à la merci d’un autre fournisseur. Résultat : la vitesse de chargement des pages d’un site Web fonctionnant sur un plan WordPress.com Business est d’environ 1 seconde, contre 2,4 secondes pour la norme du secteur. Au-delà de la vitesse, c’est une plateforme sur laquelle vous pouvez compter.  

C’est d’ailleurs l’avis du service d’évaluation d’hébergement le plus fiable au monde. Dans les résultats du WordPress Hosting Performance Benchmarks de cette année, WordPress.com a reçu les plus grands éloges, désigné comme « le plus rapide… de toutes les entreprises, tous prix confondus ». Voici la citation complète :

Une fois de plus, WordPress.com est élu Top Tier. Il n’y a vraiment rien à dire puisque WordPress a obtenu un temps de disponibilité parfait de 100 % sur les deux moniteurs, zéro erreur dans les deux tests de charge et le benchmark WP bench le plus rapide de toutes les entreprises toutes catégories de prix cette année. Une performance globale sans faille.

Un SEO puissant intégré

WordPress.com inclut d’excellents outils SEO prêts à l’utilisation. Cela signifie que vous n’avez rien à faire pour en récolter les fruits. En fait, WordPress s’occupe de 80 à 90 % des mécanismes d’optimisation pour vous, selon Matt Cutts, ancien responsable de l’équipe de lutte contre les indésirables chez Google. Tous nos thèmes sont optimisés pour les moteurs de recherche, ce qui signifie qu’ils sont conçus pour permettre à Googlebot (et aux autres moteurs de recherche) de les parcourir facilement et d’en découvrir tout le contenu.

WordPress.com notifie en outre automatiquement Google chaque fois que vous publiez ou mettez à jour un article ou une page.  Ce système est similaire à celui qui permet à vos abonnés de recevoir des mises à jour par e-mail. Chaque fois que vous publiez un article, vous prévenez Google,  en quelque sorte.

Des spécialistes de la sécurité et des systèmes

Même avec le meilleur site Web, vous ne pouvez pas faire l’économie de la sécurité. Or l’hébergement géré simplifie la sécurité en gérant les correctifs, la protection contre les indésirables, les mises à jour, etc. sans que vous ayez à lever le petit doigt. Chez WordPress.com, nous allons encore plus loin en matière de sécurité avec des équipes dédiées aux systèmes et à la sécurité qui s’assurent que votre site reste sécurisé.  

Une scalabilité et un temps de disponibilité sur lesquels vous pouvez compter

What’s the worst thing that could happen if your site gets popular? Crash. We’re here for you when it really matters and we’ll make sure this doesn’t happen. Our systems are built to scale as you grow and we have experience hosting some of the largest brands on the internet, like Facebook, Spotify, Microsoft, and CNN. We know how to seamlessly scale your website for millions of visitors, without additional costs for increased traffic. 

Quelle est la pire chose qui puisse arriver si votre site devient populaire ? Un crash. Nous sommes au rendez-vous et faisons le nécessaire pour que cela n’arrive pas. Nos systèmes sont conçus pour s’adapter à votre croissance et nous avons l’expérience de l’hébergement de certaines des plus grandes marques sur Internet, comme Facebook, Spotify, Microsoft et CNN. Nous savons comment faire évoluer votre site Web pour des millions de visiteurs, sans accroc ni coût supplémentaire occasionné par l’augmentation du trafic.  

Des mises à jour automatiques de WordPress

L’une des façons de maintenir votre site en état de marche optimale est de gérer automatiquement toutes les mises à jour pour avoir la certitude que vous disposez de la dernière version de WordPress. Vous ne vous rendrez même pas compte que nous le faisons pour vous, de sorte que vous n’avez pas à craindre de faire une erreur.  

Des sauvegardes en temps réel

Nous ne voulons pas que quiconque perde le fruit de son travail. C’est pourquoi tous les plans WordPress.com sont livrés avec des sauvegardes automatiques de vos contenus. Avec le plan Business, nous allons encore plus loin en faisant des sauvegardes en temps réel pour que vous ayez toujours l’esprit tranquille. Nous diversifions également nos emplacements, de sorte que chaque fois que vous téléchargez une image sur WordPress.com, six copies sont faites dans des emplacements différents, ainsi qu’une 7e vers un seau Amazon s3 (pour ne rien laisser au hasard). Il n’y a rien de pire que de perdre tout son contenu. Avoir constamment à penser à faire des sauvegardes manuelles est pénible aussi. C’est pourquoi nous faisons tout cela pour vous. 

Ces avantages ne sont qu’un aperçu de la façon dont l’hébergement géré peut faciliter la gestion de votre site Web. Lorsque vous nous confiez la maintenance de votre site Web, vous gagnez un temps immense que vous pouvez allouer à la création de votre contenu.  Vous n’avez même pas besoin d’installer le logiciel WordPress. Tout est déjà prêt à l’utilisation, dès votre inscription. 

 

Gravatar de Daria
Original post of Daria.Votez pour ce billet sur Planet Libre.

Littlewing : Observabilité et Circuit Breaker avec Spring

lundi 26 juillet 2021 à 11:53

Il y a quelques mois déjà, je discutais avec un collègue d’ observabilité, opentracing, … avec Quarkus. On est tombé sur un super exemple réalisé par Antonio Concalves. Ce projet démontre les capacités de Quarkus sur les sujets suivants:

Et la on peut se demander quid de Spring? Je me doutais que ces fonctionnalités étaient soient disponibles par défaut soient facilement intégrables vu la richesse de l’écosystème.

J’ai donc réalisé un clone de ce projet basé sur Spring Boot/Cloud. Je ne vais pas détailler plus que ça les différentes fonctionnalités, vous pouvez vous référer au fichier README. Il est suffisamment détaillé pour que vous puissiez exécuter et les mettre en œuvre.

Architecture de l’application

Vous trouverez ci-dessous un schéma d’architecture de l’application au format C4.


Circuit Breaker

Lors des appels entre le bookstore et le booknumberservice, il peut être intéressant d’ implémenter un circuit breaker pour pallier aux indisponibilités de ce dernier.
Avec Spring, on peut utiliser Resilience4J au travers de Spring Cloud. Tout ceci se fait de manière programmatique

Il faut tout d’abord configurer les circuit breakers au travers d’une classe Configuration.

   @Bean
    public Customizer createDefaultCustomizer() {
        return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
                .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(timeoutInSec)).build())
                .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
                .build());
    }

    /**
     * Creates a circuit breaker customizer applying a timeout specified by the booknumbers.api.timeout_sec property.
     * This customizer could be reached using this id: slowNumbers
     * @return the circuit breaker customizer to apply when calling to numbers api
     */
    @Bean
    public Customizer createSlowNumbersAPICallCustomizer() {
        return factory -> factory.configure(builder -> builder.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
                .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(timeoutInSec)).build()), "slowNumbers");
    }

Grâce à ces instanciations, on référence les différents circuit breakers.

Maintenant, on peut les utiliser dans le code de la manière suivante:

public Book registerBook(@Valid Book book) {
        circuitBreakerFactory.create("slowNumbers").run(
                () -> persistBook(book),
                throwable -> fallbackPersistBook(book)
        );

        return bookRepository.save(book);
    }

Maintenant, il ne reste plus qu’à créer une méthode de « fallback » utilisée si un service est indisponible. Cette dernière nous permettra, par exemple, de mettre le payload dans un fichier pour futur traitement batch.

Observabilité

L’observabilité est sans contexte la pierre angulaire (oui, rien que ça…) de toute application cloud native. Sans ça, pas de scalabilité, de redémarrage automatique,etc.
Les architectures de ce type d’applications sont idempotentes. On a donc besoin d’avoir toutes les informations à notre disposition. Heureusement, Spring fournit par le biais d’ Actuator toutes les informations nécessaires. Ces dernières pourront soit être utilisées par Kubernetes (ex. le livenessProbe) ou agrégées dans une base de données Prometheus.

Pour activer certaines métriques d’actuator, il suffit de :

Ajouter la/les dépendance(s)

    dependencies {
[...]
        implementation 'org.springframework.boot:spring-boot-starter-actuator'
        implementation 'io.micrometer:micrometer-registry-prometheus'
     [...]
    }

Spécifier la configuration adéquate:

management:
  endpoints:
    enabled-by-default: true
    web:
      exposure:
        include: '*'
    jmx:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
      enabled: true
      probes:
        enabled: true
    shutdown:
      enabled: true
    prometheus:
      enabled: true
    metrics:
      enabled: true
  health:
    livenessstate:
      enabled: true
    readinessstate:
      enabled: true
    datasource:
      enabled: true
  metrics:
    web:
      client:
        request:
          autotime:
            enabled: true

OpenTracing

Sur les applications distribuées, il peut s’avérer compliqué de concentrer les logs et de les corréler. Certes, avec un ID de corrélation, on peut avoir certaines informations. Cependant, il faut que les logs soient bien positionnées dans le code. On peut également passer à travers de certaines informations (ex. connexion aux bases de données, temps d’exécution des APIS,…). Je ne vous parle pas des soucis de volumétrie engendrées par des index Elasticsearch/Splunk sur des applications à forte volumétrie.

Depuis quelques temps, le CNCF propose un projet (encore en incubation) : OpenTracing. Ce dernier fait désormais partie d’OpenTelemetry.
Grâce à cet librairie, nous allons pouvoir tracer toutes les transactions de notre application microservices et pouvoir réaliser une corrélation « out of the box » grâce à l’intégration avec Jaeger.

Pour activer la fonctionnalité il suffit d’ajouter la dépendance au classpath:

implementation 'io.opentracing.contrib:opentracing-spring-jaeger-cloud-starter:3.3.1'

et de configurer l’URL de Jaeger dans l’application

# Default values
opentracing:
  jaeger:
    udp-sender:
      host: localhost
      port: 6831
    enabled: true

Une fois l’application reconstruite et redémarrée, vous pourrez visualiser les transactions dans JAEGER:

Conclusion

Je ne vais pas exposer l’implémentation des tests unitaires et d’intégration. Si vous voulez voir comment j’ai réussi à mocker simplement les appels REST à une API distante, vous pouvez regarder cette classe pour voir une utilisation du MockServer.
Aussi, n’hésitez pas à cloner, tester ce projet et me donner votre retour. J’essaierai de le mettre à jour au fur et à mesure de mes découvertes (par ex. OpenTelemetry).

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #29

lundi 26 juillet 2021 à 00:01

Pour la 29ème semaine de l'année 2021, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

I'm richer than you! infinity loop