Développez sur le cloud, une application de préparation d’examens, web et serverless, grâce à AWS Lambda
Découvrir et expérimenter les architectures de demain. AWS Lambda et frameworks serverless seront au menu !

Missions

  • Développer avec AWS Lambda et un framework serverless une application web moderne permettant de faciliter la formation pour les consultants.
  • Appréhender le concept d’application « serverless » à travers AWS Lambda et ses nouveaux frameworks.
  • Découvrir la plateforme AWS, ses nombreux services managés et évaluer le service Lambda.
  • Synthétiser les enseignements retenus de cette expérimentation sur l’architecture serverless pour le présenter à la communauté OCTO

Conditions

Type de stage : Stage de fin d'études (pré-embauche).
Lieu : 34, avenue de l'Opéra 75002 Paris
Rémunération : 1500 € bruts
Date : Début 2017

Profil

  • Vous êtes Bac +5 (école d'ingénieur ou université) et vous cherchez un stage de fin d'études ?
  • Vous êtes autonome, curieux(se) et prêt(e) à prendre des initiatives ?
  • Vous avez une réelle appétence pour les nouvelles technologies.
  • Une expérience sur AWS est un plus mais n’est pas un pré-requis pour ce stage.

Contexte

Pour faciliter la vie des consultants qui veulent se former sur une technologie, se préparer à une certification ou un autre examen, nous souhaitons construire une application leur permettant de s'entraîner sur un corpus de questions OCTO, de le partager et de l’enrichir collaborativement.

Cette application web sera hébergée sur le cloud AWS suivant une architecture “serverless”. Ce type d’architecture consiste à n’utiliser que des services “managés” où la notion de serveur est totalement abstraite. Ce type d’architecture encore très peu répandu permet de tirer pleinement partie du cloud, de sa facturation à l’usage et de sa capacité à résister à une grande variation de charge utilisateur.

A travers ce stage tu pourras faire grandir OCTO sur le sujet de l’architecture serverless et découvrir avec nous ses avantages et ses limites ainsi que différents frameworks (comme serverless) permettant de faciliter sa mise en oeuvre.

Le développement de cette application web a deux objectifs : apporter un outil concret pour former les OCTO et expérimenter une nouvelle architecture applicative.

L’architecture serverless fait de plus en plus parler d’elle dans le monde du cloud computing. Elle consiste à tirer entièrement partie des services du cloud. Elle fait disparaître entièrement la notion de machine de l’architecture applicative et à fortiori de son pricing.

Serverless remet également en question la méthode de développement. Comment packager, versionner, tester sur un runtime qui n’existe que dans le cloud ? Comment gérer les dépendances entre des milliers de fonctions ?

Pour répondre à cette disruption, les frameworks serverless font peu à peu leur apparition visant à faciliter développement, déploiement et test d’applications serverless. Parmi eux on compte le framework éponyme serverless, claudiajs, apex.run ou encore zappa.

Outre le développement de l’application, le second objectif du stage - au moins aussi important - sera d’apporter des réponses à ces différentes questions à travers le développement d’une application web de préparation d’examens certifiant. A l’arrivée du stagiaire, la stack technique aura été déterminée et le backlog de fonctionnalités à développer aura été rempli.
Le stagiaire devra dans un premier temps se documenter sur le serverless et les frameworks associés. Il pourra s’appuyer sur sur des choix techniques réalisés au préalable, notamment concernant le choix du framework serverless, ou, si ses raisons sont argumentées, les remettre en cause. Au cours du stage, les encadrants évalueront régulièrement avec le stagiaire les difficultés (ou facilités) particulières rencontrées lors du développement et l’aideront en fonction de ses besoins.


Objectifs du stage


Etape 1 : découvrir les frameworks serverless

Après s’être familiarisé avec la plateforme AWS, il s’agira ici de faire un tour d’horizon des principaux frameworks serverless en se focalisant plus particulièrement sur celui retenu par vos encadrants. En les analysant et les comparant, vous obtiendrez une vue d’ensemble de leurs capacités, avantages et inconvénients. Un tour du marché vous permettra également de mettre des projets concrets existants en regard de ces frameworks.

Etape 2 : conception et réalisation d’une application web serverless

En se basant sur le backlog de fonctionnalités réalisé en amont par vos encadrants, vous déterminerez ensemble le découpage technique de l’application en respectant une approche serverless, c’est à dire en n’utilisant que des services managés du Cloud AWS.
Une fois l’architecture revue vous débuterez l’implémentation de l’application dans une approche itérative et incrémentale, en faisant des tests partiels, en prototypant des parties de l’architecture.

Vous serez tout au long de votre stage supporté par la communauté des développeurs et architectes OCTO.

Etape 3 : bilan

Vous réaliserez un bilan sous la forme :
•D’un article de blog sur le thème de votre stage
•D’une présentation au sein d’OCTO dans le cadre de nos sessions mensuelles destinées aux consultants, au cours de laquelle le prototype de votre application sera présentée.

Encadrement

Pour cela, vous serez intégré(e) dans la tribu Cloud Ready Applications à laquelle appartient vos maîtres de stage. Vous serez guidé(e) par Marc et Benjamin, qui vous aideront à vous approprier les concepts nécessaires, à structurer vos recherches, à formuler des hypothèses et à définir des protocoles de mesure pour les valider. Vous serez suivi(e) tout au long de votre projet (entretien hebdomadaire avec votre tuteur, soutien de la communauté OCTO en cas de difficultés techniques…).