Conseils utiles

Exemples AWS: iFunny

Pin
Send
Share
Send
Send


Je viens de mettre à jour iFunny et je l’aime déjà moins. Que devrais-je faire?

Eh bien, il faut parfois plus de 30 secondes pour arriver à une conclusion. Si vous savez ce que je veux dire,)

Il y a trop d'informations dans l'onglet Activité. Que puis-je faire?

Il est temps de nettoyer cet onglet Activité, comme si vous souhaitiez nettoyer votre chambre, en quelques robinets. Accédez à Profil - Paramètres - Filtre d'activité et configurez tout comme vous le souhaitez.

Puis-je vendre des produits, des publications ou des services dans iFunny?

Nous vous demandons de ne rien vendre dans l'application. Si vous souhaitez vendre vos reins, veuillez le faire en dehors de iFunnyland. Cependant, vous pouvez donner des annonces, des mentions et des références en ajoutant un lien ou des informations de contact à votre profil.

Mes travaux ne figurent pas dans les tags que j’ajoute. Pourquoi

Les canaux basés sur des balises sur la page principale de la section Explore sont strictement modérés, donc tout le monde n'y parvient pas (la vie n'est pas juste, vous avez raison). Toutes les autres balises ne reçoivent pas les mèmes violant les règles.

Quelqu'un se moque de moi. Que devrais-je faire?

Eh bien, la meilleure chose à faire est de les ignorer. Rappelez-vous ce qu'Eleanor Roosevelt a dit: "Aucun (iFunnyer), on ne peut vous faire sentir inférieur sans votre consentement."

Cet utilisateur spamme mon compte et gâche tout le plaisir. Puis-je me débarrasser de lui?

Oui tu peux! Tout ce que vous avez à faire est d'ouvrir un profil dérangeant, appuyez sur l'icône "trois points" dans le coin supérieur droit, puis appuyez sur "Bloquer". Voilà! Vous êtes maintenant un fort indépendant iFunnyer!

J'ai commis une grosse erreur et bloqué mon utilisateur préféré! Puis-je le réparer?

Quel dommage, vous devriez le défaire immédiatement. Ouvrez simplement le profil de cet utilisateur, appuyez sur l'icône "trois points" dans le coin supérieur droit de l'écran et appuyez sur "Débloquer".

Il y a un nom d'utilisateur que je veux que quelqu'un d'autre ait. À l'aide!

Nous savons qu'il peut être frustrant de voir un grand nom se faire prendre en otage par un compte apparemment inactif. Pas de soucis! Tous les noms d'utilisateur sont automatiquement libérés après un an d'inactivité. Cette date est basée sur la dernière fois que cet utilisateur s'est connecté à son compte. Si vous voyez un nom d'utilisateur que vous aimeriez avoir, gardez simplement un œil dessus et dès qu'il sera disponible, prenez-le!

L'application affichera-t-elle certaines de mes informations sur des pages de médias sociaux?

Nous ne divulguons jamais aucune de vos informations personnelles. Nous pouvons cependant partager certaines de vos memes sur d’autres plateformes pour montrer votre excellent travail!

J'ai ajouté mon numéro de téléphone pour utiliser le chat iFunny. Est-ce que quelqu'un le verra?

Non, nous ne partagerons jamais votre numéro de téléphone. Nous en avons seulement besoin pour nous assurer que vous n’êtes pas un espion secret cherchant à infiltrer iFunny un mème à la fois. ,)

Qu'est-ce qu'un compte vérifié?

C’est un signe d’honneur que nous donnons aux comptes au contenu original et dont les contributions à la communauté font d’iFunny un meilleur endroit.

Que faut-il pour devenir vérifié?

Nous examinons les critères suivants lors de la vérification des comptes:

Bon pour rire> Leur contenu est-il drôle?
Cohérence> Sont-ils les utilisateurs principaux de l'application ou ne contribuent-ils qu'occasionnellement?
Originalité> Le compte télécharge-t-il son propre travail ou partage-t-il le travail de tiers?
Influenceur connu> Ont-ils une grande base de fans sur d'autres plateformes ou IRL?

Tout ce qui précède fait partie de notre algorithme de vérification hautement avancé :)

Comment un compte est-il vérifié?

Le meilleur moyen est de vous familiariser avec iFunnyChef ™, sur l'application ou sur Twitter.

Le chef aime vérifier les comptes le samedi. alors laissez un commentaire sur son profil iFunnyChef ™ ou envoyez-lui un Tweet @iFunnyChef ™ avec le tag #verifyMe. Bonne chance!

La vérification est-elle permanente?

Pour l'essentiel, oui!

Il peut être supprimé si un compte vérifié ne respecte pas les directives de la communauté en matière de normes. En plus de suivre nos règles de base, voici les critères que nous utilisons pour évaluer si un compte doit rester vérifié.

  • Ne plus être actif sur l'application
  • Ne plus télécharger le contenu
  • Ne pas conserver le thème ou l'originalité pour laquelle le profil a été vérifié
  • Être toxique ou avoir un impact négatif sur la communauté
  • Harcèlement d'autrui
  • Téléchargement de contenu inapproprié

Ce compte est hilarant. Comment m'inscrire?

Il vous suffit de faire glisser votre doigt vers le bas pour afficher son résumé de travail, cliquez sur la photo du profil de l'utilisateur pour accéder à son profil, puis cliquez sur le bouton "S'abonner". Boom! Vous verrez maintenant leurs derniers téléchargements dans votre flux Abonnements!

