developing sio peopledb3 - campus lisa · 2020-04-01 · developing sio peopledb3 scripps it, web...

37
R/V Sally Ride, Anacortes , Washington. Credit: Jeff Dillon. DEVELOPING SIO PEOPLEDB3 Scripps IT, Web Operations

Upload: others

Post on 25-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

R/VSallyRide,Anacortes,Washington.Credit:JeffDillon.

DEVELOPINGSIOPEOPLEDB3ScrippsIT,WebOperations

OR,DATABASESINTHETIMEOFVIRTUALIZATIONScrippsIT,WebOperations

Credit:OctavioAburto

OUTLINE

7Minutes• Oldsystem• Newsystem• Howitwasmade• Whatwewouldhavedonedifferently

OUTLINE

Whatarewetalkingabout?• AdatabaseofallthepeoplewhoareinvolvedwiththeScrippsInstitutionofOceanography

• CrosslinkedtoallotherappsatSIO

OLDAPP

SIOPEOPLEDB2• NativePHP5app• MySQLstoragewithabout75%datainkey/valuepairtable• Interactionwithotherapps:MySQLqueries

Sowhatwaswrongwithit?

• complicatedintegration

• difficultqueries

• nopermissions

• scalingissues

NEWGOALS

SeparateAPIandfrontend

Documentbasedstoragemodel

Virtualizationandfullstackdevelopment

TECHNOLOGIES

Database:MongoDBShardsBackend:SymfonyCommunication:JSONFrontend:AngularVirtualization:AtomicHost/DockerSwarmAuth:GoogleOAuth2/JWT/Duo

TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

DOCKERSWARM

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

TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

MONGO

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"})

TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

SYMFONY

SYMFONY

• JSONoutput• GoogleAuth+Duo2factor• ORMforinternaluserdatabase• CustomhandlersforMongoDB• Permissionsforeachfield• Unittests

TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

#### TitleTitle

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

ANGULAR

Howwasitdone?

Howwasitdone?

• JIRA

• git

• Bitbucket

• DockerCloud

• PHPUnit

• Slack(withbots)

HOWWASITDONE

HOWWASITDONE

HOWWASITDONE

HOWWASITDONE

HOWWASITDONE

Thingswewoulddonexttime

• Frontendtests

• Generallymoretests

• Testdrivendevelopment

• Livedatatesting

ScrippsIT,WebOperationsis:

LucinaGonzalez(supervisor)

EdgarMilik(programminglead)

MichaelChadwick(programmer)

TomohisaKusano(programmer)

GabeCastillo(sysadmin)

NateHuffnagle(sysadmin)

LuisAvila(databasedesign)

WEARECONTRACTUALLYOBLIGATEDTOENDWITHAPHOTOOFTHEPIER.

THISISTHEPIER.