3. 3
« Nous croyons qu’il est possible de réaliser du
développement logiciel de haute qualité »
Cabinet de Conseil
Cellenza est un cabinet de conseil
indépendant, d’expertise technique
et de réalisation, expert des
technologies Microsoft et des
bonnes pratiques Agiles.
Chaîne de valeur IT
Cellenza intervient sur toute la
chaîne de valeur IT depuis les phases
de Conseil, en passant par le
développement d’applications, la
formation, le coaching et le transfert
de savoir-faire.
Nous jouons pour nos clients (tous
segments confondus, du SMB aux
grands comptes) le rôle de bras droit
et de tiers de confiance afin de les
accompagner dans l’adoption des
meilleures pratiques techniques et
méthodologiques et nous les aidons
à définir leur stratégie IT.
4. 4
Modern Workplace Business Applications
Applications &
Infrastructure
Data &AI
DevOps
Security
Périmètred’intervention
C e l l e n z a
6. Architectures Modernes
Architecture moderne :
Cet ensemble de concepts et
modèles qui permettent de rendre
les applications :
• Plus rapides à implémenter,
• Plus flexibles et élastiques,
• Plus efficientes économiquement
Elle s’appuie sur 2 piliers
fondamentaux :
I. Le Cloud
II. Les pratiques DevOps et
Agiles
Architecture
moderne
Cloud
Agile /
DevOps
7. 2 perspectives
Architecture applicative
moderne
• Microservices
• Event-Driven
• Modern Orchestration
• Architecture Lambda
• …
Infrastructure de
déploiement moderne
• Serverless
• Containers
• Modern Compute
• Managed Containers
• …
Des nouveaux patterns applicatifs,
ou des modèles revisités dans le
contexte du Cloud et du DevOps
Des modèles de déploiement
innovateurs devenus possibles
par l’avènement du Cloud
8. Serverless
Expression
des besoins
Mise à
disposition
Conception et
réalisation technique
Conception
fonctionnelle
Déploiement
et maintenance
Allocation de ressources
Machines physiques, virtuelles
Gestion de la capacité
Configuration
Opérations de maintenance
CHAINE DE VALEUR
TIME-TO-MARKET
Il n’y a plus de notion de serveur.
Serverless
9. Function as a Service
On-Premise IaaS PaaS FaaS SaaS
Data / Application
Function Function
Function Function
OS / Middleware
Data / Application
Business Logic Business Logic
Business Logic
Data / Application
Function Function
OS / Middleware
Business Logic
Virtualization
Niveaux de responsabilités
10. Les menaces et failles
Vulnérabilités des Framework
Packages Nuget infectés
Injections (SQL ou autres)
Accessibilité des clés et chaînes de connexion
Gestion des droits
Attaques DoS
Suppression des fonctions obsolètes
12. Protéger vos Azure functions
Au niveau du code C# comme pour une API classique
Eviter code csx dans le portail et priviligier des Précompiled functions
Implémenter un pipeline DevOps pour déployer votre code
13. Protéger l'accès à vos Azure functions
Niveaux autorisations
HTTPS
CORS
Restriction IP
15. Proxy
Création de routes
vers les fonctions et
vers d’autres URLs !
URL de backend n’est
pas visible
Clé d’accès à la
fonction inaccessible
Possibilité de
modifier les URLs et les
clés
/A
/B
/C
/D
Function App 1 Function App 2Logic App
Blob Storage
16. EasyAuth and Azure AD
Gestion des droits pour accéder à la
fonction
Activation au niveau de la « Function
App »: toutes les fonctions sont couvertes
EasyAuth: complètement intégré
Azure AD (ou Azure AD B2C en mode
avancé)
23. 24
Cell’INSIGHT
Nous partageons notre savoir-faire à travers les « Cell’Insights » et « From Zero to Hero ». Ces
ouvrages fournissent notre état de l’art technologique et méthodologique dans différents
domaines.
http://www.cellenza.com/cellinsights
2min
7min
L’infrastructure supportée par les serveurs est abstraite.
Adaptation à la charge : gestion automatique de la scalabilité
Avantage conséquent en optimisation car s’adapte à la charge
Pas de gestion de la scalabilité (différent des containers)
Les nouvelles métriques :
les événements,
la durée d’exécution
On fait correspondre l’activité technique à l’activité fonctionnelle. Adapté à l’IOT
Déploiement simple sans contraintes d’infrastructure :
introduit de nouveaux niveaux de développement
Introduit de nouvelles granularités car déploiement simple
3min
10min
Le « manque de contrôle » inquiète surtout quant à la sécurité
Confiance face au fournisseur de service qui a la responsabilité
2min
12min
Les menaces les plus rencontrées:
- Packages nuget infectés
Injection SQL mais aussi sur MongoDB à travers les API
DoS Denial of Service: rendre indisponible un service
Avec le serverless et le scaling auto on peut ne pas les repérer besoin de s’en prémunir avec mesures de sécurité + monitoring
Où en parler ?
3 niveaux d’autorisation
Anonymous means anyone can call your function,
Function means only someone with the function key can call it, and
Admin means only someone with the admin key can call it.
3min
Failles / Menaces traitées:
Accès aux données sensibles: clés, chaines de connexion etc…
1min
Failles / Menaces traitées:
Gestion des droits
10min
Niveau d’accès à la fonction
- Appel avec Postman
Configuration du proxy
Nouvel appel avec Postman
Easy Auth
Appel Get Browser
Appel Post via Postman
3 min
Service plus complet
Remplace EasyAuth + Proxy
Présentation API Management à travers fonctionnalités