Ce compte n'est plus si drôle. Comment puis-je me désabonner?

Vous avez deux options:
1: Ouvrez votre profil et appuyez sur "Abonnements". Vous verrez une liste d'utilisateurs que vous suivez. Appuyez sur l'icône jaune à côté d'une personne à laquelle vous souhaitez vous désabonner.
2: Ouvrez le profil de cette personne et appuyez sur l'icône "Abonné". Vous verrez le changement à "Souscrire".

J'aime vraiment ce travail. Comment puis-je l'enregistrer sur mon appareil?

Pour accéder aux options de partage, appuyez simplement sur l'icône "Partager" dans le coin inférieur droit de l'écran ou appuyez longuement sur l'écran et appuyez sur "Enregistrer" lors de la visualisation d'une œuvre que vous aimez. Le travail sera enregistré dans la galerie de photos standard de votre appareil.

Comment republier un travail?

Appuyez simplement sur l'icône "Partager" ou appuyez longuement sur l'écran, puis appuyez sur "Republier".

J'ai republié une œuvre par accident. Y a-t-il un moyen de le dépublier?

Ouvrez votre profil, trouvez le travail republié que vous souhaitez annuler la republication, touchez l'icône "Partager" dans le coin inférieur droit de l'écran, puis touchez "Republié". L'icône va changer. Retournez à votre profil, et voilà!

Comment puis-je supprimer des commentaires?

Pour supprimer ce commentaire énervé sur une personne postée sur votre travail, maintenez le doigt appuyé sur le commentaire, puis appuyez sur "Supprimer" (ou sur "Supprimer" si c'est votre commentaire).

Puis-je télécharger mes propres vidéos?

Oui, vous pouvez! Cliquez simplement sur l'icône "Ajouter un meme" en bas de votre écran, puis sélectionnez "Vidéo". Vous pouvez partager vos propres vidéos directement depuis votre galerie (jusqu'à 20 secondes / 32 Mo maximum), ou vous pouvez partager des vidéos en utilisant l'URL du travail que vous souhaitez publier!

Filtrez-vous le contenu?

L'équipe iFunny travaille sans relâche pour vous aider à modérer le contenu afin que vous puissiez profiter de l'humour.

Faites quelque chose avec un contenu inapproprié.

Nous améliorons constamment notre filtrage afin de réduire le nombre de contenus inappropriés. Merci pour votre patience

Une image est affreuse! Comment puis-je le signaler?

Nous vous encourageons à signaler un contenu inacceptable. Tout ce que vous avez à faire est d'appuyer sur l'icône "trois points" ou d'appuyer longuement sur l'écran et d'appuyer sur "Rapport" (triangle avec point d'exclamation).

Mes œuvres ne reçoivent aucune vue. Pourquoi

iFunny a des directives que nous devrions tous suivre. Assurez-vous de ne pas enfreindre les règles lorsque vous téléchargez du contenu. Si vous le faites, vos œuvres ne seront pas classées dans les galeries Collective ou Tag. Soyez respectueux envers les autres et vous aurez toujours un public.

Je pense que Chef supprime mes commentaires. Pourquoi

Le chef ne le fait pas. Respectez les règles et souvenez-vous de traiter les autres de la manière dont vous souhaitez être traité. "Faites attention à vos paroles. Une fois qu'elles sont dites, elles ne peuvent être que pardonnées, pas oubliées."

Les employés iFunny et les modérateurs de communauté surveillent l'activité des utilisateurs et signalent les téléchargements, les profils et les commentaires afin de s'assurer que leur comportement est conforme aux conditions d'utilisation d'iFunny et aux directives de la communauté (CSG).

Les comptes et le contenu enfreignant les règles de sécurité et le CSG sont soumis à une exécution

Pour mettre en vigueur les ToU & CSG, les employés iFunny et les modérateurs de communauté peuvent, sans préavis.

  • Supprimer les téléchargements et les commentaires
  • Interdire comptes et appareils

Quand les téléchargements et les commentaires sont-ils supprimés?

  • Les employés de iFunny surveillent les envois et les commentaires signalés et peuvent les supprimer s'ils violent le ToU et le CSG.
  • Les modérateurs de communauté peuvent supprimer les ajouts et les commentaires lorsqu'ils rencontrent des éléments violant les ToU & CSG dans l'application.

Déclencheurs d'interdiction primaire

Les employés de iFunny et les modérateurs de la communauté surveillent l'activité des utilisateurs pour supprimer le comportement toxique suivant de la communauté. Pour une liste complète, consultez la ToU & CSG.

  • Pornographie photographique et exploitation d'enfants Contenu qui contient un enfant mineur, réel ou illustré, dans un acte sexuel, une pose, une nudité, un état de déshabillage, des sous-vêtements / des maillots de bain et une manière sexuellement provocatrice.
  • Contenu gore qui contient des actes d'automutilation sanglants, des blessures graves et la mort d'une personne ou d'un animal.
  • Spam Contenu faisant la promotion d’URL ou dirigés vers une application, des services ou des produits tiers.
  • Partage d'informations personnelles Contenu ou commentaires contenant des informations personnelles telles que (sans toutefois s'y limiter) les numéros de téléphone, adresses IP, e-mails, sites et photos non autorisées.
  • Harcèlement Contenu ou commentaires qui distinguent un utilisateur. Cela comprend la menace de doxx ou d'encourager les utilisateurs à s'automutiler.
  • Objectivation de personnes réelles Uploads sollicitant des abonnés pour envoyer des photos à évaluer

