Welcome to Craig's freelance profile!
Location and workplace preferences
- Location
- Paris, France
- Remote only
- Primarily works remotely
Verifications
Freelancer code of conduct signed
Read the Malt code of conduct
Languages
Categories
Skills (19)
- Cloud
-
Beginner Intermediate Advanced1
-
Beginner Intermediate Advanced1
- Frameworks
-
Beginner Intermediate Advanced
- Operating system
-
Beginner Intermediate Advanced
- Testing
-
Beginner Intermediate Advanced
- Containerization
-
Beginner Intermediate Advanced
- Databases
-
Beginner Intermediate Advanced2
-
Beginner Intermediate Advanced1
Craig in a few words
Précisément :
Audit, Surveillance et Analyse des Instances SQL
- Configuration : Respect des "best practices" recommandées par Microsoft.
- Sécurité : Adhérence au principe du moindre privilège.
- Performance : Amélioration des requêtes et des procédures stockées les plus gourmandes en ressources.
- Surveillance : Nos clients BDD bénéficient de la mise en place d'un système de surveillance, CMM Monitoring Tool développé par nous. .
(captures d'écran disponible dans la zone Portfolio)
Installation, Migration, Configuration et Maintenance
- Installation et configuration des instances SQL
- Gestion, optimisation et administration des serveurs de bases de données
- Rédaction et mise en application d'une politique globale de l'administration et de la sécurisation des bases de données.
- Mise en place de sondes de monitoring permettant d'avoir un aperçu en temps réel du parc BDD.
- Identification des goulots de performance et application des solutions correctives.
- Industrialisation des tâches complexes (maintenance, sauvegarde, ETL).
Proposer des solutions HA et Cloud :
- Récupération après désastre (RTO/RPO).
- Répartition de la charge sur des instances read-only.
- Archivage des sauvegardes ou données anciennes sur le Cloud.
Architecture Cloud & Système :
- Responsable du développement de l'hébergement Cloud, conseils en sécurité.
- Concevoir et gérer des architectures d'hébergement web, développer des stratégies de sécurité et de déploiements pour des clients divers allant du e-commerce, au marketing, B2B, entreprises applications.
- Mettre en place des services de tests de vulnérabilité et de pénétration. Développer des politiques de sécurité défensive pour nos clients afin de répondre aux exigences réglementaires et d’audit.
- Superviser les projets administrateur système, la formation des consultants et le suivi des objectifs de développement des compétences à long terme.
Portfolio
Experience
Avizzeo
Education & E-learning
Echec Mise à jour Applicative sur Cloud - As a freelancer
L'environnement de production d'Avizzeo s'exécutait sur son service cloud à l'aide de Kubernetes.
Les mises à niveau fréquentes de la version des applications (déployées via des mises à jour automatisées par leur fournisseur de services cloud), empêchent les applications d'Avizzeo de démarrer et de fonctionner correctement après déploiement. Cette situation nécessite un redéploiement manuel des composants de l’application (pour chaque environnement), de la part d’Avizzeo puis un redémarrage.
Méthode et expertise :
A la suite d'échanges avec leurs développeurs et d’une analyse approfondie du
dysfonctionnement et différents tests, nous avons pu identifier une erreur de résolution DNS.
Cette dernière empêchait les serveurs d'Avizzeo de télécharger les mises à jour, de terminer leur processus de déploiement et de redémarrer correctement les services applicatifs après le déploiement des mises à jour automatisées du cloud.
Résolution et bilan :
Nous avons ensuite activé le cache DNS sur chacun des clusters afin de résoudre les
problèmes de mise à jour.
Désormais, nous poursuivons la collaboration avec Avizzeo en les assistant sur leurs futurs besoins de développement et de support informatique.
LegalySpace
Software Publishing
Mise à jour et optimisation MySQL
Demandes du client :
- Un audit des bases de données MySQL 5.1.56
- une amélioration des performances
- un accompagnement professionnel dans le déploiement
- un script pour sauvegarder MySQL dans un répertoire local
- la division d’un fichier ibdata1 en fichiers de tables individuelles
Expertises livrées :
- l’optimisation des paramétrages de la BBD
- un accompagnement et un support professionnels pour la migration avec la rédaction d’une procédure étape par étape.
Les livrables :
- un audit des problèmes de configuration et de performance de MySQL sous forme d’une liste de recommandations
- un plan de déploiement étape par étape pour migrer MySQL vers les nouvelles versions souhaitées + idbdata1 inclus par partitionnement de tables
- une assistance dépannage concernant d’éventuels problèmes d’application liés à la mise à niveau de MySQL sur deux migrations clients.
- une proposition d'index et/ou réécriture SQL pour le TOP 5 des requêtes lentes à améliorer
- des paramètres de configuration alternatifs de my.cnf
- un script de sauvegarde mysqldump pouvant sauvegarder localement sur un volume.
La méthodologie de l’audit :
1. Une analyse de la configuration de la base de données, de sa structure et de ses index
2. Une analyse des journaux de requêtes lentes
3. Test des options de configuration alternatives dans MySQL
4. Réécriture des 5 premières requêtes lentes et/ou proposition d’index
La méthodologie pour la migration :
1. Développement d’un plan de déploiement pour migrer MySQL vers des versions plus récentes :
A. 5.1.56 vers 5.5
B. 5.5 vers 5.6
C. 5.6 vers 5.7
D. 5.7 vers 8
ZS SERVICES - ZS SERVICES
Press & Media
Identification des requêtes sous-optimisées, vérification des paramètres - As a freelancer
- La charge du processeur de l'instance PostgreSQL atteignait parfois 100% du processeur.
- Pour surmonter ces pics, le client devait augmenter sans cesse la taille de la machine.
- Le client souhaitait une optimisation des requêtes afin de ralentir la progression inévitable vers des configurations toujours plus coûteuses.
Sur la base d'un audit approfondi et des informations fournies par le client, Sam et Craig ont pu identifier et corriger les dysfonctionnements, et aider Zerosix à améliorer ses méthodes d'écriture de code SQL. L'équipe de Zerosix a ainsi pu affiner les performances de son environnement de production sans rajouter toujours plus de ressources. La mise en application des conseils délivrés par Sam et Craig a rendu l'environnement du client plus adaptable aux pics d'utilisation et moins gourmand en ressources.
Les actions effectuées par CCS :
1. Optimisation des requêtes SQL
2. Reconfiguration de l'instance PostgreSQL
3. Mise en application des guidelines SQL
DOTIC - DOTIC
Telecommunications
Audit des instances PostgreSQL & Pgpool - As a freelancer
DOTIC a sollicité un audit de sa configuration PostgreSQL et PGPool afin de résoudre des problèmes entraînant le blocage des travaux ETL ainsi que la charge de travail quotidienne de la production.
Leur configuration initiale de PostgreSQL et PGPool n'autorisait que 500 connexions simultanées.
Toutes les connexions au-delà de 500 étaient envoyées en file d'attente bloquant ainsi les nouvelles connexions utilisateurs entrantes.
Cette limite à 500 connexions n'a pas été définie à un endroit précis mais se trouvait être la conséquence de plusieurs paramètres de
configuration différents dans PostgreSQL, PGPool et le noyau hôte Linux.
Au terme d'un audit approfondi de PostgreSQL, PGPool et Linux, nous avons identifié plusieurs paramètres en cause et DOTIC peut ainsi augmenter le nombre de connexion en fonction des ressources réelles de leur machine.
BASOM CONSULTING
Consulting & Audits
Analyse et conseils Basom Consulting
Ainsi, l'objectif de la mission est d'identifier pourquoi ce processus affecte les performances des utilisateurs et aussi de résoudre ce même problème.
Une analyse complète de toutes les instances SQL serveur et de la machine physique a révélé que le processus de génération de rapports s'exécute sur la même machine virtuelle que les autres instances SQL. De surcroît, certaines étapes exécutées lors de l'extraction et de la normalisation entraînent la création d'index et l'exécution de Delete très coûteux sur des grandes tables.
Fort de ces informations, Basom dispose désormais d'une voie claire pour améliorer ses performances à savoir : déplacer le processus de création
de rapports ainsi que l'instance SQL des rapports sur une instance distincte. Par ailleurs, l'analyse a révélé une multitude de comptes Active Directory qui ont accès aux données sans en avoir réellement besoin.
Veja
Retail (Small Business)
Identification de goulots de performance sur SQL Server - As a freelancer
Avec une solution de surveillance développée en notre sein, "CMM for SQL Server", j'ai pu identifier rapidement les deadlocks et les attentes de verrouillage comme principal goulot de performance sur SQL Server. En creusant plus loin avec eXtended Events et ClearTrace, un déclencheur qui mettait lui-même à jour une autre table à l'aide d'un large SELECT, a pu être identifié et stoppé.
En collaboration avec l'équipe de développement, nous avons pu améliorer le filtre du SELECT afin qu'il ne soit utilisé que dans des cas très spécifiques.
Je travaille actuellement sur la correction des erreurs de configuration, la mise en oeuvre des "best practices" et une meilleure utilisation des ressources sur le serveur.
Solidarites International - Solidarites International
Civic & Social Organizations
Mise en œuvre du processus de réplication asynchrone de réconciliation de base de données PostgreSQL. - As a freelancer
2. Documenter les tâches et les étapes de gestion / résolution des conflits de Bucardo
3. Une implémentation Bucardo avec synchronisation des «nœuds» du bureau local (toutes les tables, en push delta)
4. Une documentation complète qui détaille l'implémentation "from scratch" (dépendances, installation, configuration, connexion ssh) de Bucardo sur un serveur, avec les lignes de commande et une explication
5. Documentation précisant la procédure à suivre pour ajouter / supprimer une table de la synchronisation, lors d'une mise à jour et d'un nouveau déploiement du logiciel.
6. Documentation spécifiant le processus pour déplacer un serveur + une base de données Bucardo vers un nouveau serveur, sans perdre les données
WERECRUIT SAS
Human Resources
Audit SQL Database sur Azure - As a freelancer
- Optimisation de requêtes gourmandes en ressources. Avec du Full Text, l'une de ces requêtes est passée de 30+ à <3 secondes.
- Résolution des timeouts récurrents en backoffice
- Optimisation des index
- Identification des processus gourmandes en ressources.
- Formation eXtended Events sur Azure avec stockage sur Blob Storage.
Etablissement Public Territorial du bassin de la Dordogne
Public sector
Migration et Mise à jour PostgreSQL
du Bassin de la Dordogne EPIDOR
EPIDOR nous a sollicités pour des problèmes de performances lorsqu’ un nombre important d'agents se connectent au flux PostgreSQL depuis leur logiciel QGIS, en particulier durant les opération de relevés sur le terrain.
Le client a tout d’abord envisagé une mise à niveau de Postgresql (en version 9) pour régler ces problèmes de performances.
Afin de déterminer la ou les causes exactes des problèmes de performances rencontrés par EPIDOR, nous avons réalisé un audit de leurs bases de données et de la configuration de QGIS. En parallèle a été créé un environnement de test identique à leur infrastructure, dans nos bureaux, comme base de comparaison.
L'audit et les comparaisons effectuées ont révélé que les problèmes de performances ne résultaient pas des problèmes de performances de la base de données mais de la faible bande passante sur leur site en Dordogne. Étant donné qu’il faudra un certain temps avant qu'ils aient accès à la fibre, nous avons proposé une migration vers du AWS avec une copie miroir des bases de données : copie disponible sur un serveur dans leurs bureaux.
La proposition comprenait également la mise à niveau de Postgres de 9 à 13 et la migration vers un environnement à haute disponibilité incluant l'accès aux sauvegardes quotidiennes sur leur serveur local. Entre-temps, leur fournisseur de cloud a connu une panne catastrophique et n'a pas été en mesure de fournir des copies de leurs bases de données pendant plusieurs semaines. Ainsi, notre proposition inclut désormais des sauvegardes disponibles localement et une réplication entre deux datacenters à Paris.
Cette proposition a été acceptée et en l'espace de trois mois, toutes les bases de données postgres ont été migrées vers AWS et mises à niveau vers la dernière version 13.
Enfin, à l'aide de pgpool, tout le trafic de lecture est désormais redirigé vers leur serveur postgres local, améliorant ainsi considérablement les performances globales.
Affinicia Data
Audit d'une instance MySQL sur Freebsd - As a freelancer
IDIOM Entertainment
Education & E-learning
Architecture d'une nouvelle infrastructure et processus de déploiement sur Elastic Beanstalk - As a freelancer
Ont été réalisés :
- La Création d'un processus de sauvegarde et de restauration fiable pour RDS.
- Création d'un processus de sauvegarde et de restauration fiable pour les fichiers S3, le code, les vidéos et tout autre contenu utilisé par Streamglish.
- Création d'un nouveau processus de déploiement qui garantit une bascule automatisée en cas de défaillance.
- Mise en place de déploiement automatique de EC2 & RDS supplémentaires dans le cadre d'un scale-in/scale-out pour faciliter un trafic variable provenant d'applications Web.
- Le déplacement de tout le contenu existant de l'URL actuelle vers www.streamglish.com
Systonic
Tech
Administrateur de bases de données SQL Server
- Concevoir et administrer des solutions d'hébergement
- Mettre en place une politique opérationnelle pour la qualité d'exploitation
- Automatisation de requêtes d'extraction (Extract, Transform & Load).
- Gestion des serveurs, duplication d’environnements
- Optimisation SQL (Index, Tuning, Mémoire, CPU, Disque)
- Prendre en charge de nouveaux projets
- Rédaction de procédures d’intégration et de maintenance des serveurs
- Piloter le chantier "mutualisation des serveurs MSSQL" afin de limiter le coût du support des licences Microsoft - 2000 à 2008
- La gestion des désastres : Concevoir et administrer des solutions de haute-disponibilité (Cluster, Mirroring, Log Shipping et Réplication)
- Evaluer les besoins et la qualité. Stockage physique, ressources et maintien des performances.
- Assurer l'ingénierie de production de serveurs de bases de données et leur sécurité.
Néotech-Solutions
Tech
Administrateur de bases de données SQL Server
Administration et maintenance des bases de données
- Garantir la disponibilité et la qualité des données par le maintien et l’amélioration des performances.
- Gérer les migrations de version SQL Server et MySQL
- Suivre des statistiques de performances.
- Encadrer l'accès pour les utilisateurs et garantir la sécurité des données.
- M’assurer que les sauvegardes sont bien effectuées et qu'elles peuvent être restaurées.
- Remettre en condition opérationnelle des bases de données (disaster recovery) suite à incident grave.
- Améliorer l'automatisation (industrialisation), optimisant les traitements et les requêtes, les paramétrages
- Veiller sur l’intégrité de l’ensemble des données.
Support technique et assistance aux utilisateurs
- Assurer le support aux équipes des développeurs .
- Intervenir immédiatement en cas d’incidents limitant les performances des bases de données.
Veille technologique et contrôle de la base de données
- Suivre et contrôler les évolutions de version serveur pour faire évoluer les bases de données
- Assurer la mise à jour de la documentation sur la structure de la base, et les procédures d’exploitation et de production.
50 projects on Malt
Check out Craig's project reviews
9 recommendations
Check out Craig's recommendations