Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
OUTLINE
Whatarewetalkingabout?• AdatabaseofallthepeoplewhoareinvolvedwiththeScrippsInstitutionofOceanography
• CrosslinkedtoallotherappsatSIO
OLDAPP
SIOPEOPLEDB2• NativePHP5app• MySQLstoragewithabout75%datainkey/valuepairtable• Interactionwithotherapps:MySQLqueries
TECHNOLOGIES
Database:MongoDBShardsBackend:SymfonyCommunication:JSONFrontend:AngularVirtualization:AtomicHost/DockerSwarmAuth:GoogleOAuth2/JWT/Duo
DOCKERSWARM
Mongo1
Mongo 2
Mongo 3
MySQL (auth)
PROD RedHat Atomic Separate VMs
STAGE RedHat Atomic
DEV (personal machine)
DOCKER
Mongo
Symfony
Angular
(etc)
DOCKER
Mongo
Symfony
Angular
(etc)
DOCKER
Symfony
Angular
Angular
ID server
DOCKERSWARM
Mongo1
Mongo 2
Mongo 3
MySQL (auth)
PROD RedHat Atomic Separate VMs
STAGE RedHat Atomic
DEV (personal machine)
DOCKER
Mongo
Symfony
Angular
(etc)
DOCKER
Mongo
Symfony
Angular
(etc)
DOCKER
Symfony
Angular
Angular
ID server
Bitbucket
Pipelines
Docker Cloud
Slack
MONGO
Record:{_id:"4ij83ong98o34noutr",name:"GrzegorzBrzęczyszczykiewicz",email:["[email protected]","[email protected]"],etcetc
MONGO
FROM…LEFTJOINsio_people.people_valuesASpvON(p.people_id=pv.people_idANDpv.field="nickname")LEFTJOINsio_people.people_valuesASpv2ON(p.people_id=pv2.people_idANDpv2.field=“known_as”)…
TOdb.records.find({_by:"studentimport"})
SYMFONY
• JSONoutput• GoogleAuth+Duo2factor• ORMforinternaluserdatabase• CustomhandlersforMongoDB• Permissionsforeachfield• Unittests
Thingswewoulddonexttime
• Frontendtests
• Generallymoretests
• Testdrivendevelopment
• Livedatatesting
ScrippsIT,WebOperationsis:
LucinaGonzalez(supervisor)
EdgarMilik(programminglead)
MichaelChadwick(programmer)
TomohisaKusano(programmer)
GabeCastillo(sysadmin)
NateHuffnagle(sysadmin)
LuisAvila(databasedesign)