Quand les comptes et les appareils sont-ils bannis?

  • Les comptes peuvent être interdits lorsque
    • La focalisation de l'activité de l'utilisateur enfreint la ToU ou le CSG.
    • Un compte enfreint à plusieurs reprises ToU ou CSG sur une courte période.
  • Les appareils seront interdits lorsqu'un compte est consacré à des infractions spécifiques, telles que
    • Exploration des enfants
    • Partage d'informations personnelles
    • Harcèlement extrême et cyberintimidation

Que se passe-t-il lorsqu'un compte est banni?

  • Toutes les interdictions sont confirmées à un examen secondaire par un employé iFunny. Ils examineront tous les ajouts et commentaires faits par le compte afin de déterminer si l'interdiction a été légitimement prononcée.
    • Les comptes ayant téléchargé du contenu comportant les éléments suivants, sans toutefois s'y limiter, ne sont pas autorisés à rétablir leur compte:
      • Exploration des enfants
      • Partage d'informations personnelles
      • Objectiver des personnes réelles
    • Les comptes interdits pour d'autres déclencheurs peuvent être rétablis.
  • Pour contacter iFunny à propos du statut d'un compte banni, veuillez envoyer un courrier électronique à [email protected]

Comment puis-je commencer à discuter?

Se lancer est facile! Cliquez simplement sur Profil - Chatter et sélectionnez la bulle jaune "Démarrer la messagerie". Entrez votre numéro de téléphone pour vérifier si vous êtes bien, et une fois que vous avez reçu et entré le code SMS, vous êtes prêt à partir!

Comment puis-je changer qui peut et ne peut pas discuter avec moi?

Il suffit d'aller dans votre profil et cliquez sur l'icône Options située en haut à droite de votre écran, puis cliquez sur Paramètres - Confidentialité. Vous avez le choix de changer qui peut discuter avec vous!
1: Tous les utilisateurs - N'importe qui peut vous démobiliser et vous ajouter à des discussions de groupe.
2: Amis uniquement - Seuls les utilisateurs auxquels vous êtes abonné peuvent vous enregistrer et vous ajouter à des discussions de groupe.
3: Personne - Eh bien ... c'est explicite.

Comment déconnecter mon numéro de téléphone?

Il n'est pas encore possible de supprimer complètement un numéro de téléphone de votre compte, mais nous envisagerons d'ajouter une telle fonctionnalité à l'avenir. Pour le moment, vous pouvez saisir un autre numéro dans le compte que vous ne souhaitez pas associer à votre numéro de téléphone principal. Votre numéro sera alors disponible pour être utilisé sur un autre compte.

Quelqu'un envoie du contenu inapproprié dans le chat, que dois-je faire?

Deux options sont disponibles si un autre utilisateur envoie du contenu que vous jugez inapproprié.
1: Bloquer - Cliquez simplement sur la photo de profil de l'utilisateur que vous souhaitez bloquer. Une fois sur leur profil, cliquez sur les "trois points" en haut à droite de votre écran et sélectionnez "Bloquer". L'utilisateur et son contenu seront désormais masqués.
2: Suppression - L’administrateur d’une discussion peut supprimer n’importe quel utilisateur à tout moment. Cliquez simplement sur le nom du chat en haut de l'écran, puis cliquez sur "Membres". Faites défiler la liste jusqu'à ce que le nom de l'utilisateur que vous souhaitez supprimer apparaisse, puis appuyez longuement sur jusqu'à ce que l'option "Supprimer du groupe" apparaisse. Une fois que vous cliquez dessus, l'utilisateur est maintenant séparé de cette discussion de groupe.

Comment mon travail peut-il apparaître dans la section "Sélection"?

iFunny est une application basée sur la communauté dans laquelle les utilisateurs décident quels matériaux sont amusants en utilisant un système "smile". Ce n’est qu’après cela que nos rédacteurs sélectionnent les meilleures œuvres à la fois et les incluent dans la section "À la une".
Il s'agit plus de la qualité de la blague que du nombre de sourires.

Les mêmes utilisateurs sont présentés encore et encore.

Eh bien, ce n'est pas vrai. Plus de soixante-deux mille utilisateurs ont été présentés jusqu'à présent et vous avez toutes les chances.

Je suis toujours convaincu que les utilisateurs "populaires" sont les seuls à avoir jamais été présentés.

Comme nous l’avons déjà dit, un utilisateur «populaire» n’existe pas, vous êtes tous populaires à nos yeux. L’équipe Featuring passe chaque heure éveillée à la recherche de Collective, qui essaie de donner à chaque utilisateur son premier long métrage, afin que tous aient la même chance de présenter leur travail.

Puis-je soudoyer iFunny avec l'équipe pour qu'elle soit en vedette?

Absolument pas. Nous avons des principes forts. (Sauf s’il s’agit d’une offre, nous ne pouvons pas refuser. Ou si vous êtes Joseph Gordon-Levitt).

Combien de personnes travaillent pour iFunny?

300. Nous sommes comme les Spartans (sauf que nous sommes meilleurs).

À propos d'iFunny

iFunny est l'une des applications de divertissement les plus populaires au monde, disponible sur l'AppStore et Google Play. L'application permet aux utilisateurs de visualiser et de télécharger des photos amusantes, des vidéos et des GIF. Créé par Flysoft et lancé le 1er avril 2011.

Aujourd'hui, l'application offre des centaines de milliers de photos et de vidéos amusantes à des millions d'utilisateurs aux États-Unis et dans d'autres pays du monde. Le public cible de l'application est constitué des adolescents et de tous ceux qui se sentent jeunes.

L'application figurait parmi les 100 applications les plus téléchargées par l'AppStore en 2013, dans le top 10 des applications pour la jeunesse les plus populaires aux États-Unis et parmi les meilleures parmi les applications de divertissement les plus utilisées sur la plate-forme Android.

«Notre objectif est de rendre le monde plus amusant. Notre produit a toujours été et restera gratuit pour l'utilisateur. Sa monétisation est due au fait que nous partageons l'attention de nos utilisateurs. Jusqu'à présent, le marché principal de notre application est l'Amérique, mais notre objectif est de la rendre disponible partout dans le monde ", a déclaré Vladimir Zakoulov.

Les applications mobiles constituent aujourd'hui l'un des domaines informatiques les plus compétitifs, où le développement progresse rapidement et la concurrence augmente chaque jour.

Jusqu'en 2013, la société utilisait une infrastructure informatique standard avec des serveurs de fournisseurs d'hébergement dédiés pour assurer le fonctionnement de son application.

«L’application a évolué et s’est développée, et nous n’avons pas du tout été satisfaits de la rapidité de déploiement de nouveaux serveurs. Le processus d’allocation des ressources et de planification de la capacité a pris beaucoup de temps. Pour certains types de serveurs, le temps d'attente a atteint plusieurs semaines. Dans le cadre du développement rapide et de la participation active des utilisateurs, il est plutôt difficile de prévoir quelque chose à l’avance. Nous devions évoluer rapidement et les technologies cloud étaient les meilleures. Elles nous ont séduits par leur simplicité, leur accessibilité, leur rapidité d'utilisation et leur connexion. D'un point de vue financier, les solutions cloud nous ont également aidés à économiser », a déclaré Roman Squage, architecte de systèmes senior chez iFunny.

La société avait besoin de la mise à l’échelle automatique, car les spécificités de l’application sont que les principaux pics de charge surviennent à 10 heures et à 18 heures, au moment de la publication d’une nouvelle version du contenu de divertissement.

«De nombreuses applications et services essaient de répartir la charge, mais au contraire, nous nous assurons qu’une vague d’utilisateurs arrive immédiatement, de sorte qu’ils aient l’impression qu’ils sont nombreux, commentant, communiquant. Par conséquent, pour nous, la capacité à évoluer de manière flexible était une priorité absolue », déclare Roman Skvazh.

Pourquoi les services web amazon

«Notre tâche consistait à évoluer de manière flexible et Amazon Web Services nous a proposé des solutions qui nous aident à le faire efficacement, de manière flexible et rapide, et nous permettent de nous concentrer sur notre mission consistant à divertir les utilisateurs, à développer de nouveaux compléments d'applications et à ne pas perdre de temps en processus d'infrastructure», - dit Roman Svizh, architecte système principal chez iFunny.

La société recherchait un partenaire fiable, c'est pourquoi AWS a été choisi comme l'un des principaux acteurs du marché des solutions de cloud computing.

La société a commencé à connaître AWS avec Amazon Simple Storage Service (Amazon S3), qui est facile à utiliser et doté d’une interface Web simple. Il vous permet de stocker et de recevoir toute quantité de données à partir de n’importe où sur le réseau.

«Amazon S3 vous permet de ne payer que pour le volume utilisé. C'était pratique. Nous avons examiné de plus près et réalisé que nous voulions transférer l'ensemble de notre structure vers Amazon », déclare Roman Skvazh.

La transition vers AWS a commencé en novembre 2013 et s'est achevée dans les délais, soit environ un mois.

«Tout d’abord, nous avons décrit l’ensemble de l’infrastructure actuelle et identifié les éléments à migrer, déterminant ainsi l’ordre de migration. Après cela, des listes de contrôle ont été créées. La migration elle-même a commencé avec la création et la configuration d'Amazon Virtual Private Cloud (Amazon VPC) du côté AWS, et a été prise en grande partie par la migration des données Cassandra et MongoDB. Nous avons utilisé le kit SDK AWS pour automatiser la création d'instances et la configuration AWS générale. L’ensemble du processus s’est déroulé sans heurts, nous n’avions même pas besoin d’utiliser le service de support AWS », déclare Dmitry Krivonogov, administrateur système senior d’iFunny.

Aujourd'hui, toute l'infrastructure - l'application iFunny, le site Web et le système de gestion de contenu - repose uniquement sur des services AWS tels que Amazon Elastic Cloud Compute (Amazon EC2), Amazon Elasticache, Amazon S3, Amazon Simple Queue Service (Amazon SQS), Amazon Route53, VPC, Amazon CloudWatch, Amazon CloudFront, Amazon Simple Notification Service (Amazon SNS).

Dans le produit lui-même, la société utilise des technologies telles que Linux, PHP pour l'API, Java pour les notifications rapides (> 1 million par minute), Node.js pour le site, MongoDb pour le stockage et Cassandra pour le flux de notification et les "j'aime".

Les avantages

Les avantages de travailler avec AWS ont permis à l'entreprise de rationaliser et d'améliorer considérablement les flux de travail. Au sein de l'entreprise, cela a également créé un environnement plus favorable au développement et à l'innovation, grâce aux outils dont ils disposent. Le temps passé à la maintenance a été réduit à plusieurs reprises et l'équipe des administrateurs système a pu consacrer plus de temps au projet lui-même, plutôt qu'à la prise en charge du serveur et à la virtualisation.

"Auparavant, il nous fallait entre 4 jours et un mois pour connecter des serveurs supplémentaires. Cela prend maintenant plusieurs minutes. Tout fonctionne automatiquement et est tellement coordonné que malgré le fait que l'application évolue constamment, nous n'avons besoin que de deux administrateurs système pour maintenir l'infrastructure. Si nous respections les solutions standard, comme auparavant, le personnel serait trois fois plus nombreux ", explique Vladimir Zakoulov.

Les solutions Amazon Web Services ont également permis à l'entreprise de réduire les coûts d'infrastructure d'environ 20%. Cela a été facilité par l'utilisation d'instances réservées et la planification de la capacité lorsque cela était possible.

«Aux heures de pointe, à 10 heures et à 18 heures, alors que plus d'un million de personnes utilisent l'application en même temps, nous ajoutons de la puissance et désactivons les instances lorsque la charge baisse. et la possibilité d'une expansion immédiate du cluster backend aux heures de pointe. Je tiens à souligner que le temps de retard a été réduit d'environ 2 fois pour les utilisateurs européens. Nous avons également obtenu une plus grande tolérance aux pannes grâce à la duplication. Ia capacité et réduit le nombre de points de défaillance ont augmenté notre accessibilité par l'utilisation de plusieurs az et multirégional infrastructure AWS peut dire que notre application est devenue une fois et demie plus abordable « - .. Le roman raconte un forage.

En ce qui concerne un produit en développement dynamique, la sécurité du travail et sa stabilité sont également importantes pour iFunny.

«Avec AWS, nous avons reçu et utilisé des VPC. Avant cela, négocier avec un fournisseur d’hébergement sur un tel service posait toujours problème. Nous utilisons des VPC pour bloquer l’accès aux instances externes et nos employés accèdent facilement à l’Intranet via un réseau privé virtuel. Dans cette situation, nous sommes sûrs que Les cyberattaques et les menaces informatiques ne nous font pas peur », déclare Roman Skvazh.

Tous ces avantages permettent à l'entreprise de réaliser sa mission, rendant l'application encore plus attrayante pour les utilisateurs. Aujourd'hui, la société est satisfaite de ses principaux indicateurs - la croissance de l'audience et son implication dans l'application.

S'agissant des projets d'avenir, les développeurs d'iFunny prévoient de développer davantage l'utilisation des services cloud AWS, ce qui lui permettra de réagir plus rapidement aux changements du marché et à un nombre croissant d'utilisateurs.

"Tout ce que nous faisons, nous le faisons pour le rendre amusant. Avant, nous devions souvent nous fâcher lorsque quelque chose n'allait pas. Aujourd'hui, nous avons le temps de rire", a résumé Vladimir Zakoulov au résultat de sa coopération avec AWS.

Quelques introductions sur l'équipe et le produit

La colonne vertébrale de l’équipe formée en tant qu’étudiants en 2004 à Penza. Pendant de nombreuses années, ils ont fait quelque chose de mobile et, en règle générale, amusant. En 2010, nous avons lancé AyDaPrikol - l'application iOS pour la visualisation d'images amusantes. Sans investissements spéciaux, il atteint le public de la Russie et de la CEI.

«Pourquoi pas?» - nous pensons et déjà en 2011, nous élaborons une version pour le marché nord-américain. Au cours des 12 premiers mois, plus de 3 millions de personnes ont téléchargé iFunny sur l'App Store et Google Play. Dans 5 ans, le produit deviendra un média social divertissant à part entière très populaire aux États-Unis (DAU = 3,5 millions d'euros).

La majeure partie de l'auditoire reste les utilisateurs d'applications iOS et Android. Toutes les fonctionnalités sont disponibles ici. Mais la version Web rattrape progressivement l’application, à la fois en termes d’audience et de contenu. Chaque jour, les utilisateurs publient environ 400 000 mèmes dans iFunny et en consultent plus de 600 millions.

Vous entendez souvent: «Ce qui est si compliqué, un dépliant ordinaire de photos. Est-ce vraiment impossible de le faire après le travail? »Cependant, outre la mise en œuvre d'une logique métier délicate (dans notre cas, la logique de divertissement), il s'agit également d'un défi technique sérieux. Ici, par exemple, vous devez traiter:

Dans la toute première version, cet article faisait 22 pages: ils rassemblaient tout ce dont ils venaient de se souvenir. Ensuite, ils ont décidé que ce serait un autre fichier, seulement maintenant sur Habré, et ont choisi le plus caractéristique: confusion avec les stockages, erreurs de calcul de DAU, jeu BDSM avec Mongo, spécificités du public. Et une petite intrigue: nous avons réuni Trump et Poutine alors que ce n'était pas encore courant.

Projet Highload

Avant iFunny, nous avions beaucoup de projets, mais pas un avec le préfixe highload. Le plus impressionnant a été la fréquentation quotidienne de 100 000 visiteurs uniques. Tout s'est passé trop brusquement ici. Nous ne pouvions pas faire face à la charge et à la quantité de données, nous avons donc régulièrement changé les hébergeurs ou les technologies.

Cela ressemblait à ceci:

Chaque déménagement était dû à ses propres raisons: quelque part, il coûtait cher, quelque part, il manquait de fonctionnalités et quelque part, comme dans le cas de Hetzner, l’hébergeur lui-même était obligé de fuir. Nous étions un voisin plutôt dysfonctionnel qui est régulièrement battu et jeté avec des plaintes justifiées sur les seins / la chatte des utilisateurs et autres dissections.

Comme vous avez pu le constater, nous avons surtout réussi à courir du fer aux nuages ​​et inversement. Nous parlerons de l'affaire avec le «dos».

Évasion d'obstacle

Tout développeur normal commencerait à penser à changer l’architecture, le sharding, mais une fois encore, nous avons pris le chemin de la moindre résistance, c’est-à-dire de la mise à l’échelle verticale. La première chose qu'ils ont enlevée de MySQL dans Ovh. Производительность возросла, потому что это всё-таки железо, а не виртуализация, у которой есть небольшой оверхэд и куча нюансов с дисковым I/O. При этом железо взяли мощное — 8-ми ядерный Xeon, 24 ГБ оперативки и 300 ГБ SSD, а по деньгам вышло дешевле AWS.

Позже вскрылся интересный факт. Когда копались в логах, заметили русский IP, который воровал контент, посылая 50 запросов в секунду. Это создавало большую нагрузку на API-бэкенды, особенно на MySQL. Именно эти запросы стали одной из причин стремительного бегства на OVH. После того как мы всё это дело отфильтровали, базе данных стало ещё легче, только уже раза в три.
Расстроились тогда не сильно, потому что 50 реквестов в секунду могли бы и за пару недель набежать с новыми пользователями. Но отомстить решили, потому что выкачка шла уж очень жёсткими методами и большими страницами. Отдали в ответку вместо картинок 700-мегабайтный дистрибутив Убунты, замаскированный под jpeg. Не жалеем — были очень злы. Это сейчас при пиковых 15000 RPS можно только посмеяться над “проблемными” 50, но тогда это было существенно.

В итоге радовались мощностям OVH недолго. Спустя год после переезда у них возникли проблемы с оперативным предоставлением новых серверов. Задержка доходила до месяца и это просто по велению их основателя. Мы же продолжали расти и от такой политики серьёзно пострадали. Вернулись всем составом на AWS, где уже есть проверенные решения, SaaS продукты, а главное — гибкость. Пусть там суровый enterprise делает capacity planning, а мы пойдём писать код. И теперь всё больше понимаем, что если бы не облака и SSD на первых порах — нас бы вообще не существовало. Как и этой статьи.

Сейчас стараемся по максимуму использовать managed-сервисы AWS: S3, Redshift, ELB, Route 53, CloudFront, ElasticMapReduce, Elastic Beanstalk. Для небольшой команды это выход, работается эффективнее. Но это совсем не означает, что можно с помощью волшебной технологии решить проблему. Тот же Redshift мы уже копнули глубоко: пришлось основательно изучать потроха. Поэтому всё это, как и NoSQL, точно не серебряная пуля. Нужно разбираться в мелочах.

Быстрый рост

Всё тот же 2012 год. В период смуты и шатания в технологиях у нас всё хорошо с ростом: ТОР-3 в App Store и взлёт дневной посещаемости.

Но как известно, любая смута порождает парочку Лжедмитриев. Мы же столкнулись с двумя случаями ЛжеDAU.

Первый скачок.
Неожиданно за 2 дня получаем подозрительные +300 тысяч: 2200K превратились в 2500K.

Причину выяснили быстро. iFunny можно пользоваться анонимно, не регистрируясь. Такие юзеры тоже учитываются. Этим и воспользовался некто, расковырявший наше API. Просто слал запросы, подставляя рандомные идентификаторы, которые мы и посчитали.

Как только мы перенесли базу на OVH и она перестала тормозить, у нас подскочило DAU. Мы на радостях подумали, что UX — это вам не шутки. Приложение стало работать быстрее и всё сразу начали им пользоваться. Поэтому мы с ещё большим энтузиазмом стали готовиться к первоапрельскому корпоративу — рекорд же. Но увы, это был не рекорд, а период затянувшегося на пару недель переезда приложения с AWS на OVH. Там оно должно было встретиться с базой данных и зажить вместе с ней долго и счастливо. Эта нестыковка выявила некорректный подсчёт DAU в MySQL. Умные парни считали бы по access-логам, а мы зачем-то делали неатомарные запросы вида “если в этот день юзер ещё не заходил, то сделай +1 к счетчику” на каждое действие пользователя. В итоге чем дольше длились эти запросы к базе, тем больше становилось DAU из-за параллельных запросов. :facepalm:

Перенесли регистрацию и подсчёт DAU в Redis в обычный Sorted Set — проблему это решило. Нам понравился такой паттерн, но за три года мы превратили код в лапшу из подсчёта метрик в Redis. В 2016 внедрили сбор серверных и клиентских событий посредством fluentd + S3 + Redshift. Это избавило нас от спагетти в коде. О том, как это происходило, нужно писать отдельный пост. И даже не один.

Redis-Господин

Со временем стал подводить Redis, с которым раньше проблем не было. Пик проблем приходился на ночь. Он просто становился недоступен из PHP, и всё сразу ложилось, поскольку почти на каждый HTTP-реквест нам надо было ходить к нему.

Начинаем разбираться: смотрим на Redis-процесс, расчехляем strace, а там “Too many open files”. Оказывается, у нас лимит в 1024 соединения, на который не влияет параметр maxclients. Запускаем с ulimit -n 60000 — максимальное кол-во соединений поднимается только до 10240 и не больше. Тут раскопали удивительную вещь: в Redis 2.4 и старше стоял hard limit на 10240 соединений. Через пару дней поставили Redis версии 2.6 RC5, включили persistent соединения к нему и вздохнули с облегчением, зная, что теперь-то нам точно хватит дескрипторов.

Командный рост у нас начнётся только в 2013-14 годах. Помимо QA, сформируется команда DevOps, укомплектуется бэкенд и фронтенд. В мобильной разработке по трое девелоперов на iOS и Android. Но на самых ранних этапах так и оставалось полтора человека. D'où le manque de ressources, le manque de sommeil dû aux différences de temps et à la négligence banale. Et j'ai dû faire beaucoup de choses. Par exemple, refaites l'API plusieurs fois ou réécrivez complètement le code sur le backend pour qu'il fonctionne avec MongoDB. Bien que beaucoup ne le considèrent pas comme une base de données normale.

Qui s’inspire d’où, et vous chez YouPorn. Highscalability a constaté que Redis était le principal entrepôt de données dans les cercles étroits. Bien sûr, il est effrayant de tout garder en RAM, cela nécessitera des solutions architecturales complexes. Mais si YouPorn est déjà sur Redis, ne pouvons-nous pas faire face à MongoDB?

Oui, parfois c'était bien d'être avec elle, mais le plus souvent elle faisait un atat avec un fouet et insérait un bâillon. Ce roman continue à ce jour, mais alors, dans le statut du premier homme, nous avons eu beaucoup de crises de colère et d’écoles sur nous-mêmes.

La justification de tout était nette et, bien sûr, exagérée. Dans notre cas, c’était pratique, car nous étions paresseux et ne voulions pas écrire du code supplémentaire et régler les problèmes d’équilibrage des données. De retour à MongoDB, nous avons été attirés par les mises à jour sur place, les documents sans schéma et incorporés. Cela nous a fait réfléchir à une approche pour concevoir une structure de données dans des services très chargés. Ainsi a commencé la réécriture et la migration de MySQL. C'est vers la mi-2012 et nous avons commencé à utiliser MongoDB 2.0.

Le mauvais signe qui anticipait toutes nos épreuves futures était déjà au tout début. Une erreur a été commise lors du processus de réécriture. Le fait est que tout mème versé dans iFunny peut être interdit: cela nécessite un certain nombre de plaintes. Nous avons défini les seuils dans MongoDB et, lorsque nous les avons mis en service, ils ont continué à être lus à partir de MySQL. Ils étaient presque nuls et une ou deux plaintes suffisaient pour interdire le travail. Et étant donné nos trolls ... 4000 mèmes sélectionnés ont disparu de Featured. Tout a été réparé en une journée, mais il y avait une situation pleine de drame selon notre négligence banale.

Après 5 mois de réécriture du code, dans mon temps libre pour éteindre les incendies, le jour de la grande migration est arrivé et a immédiatement échoué: MongoDB ne pouvait pas supporter la charge. Parce qu'ils ont oublié de lancer beaucoup d'indices. Parce qu'un tas de bugs ont été créés. Le pilote brut MongoDB-PHP a aggravé la situation en raison de fuites de mémoire et de problèmes avec les scripts forkés. Qui a parlé des tests? Il n'y avait aucun test à ce moment-là, mais nous n'avons pas le temps - nous voyons de nouvelles fonctionnalités et sommes immédiatement en production.

Ce jour-là, nos utilisateurs, dans l'espoir de rire au moins quelque part, ont fait irruption dans les ressources de 9GAG et les ont posées en toute sécurité. Au moins une joie.

La différence de temps a également posé des problèmes: quand aux États-Unis le plus d'activité - nous avons une nuit. Et voici comment nous avons regardé le lendemain matin, quand nous avons dû nous coucher:

Deux semaines de travail laborieux et nous avons décidé de tenter une deuxième fois. Tout s'est bien passé, presque parfaitement. Il était entendu que sans répliques et tessons, nous n'irions pas loin, et avec MongoDB, il était facile à manœuvrer.

Tout allait bien jusqu'à ce qu'il atteigne sa charge maximale. La base ne pouvait pas supporter l'afflux d'utilisateurs la nuit et nous nous sommes allongés. Dans le même temps, les raisons des freins n'étaient pas claires - CPU ou IO, les périphériques ne parlaient pas vraiment de rien. Après les nuits blanches, avec l'aide du bon Samaritain, il existe une source de problèmes: l'allocateur de mémoire standard de MongoDB ne fonctionne pas bien sous notre charge. En conséquence, nous avons remplacé le allocateur par tcmalloc et avons commencé à attendre la nuit. Voilà, la charge est tombée 3 fois et nous avons parfois commencé à dormir la nuit. Ensuite, nous avons réalisé quelque chose d’important: les gens écrivent aussi des bases de données. Dans la prochaine version, les développeurs de MongoDB 2.6 ont commencé à inclure tcmalloc dans la distribution par défaut.

Pendant tout ce temps, notre soutien a récolté de nombreuses plaintes à propos de l'application:

Apparemment, nous avons eu une situation unique. Une fois encore, il a été confirmé que peu de personnes sont confrontées à une charge aussi élevée. Ou bien reformuler autrement: nous sommes les seuls à utiliser de telles technologies avec une telle charge et, en principe, nous admettons qu’elles peuvent aller sur un nœud.

Si vous remontez dans le temps et décidez à nouveau si vous souhaitez migrer vers MongoDB, la réponse sera sans équivoque: en tant que stockage principal - inutile. À présent, le travail sur les bogues ressemblerait à ceci: commencez par vous débarrasser des jointures, faites du sharding avec des fragments virtuels, prenez les compteurs quelque part et lisez-les de manière asynchrone, et utilisez sans schéma quelque chose comme jsonb de PostgreSQL. Qui sait, peut-être que nous allons migrer à nouveau. Nous ne promettons pas.

Le public de l'application humoristique a un énorme avantage - vous pouvez rire de tout. Par exemple, sur la façon dont nos serveurs tombent:

En outre, personne ne se préoccupe d'organiser un vote pour le titre «Meilleure application pour toilettes»:

Nous recevons souvent des lettres de gratitude pour le fait que l'application aide à faire face à la dépression. L'humour guérit:

Tout cela nous concerne directement.
La première fois après le lancement du mariage technique iFunny était tellement que les utilisateurs surnommaient les singes de l'équipe de développement. Nous ne nions pas. Jetez un coup d'œil au logo FunCorp.

Mais il y a un autre côté.
Tout d'abord, il y a beaucoup d'utilisateurs. La moindre erreur - et le support est surchargé.
Deuxièmement, ils veulent s’affirmer. Dans l'ordre des choses, organisez un raid sur le contenu et tout le reste.

Votre API ne fonctionne pas ici

Nos méthodes API ont cessé de fonctionner. Les plaintes ont plu. Il y avait beaucoup d'hypothèses, on a même pensé au blocage par les réseaux cellulaires. Mais lorsqu'un nombre suffisant de plaintes d'utilisateurs ont été collectées, nous avons pu trouver un modèle. C'étaient des iPhones de jailbreak. Ensuite, il était à la mode de supprimer la protection et de mettre en œuvre vos propres modifications avec vos propres polices et d’autres petites choses. Beaucoup, surtout les adolescents, étaient amusés et aidaient à se démarquer. Nous étions allergiques à l'un de ces réglages: il a intercepté les requêtes HTTP sortantes et en a supprimé certains en-têtes avant de les envoyer au serveur. Ils ont commencé à avertir les utilisateurs des problèmes liés à des réglages spécifiques, et nous nous sommes séparés.

Nous n’avons même pas pensé à de telles nuances, mais un large public fait son travail. Maintenant, nous ne nous rappelons plus combien il y en avait, 10 ou 50 000. En ce qui concerne l'ensemble de l'application, il s'agit d'une minuscule, mais pour le support ... vous avez déjà vu à quoi ça ressemble.

Conclusion: la réputation en souffre, même si vous n'êtes pas krivoruky. Au cours de notre longue expérience de développement, nous avons rencontré des bugs et des accidents pour tous, de Flurry à AWS en passant par Apple et Google. Cela a nui à la fois à notre réputation d’utilisateur et à DAU.

146% peuvent organiser non seulement Churov

IFunny a une application web pour voter. Les stars se sont donc réunies pour dire qu'en raison du manque de temps pour le back-end et du désir du front-end d'écrire le code du back-end, le vote s'est avéré non atomique. La mise à jour du nombre de votes est passée par l’incrément habituel du champ dans le code et, pour la base, il s’agit d’une lecture-avant-écriture sans verrous. Il y avait un décalage dans les meilleures traditions des élections russes. Les utilisateurs, bien sûr, nous suivent. Peut-être ont-ils même pensé que cela avait été fait exprès. Mais seulement sur Habré, nous dirons toute la vérité.

Les preuves de la honte n'ont pas survécu, mais des commentaires éloquents ont survécu:

Lors du prochain vote, tout était déjà bien, mais si vous le recomptez dans notre style, vous pouvez en conclure que Trump, qui a reçu 48% des voix, aurait perdu près de 2,5 fois contre Poutine.

Banale négligence

Vous collectez, collectez des utilisateurs, vous les engagez, joyeusement joyeux, puis vous oubliez quelques petites choses, et c’est tout. Il n'y en a pas. Nous avons filmé le public de nos propres mains il y a 2 ans.
Prise en charge des badges pour l'application Android. En 2015, ils ne sont apparus que chez Samsung. Notification était cool et pas ennuyeux. Après un certain temps, les badges ont éclaté et personne n'a rien remarqué. Quelques mois plus tard, l'un des produits l'a remarqué. Nous avons tout corrigé et ajouté 120K à la DAU.

Il s'avère que tout le monde doit être plus attentif: le contrôle qualité, les produits et les développeurs. Et à vous Oui, oui - à toi. Maintenant, vous lisez ce longrid, et entre temps, quelque chose se brise quelque part. Ne soyez pas comme nous, allez y faire un tour.

Et nous renouvelons le blog sur Habré, où nous partagerons des histoires anciennes et nouvelles.
En 2013, nous n'avions qu'un seul article sur l'optimisation de l'animation To Gif or not to Gif. Au fil des ans, je voudrais parler de nombreuses choses intéressantes: AWS, NoSQL, iOS, Android, mathématiques sur bandes, Big Data, pré-modération du contenu, spam. Parfois, ce n’est même pas un échec, mais de bonnes décisions et pour chacun, il ya toute une montagne de mèmes. Par conséquent, plus d'humour dans la vie, parce que Fun Happens :)

IFunny :) l'équipe a épinglé post
IFunny :) l'équipe a épinglé post

Exposition anniversaire #FunCorpLab - Tesla Model S P90D.

0-100 km / h en 2.8 secondes - de ce que vous avez besoin pour nos routes :)

IFunny :) l'équipe a épinglé post

Amis, nous avons deux nouvelles pour vous: bonnes et étonnantes.

Bon - iFunny a exactement 5 ans aujourd'hui.
Incroyable - nous rejoignons FunCorp.

IFunny :) l'équipe a épinglé post

Regarde la vidéo: Two examples for each of Amazons 14 Leadership Principles (Octobre 2020).

Pin
Send
Share
Send
Send