Skip to main content

Moving Gjennomsnittet Elasticsearch


Stack Overflow: The Architecture - 2016 Edition For å få en ide om hva alt dette gjør, la meg begynne med en oppdatering på gjennomsnittlig dag på Stack Overflow. Så du kan sammenligne med forrige tall fra november 2013. Heres en statistikkdag fra 9. februar 2016 med forskjeller siden 12. november 2013: 209 420 000 (61 336 090) HTTP-forespørsler til vår lastbalansør 66 294 789 (30 199 477) av disse var sidebelastninger 1 240 406 346 053 (406.273.363.426) bytes (1,24 TB) HTTP-trafikk sendte 569.449.470.023 (282.874.825.991) bytes (569 GB) totalt mottatt 3.084.303.599.266 (1.958.311.041.954) bytes (3.08 TB) totalt sendt 504.816.843 (170.244.740) SQL spørringer (fra HTTP-forespørsler alene) 5,831,683,114 (5,418,818,063) Redis treffer 17,158,874 (ikke spåket i 2013) Elastiske søk 3,661.134 (57.716) Tagmotorforespørsler 607.073.066 (48.848.481) ms (168 timer) brukte å kjøre SQL-spørringer 10.396.073 (-88.950.843) ms (2.8 timer) brukt på Redis treff 147,018,571 (14,634,512) ms (40,8 timer) brukt på Tag Engine-forespørsler 1.609.944.301 (-1.128.232.744) ms (447 timer) brukt behandling i ASP 22.71 (-5.29) ms gjennomsnitt (19.12 ms i ASP) for 49.180.275 spørsmålsside gir 11,80 (-53,2) ms gjennomsnitt (8,81 ms i ASP) for 6,370,076 hjemmesider. Du lurer kanskje på den drastiske ASP-reduksjonen i behandlingstiden sammenlignet med 2013 (som var 757 timer) til tross for 61 millioner flere forespørsler om dagen. Det skyldes både en maskinvareoppgradering i begynnelsen av 2015, samt mye ytelse tuning inne i applikasjonene selv. Vennligst ikke glem: ytelse er fortsatt en funksjon. Hvis du er nysgjerrig på mer maskinvarespesifikasjoner enn jeg er ute etter å gi deg ikke. Neste innlegg vil være et vedlegg med detaljerte maskinvare-spesifikasjoner for alle serverne som driver nettstedene (jeg oppdaterer dette med en link når det er live). Så hva endret de siste 2 årene, i tillegg til å bytte ut noen servere og nettverksutstyr, ikke mye. Heres en toppnivå liste over maskinvare som kjører nettstedene i dag (noter hva som er forskjellig siden 2013): 4 Microsoft SQL-servere (ny maskinvare for 2 av dem) 11 IIS Web-servere (ny maskinvare) 2 Redis-servere (ny maskinvare) 3 Tagg Motorservere (ny maskinvare for 2 av 3) 3 Elasticsearch-servere (samme) 4 HAProxy Load Balancers (lagt til 2 for å støtte CloudFlare) 2 Nettverk (hver en Nexus 5596 Core 2232TM Fabric Extenders. Oppgradert til 10Gbps overalt) 2 Fortinet 800C Firewalls erstattet Cisco 5525-X ASAs) 2 Cisco ASR-1001 Routere (erstattet Cisco 3945 Routers) 2 Cisco ASR-1001-x Routere (nytt) Hva trenger vi å kjøre Stack Overflow Det har ikke forandret seg mye siden 2013. men på grunn av optimaliseringene og ny maskinvare nevnt ovenfor, var nede for å bare ha 1 webserver. Vi har utilsiktet testet dette, vellykket, noen ganger. Å være klar: Jeg sier at det fungerer. Jeg sier ikke det er en god ide. Det er gøy skjønt, hver gang. Nå som vi har noen grunnlinjenumre for en ide om skala, kan vi se hvordan vi lager de fancy nettsidene. Siden få systemer eksisterer i fullstendig isolasjon (og vårt er ikke noe unntak), gjør arkitekturbeslutninger ofte mindre mening uten et større bilde av hvordan disse stykkene passer inn i det hele. Det er målet her, for å dekke det store bildet. Mange etterfølgende innlegg vil gjøre dype dykk i bestemte områder. Dette vil være en logistisk oversikt med maskinvarehøydepunkter bare det neste innlegget vil ha maskinvaredetaljer. For de av dere her for å se hvordan maskinvaren ser ut som disse dagene, her er noen bilder jeg tok av rack A (den har en matchende søsterrack B) i løpet av februar 2015-oppgraderingen: og hvis du er i den typen ting, heres hele 256 bildealbumet fra den uken (du er ikke så jævla som det er forsettlig). Nå, lar deg grave inn i oppsettet. Heres en logisk oversikt over de store systemene i spill: Ground Rules Her er noen regler som gjelder globalt, så jeg trenger ikke å gjenta dem med alle oppsett: Alt er overflødig. Alle servere og nettverksutstyr har minst 2x 10 Gbps-tilkobling. Alle servere har 2 strømforsyninger via 2 strømforsyninger fra 2 UPS-enheter støttet av 2 generatorer og 2 feeds. Alle servere har en overflødig partner mellom rack A og B. Alle servere og tjenester er dobbelt redundante via et annet datasenter (Colorado), selv om jeg for det meste snakker om New York her. Alt er overflødig. Internett-førstene må du finne usthats DNS. Å finne oss trenger å være rask, slik at vi går ut på CloudFlare (for tiden) fordi de har DNS-servere nærmere til nesten alle rundt om i verden. Vi oppdaterer DNS-postene våre via en API, og de gjør hosting av DNS. Men siden det var jerks med dypt forankrede tillitsspørsmål, har vi fortsatt våre egne DNS-servere. Skulle apokalypsen skje (sannsynligvis forårsaket av GPL, Punyon eller caching), og folk vil fortsatt programmere for å ta seg av det, velg dem igjen. Etter at du har funnet vår hemmelige skjul, kommer HTTP-trafikk fra en av våre fire Internett-leverandører (Level 3, Zayo, Cogent og Lightower i New York) og strømmer gjennom en av våre fire kantrutere. Vi samarbeider med våre Internett-leverandører ved hjelp av BGP (ganske standard) for å kontrollere trafikkflyten og gi flere veier til trafikk for å nå oss mest mulig. Disse ASR-1001- og ASR-1001-X-rutene er i 2 par, hver service av 2 ISPer i aktivaktive fashionso var overflødige her. Selv om de alle er på samme fysiske 10 Gbps-nettverk, er ekstern trafikk i separate isolerte eksterne VLANer som lastbalanserne også er koblet til. Etter å ha rørt gjennom ruterne, ledet du etter en lastbalanser. Jeg antar at dette kan være en god tid å nevne at vi har en 10Gbps MPLS mellom våre 2 datasentre, men det er ikke direkte involvert i servering av nettstedene. Vi bruker dette til data replikering og rask gjenoppretting i tilfeller der vi trenger en utbrudd. Men Nick, det er ikke overflødig Vel, du er teknisk korrekt (den beste typen riktig), det er et eneste punkt i feil på ansiktet. Men vent Vi opprettholder 2 flere failover OSPF-ruter (MPLS er 1, disse er 2 og 3 etter pris) via våre Internett-leverandører. Hvert av settene som er nevnt tidligere, kobles til det tilsvarende settet i Colorado, og de laster balanse trafikk mellom i failover situasjonen. Vi kunne få begge settene til å koble til begge settene og ha 4 baner, men vel, uansett. Går videre. Load Balancers (HAProxy) Lastbalancers kjører HAProxy 1.5.15 på CentOS 7. Vår foretrukne smak av Linux. TLS (SSL) trafikk avsluttes også i HAProxy. Vel, se hard på HAProxy 1.7 snart for HTTP2-støtte. I motsetning til alle andre servere med en dobbel 10 Gbps LACP nettverkskobling, har hver lastbalanserer 2 par 10Gbps: en for det eksterne nettverket og en for DMZ. Disse boksene kjører 64 GB eller mer minne for å håndtere SSL-forhandlinger mer effektivt. Når vi kan cache flere TLS økter i minnet for gjenbruk, er det mindre å rekomputere på påfølgende tilkoblinger til samme klient. Dette betyr at vi kan gjenoppta sesjoner både raskere og billigere. Gitt at RAM er ganske billig dollar-vis, det er et enkelt valg. Lastbalansene selv er et ganske enkelt oppsett. Vi lytter til forskjellige nettsteder på ulike IP-adresser (hovedsakelig for sertifikatproblemer og DNS-administrasjon) og rute til ulike backends basert hovedsakelig på vertsoverskriften. De eneste tingene i notatet vi gjør her, er begrensningsbegrensninger og noen headerfangst (sendt fra vår web-nivå) til HAProxy syslog-meldingen, slik at vi kan registrere ytelsesstatistikker for hver enkelt forespørsel. Vel dekke det senere også. Web-tier (IIS 8.5, ASP MVC 5.2.3 og 4.6.1) Lastebalancerne sprer trafikk til 9 servere som vi refererer til som primære (01-09) og 2 devmeta (10-11, vår staging miljø) webservere. De primære serverne kjører ting som Stack Overflow, Careers og alle Stack Exchange-nettsteder, unntatt meta. stackoverflow og meta. stackexchange. som kjører på de siste 2 serverne. Den primære QampA-applikasjonen i seg selv er multi-leietaker. Dette betyr at en enkelt applikasjon serverer forespørslene for alle QampA-nettsteder. Sett på en annen måte: Vi kan kjøre hele QampA-nettverket av en enkelt applikasjonsbasseng på en enkelt server. Andre programmer som Karriere, API v2, Mobile API, etc. er separate. Heres hvordan de primære og dev-nivåene ser ut i IIS: Heres hvilken Stack Overflows distribusjon over web-nivået ser ut som i Opserver (vårt interne overvåkingsdashboard): og heres hva disse webserverne ser ut fra et bruksperspektiv: Jeg går inn i hvorfor var så overprovisioned i fremtidige innlegg, men høydepunktet elementer er: rullende bygger, headroom og redundans. Service Tier (IIS, ASP MVC 5.2.3. Nett 4.6.1, og HTTP. SYS) Bak disse webserverne er den svært liknende servicenivå. Den kjører også IIS 8.5 på Windows 2012R2. Denne tier kjører interne tjenester for å støtte produksjonsnettverket og andre interne systemer. De to store spillerne her er Stack Server som kjører tagmotor og er basert på http. sys (ikke bak IIS) og Providence API (IIS-basert). Morsomt faktum: Jeg må sette avfinitet på hver av disse to prosessene for å lande på separate stikkontakter, fordi Stack Server bare steamroller L2 og L3 cachen når forfriskende spørringslister på 2 minutters intervall. Disse servicebokser løfter tungt med tagmotorene og backend-APIene der vi trenger redundans, men ikke 9x redundans. For eksempel, laster alle innleggene og deres koder som endres hvert minutt fra databasen (for tiden 2), er ikke det billig. Vi vil ikke gjøre den lasten 9 ganger på nettet nivå 3 ganger er nok og gir oss nok sikkerhet. Vi konfigurerer også disse boksene forskjellig på maskinvaresiden for å bli bedre optimalisert for de forskjellige beregningsbelastningsegenskapene til tagmotor og elastiske indekseringsjobber (som også kjører her). Merkemotoren er et relativt komplisert emne i seg selv og vil være et dedikert innlegg. Grunnleggende er: når du besøker questionstaggedjava. du slår taggen motoren for å se hvilke spørsmål som passer. Det gjør all vår tag som passer utenfor søk. så den nye navigasjonen. etc. bruker alle denne tjenesten for data. Cache amp PubSub (Redis) Vi bruker Redis for noen få ting her og dens solid rock. Til tross for å gjøre ca 160 milliarder opsjoner per måned, er hver forekomst under 2 CPU. Vanligvis mye lavere: Vi har et L1L2 cache system med Redis. L1 er HTTP Cache på webserverne eller hva som helst søknad er i spill. L2 faller tilbake til Redis og henter verdien ut. Våre verdier lagres i Protobuf-formatet. via protobuf-dot-net av Marc Gravell. For en klient, brukte StackExchange. Redis skrevet internt og åpen kildekode. Når en webserver får en bufferfeil i både L1 og L2, henter den verdien fra kilde (en databasesøk, API-anrop, etc.) og legger resultatet i både lokal cache og Redis. Den neste serveren som ønsker verdien, kan gå glipp av L1, men vil finne verdien i L2Redis, lagre et databasespørsmål eller API-anrop. Vi kjører også mange QampA nettsteder, slik at hvert nettsted har sin egen L1L2 caching: ved nøkkel prefiks i L1 og ved database ID i L2Redis. Vel, gå dypere på dette i et fremtidig innlegg. Ved siden av de 2 viktigste Redis-serverne (masterslave) som kjører alle nettstedstillatelsene, har vi også en maskininnlæringseksempel som er slaved over 2 mer dedikerte servere (på grunn av minne). Dette brukes til å anbefale spørsmål på hjemmesiden, bedre tilpasning til arbeidsplasser, etc. Det er en plattform som heter Providence, dekket av Kevin Montrose her. De viktigste Redis-serverne har 256 GB RAM (ca. 90 GB i bruk) og Providence-serverne har 384 GB RAM (ca. 125 GB i bruk). Redis er ikke bare for cache, men har også en publiseringsforsterkerabonnementsmekanisme hvor en server kan publisere en melding og alle andre abonnenter mottar det inkludert nedstrøms klienter på Redis slaver. Vi bruker denne mekanismen til å fjerne L1-caches på andre servere når en webserver gjør en fjerning for konsistens, men det er en annen stor bruk: websockets. Websockets (NetGain) Vi bruker websockets til å skyve sanntids oppdateringer til brukere som varsler i topplinjen, stemmeberegninger, nye nav-teller, nye svar og kommentarer, og noen andre biter. Sokkel serverne bruker selv røde stikkontakter som kjører på nettet. Det er en veldig tynn applikasjon på toppen av vårt åpen kildebibliotek: StackExchangeGain. Under topp har vi om lag 500 000 samtidige websocket-tilkoblinger åpne. Det er mange nettlesere. Morsomt faktum: Noen av disse nettleserne har vært åpne i over 18 måneder. Var ikke sikker på hvorfor. Noen bør sjekke om disse utviklerne fortsatt lever. Heres hva dette ukers samtidige websocket mønster ser ut: Hvorfor websockets Theyre enormt effektivere enn polling på vår skala. Vi kan rett og slett trykke flere data med færre ressurser på denne måten, samtidig som de er mer umiddelbare for brukeren. Theyre ikke uten problemer thoughephemeral port og filhåndtak utmattelse på lastbalansen er morsomme problemer godt dekke senere. Søk (Elasticsearch) Spoiler: Det er ikke mye å bli begeistret her. Web-tieret gjør ganske vaniljesøk mot Elasticsearch 1.4, ved hjelp av den svært slanke, høypresterende StackExchange. Elastic-klienten. I motsetning til de fleste ting, har vi ingen planer om å åpne kilde dette bare fordi det bare utelukker et veldig slank delsett av APIen vi bruker. Jeg tror sterkt på å slippe ut det ville gjøre mer skade enn godt med utviklerforvirring. Brukte elastikk for søk. beregne relaterte spørsmål og forslag når du stiller et spørsmål. Hver elastisk klynge (det er i hvert datasenter) har 3 noder, og hvert nettsted har sin egen indeks. Karriere har ytterligere få indekser. Hva gjør oppsettet vårt litt ustandard i den elastiske verden: våre 3 serverklynger er litt biffere enn gjennomsnittet med all SSD-lagring, 192 GB RAM og dobbelt 10 GB nettverk. De samme applikasjonsdomenene (ja, ble skrudd med Core her) i Stack Server som er vert for tagmotoren, viser også kontinuerlig indekselementer i Elasticsearch. Vi gjør noen enkle triks her som ROWVERSION i SQL Server (datakilden) sammenlignet med et siste posisjonsdokument i Elastic. Siden den oppfører seg som en sekvens, kan vi bare gripe og indeksere noen elementer som har endret seg siden siste pass. Hovedårsaken var på Elasticsearch i stedet for noe som SQL fulltekstsøk er skalerbarhet og bedre allokering av penger. SQL-CPUer er relativt dyrt, elastisk er billig og har langt flere funksjoner i disse dager. Hvorfor ikke Solr. Vi ønsker å søke på tvers av hele nettverket (mange indekser samtidig), og dette ble ikke støttet ved beslutningstid. Årsaken var ikke på 2.x, men en stor endring i typer betyr at vi må reindexere alt for å oppgradere. Jeg har ikke nok tid til å gjøre de nødvendige endringene og overføringsplanen ennå. Databaser (SQL Server) Brukte SQL Server som vår eneste kilden til sannhet. Alle dataene i Elastic og Redis kommer fra SQL Server. Vi driver 2 SQL Server-klynger med AlwaysOn-tilgjengelighetsgrupper. Hver av disse gruppene har 1 master (tar nesten all lasten) og 1 replika i New York. I tillegg har de 1 replika i Colorado (vårt DR datasenter). Alle kopier er asynkrone. Den første klyngen er et sett med Dell R720xd-servere, hver med 384 GB RAM, 4 TB PCIe SSD-plass og 2 x 12 kjerner. Den er vert for Stack Overflow, Sites (dårlig navn, Ill forklar senere), PRIZM og Mobile databaser. Den andre klyngen er et sett med Dell R730xd-servere, hver med 768 GB RAM, 6 TB PCIe SSD-plass og 2x 8-kjerner. Denne klyngen kjører alt annet. Denne listen inkluderer Karriere. Åpne ID. Chat. vår unntak logg. og hvert annet QampA-sted (for eksempel Super User. Server Fault, etc.). CPU utnyttelse på databasen nivå er noe vi liker å holde svært lav, men det er faktisk litt høy i øyeblikket på grunn av noen plan cache problemer adresserte. Fra nå av, er NY-SQL02 og 04 mestere, 01 og 03 kopier vi nettopp startet i dag under noen SSD-oppgraderinger. Heres hva de siste 24 timene ser ut: Vår bruk av SQL er ganske enkel. Enkel er rask. Selv om noen spørringer kan være gal, er samspillet med SQL selv ganske vanilje. Vi har noen arv Linq2Sql. men all ny utvikling bruker Dapper. Vår open source Micro-ORM bruker POCOs. La meg sette på en annen måte: Stack Overflow har bare 1 lagret prosedyre i databasen, og jeg har til hensikt å flytte den sist vestige inn i koden. Ok, vi kan bytte gir til noe som kan hjelpe deg direkte. Ive nevnte noen av disse oppe, men jeg gir en liste her over mange open source-biblioteker vi opprettholder for verden å bruke. Vi åpner hentet fra dem fordi de ikke har kjernevirksomhet, men kan hjelpe utviklerne. Jeg håper du finner disse nyttige i dag: Dapper (Core) - Høy ytelse Micro-ORM for ADO StackExchange. Redis - Høy ytelse Redis klient MiniProfiler - Lett profiler vi kjører på hver side (støtter også Ruby, Go og Node) Exceptional - Feillogger for SQL, JSON, MySQL, osv. Jil - Høy ytelse JSON (de) serializer Sigil - En CIL generasjonshjelp (for når C ikke er rask nok) NetGain - Høy ytelse websocket server Opserver - Overvåking av dashbord avstemning de fleste systemer direkte og fôring fra Orion, Bosun eller WMI også. Bosun - Backend overvåkingssystem, skrevet i Go Next up, er en detaljert nåværende maskinvareliste over hva som kjører koden vår. Etter det går vi ned på listen. Følg med. Vennligst aktiver JavaScript for å se kommentarene fra Disqus. Neste profil i vår How I Work-serie er Colton Fischer. Colton er en av avlingen av nye PeopleSoft-bloggere som brister på scenen i 2016. Hans PeopleSoft Mods-blogg er en skattekiste med stort innhold, og hvis du ikke har vært der før it8217s er verdt å bla tilbake gjennom Colton8217s historiske innlegg 8211 som han ikke ser på eksisterende levert funksjonalitet, men utvider PeopleSoft på måter som er klare for å se forretningsfordelen, og forklarer ofte hvordan du kan få de samme resultatene. Navn: Colton Fischer Yrke: Application Developer ved University of Houston Sted: Houston, Texas, USA Nåværende datamaskin: Min desktop er en Dell Optiplex 9020 og min bærbare PC er en Dell Precision 3510 Nåværende mobilenheter: Samsung Galaxy S5 Jeg jobber: Ivrigt Hva appssoftwaretools can8217t du bor uten Snipping Tool Nyttig verktøy for når jeg trenger et raskt skjermbilde for å dokumentere eller demonstrere noe VPN Client og Eksternt skrivebord Jeg jobber ikke hjemmefra for mye, men dette er en livredder når jeg glemmer noen filer på min maskin på kontoret YouTube Mobile App Jeg er mer en visuell lærer, så jeg liker å se pedagogiske YouTube-videoer på telefonen min når jeg har litt ned tid ESPN Mobile App Lar meg holde tritt med kollegial og profesjonell sport I tillegg til telefonen og datamaskinen, hvilken gadget kan du leve uten at jeg må si kaffemaskinen min. Den tingen får meg gjennom hver morgen fordi jeg ikke vet hva jeg ville gjøre hvis jeg ikke hadde min kaffe. Hva er arbeidsområdet ditt som jeg vil si at arbeidsområdet mitt er ganske grunnleggende. Jeg vil innrømme at det ikke er normalt så rent som det er i dette bildet. Det meste av arbeidet jeg gjør skjer på min stasjonære datamaskin. Jeg bruker min bærbare til å kjøre personlige demosystemer for å gjøre eksperimentell utvikling på. Jeg bruker også systemene på min bærbare når jeg gjør utvikling som krever konstant app og webserver bounces slik at jeg ikke bry noen andre. Hva hører du på mens du jobber, jeg nyter mest alle musikksjanger, men det jeg lytter på mens jeg jobber, er avhengig av hvilken type arbeid jeg gjør. Hvis jeg gjør noe som krever at jeg tenker hardt, hører jeg på myke akustiske gitarangler. Hvis jeg ikke trenger å tenke for hardt, så finner jeg det meste meg selv å høre på metalrock, punkrock, og noen ganger dubstep. Hvilke PeopleSoft-relaterte produktivitetsprogrammer bruker du, jeg har App Designer, SQL Developer og Chrome-vinduer åpne hele tiden. Jeg liker å bruke Chrome-tilleggsprogrammer eller andre nettbaserte produktivitetsprogrammer. Jeg bruker Avansert REST-klient for Chrome når jeg trenger å jobbe med webtjenester. Når jeg trenger å se noen uformatert XML raskt, bruker jeg en XML-XML-nettleser til å formatere den for meg. Jeg jobber ofte med base64 kodede verdier, så jeg bruker en online base64 dekoder for å oppnå de dekodede verdiene. Jeg bruker også Chrome DevTools til å se kilden bak feltene på PeopleSoft-sider. Har du en 2-linjers tips som noen andre kanskje ikke vet, er jeg ikke sikker på hvor kjent dette er, men jeg oppdaget nylig at meta-HTML kan brukes i meldingskatalogen. Bruke meta-HTML (eller til og med vanlig HTML) i meldinger kan tillate litt kul konfigurasjonsbasert funksjonalitet. Hva SQLCode finner du selv skriver oftest Jeg skriver vanligvis spørringer på sikkerhetsbordene som omhandler roller og tillatelseslister. Men her har jeg nylig skrevet noen spørsmål på PSACCESSLOG og PSPTLOGINAUDIT tabeller. Det er noen veldig interessante opplysninger i disse tabellene fra et sikkerhetsperspektiv. Hva ville være det ene elementet du8217d legger til PeopleSoft hvis du kunne jeg vil se noen innebygd funksjonalitet for å gjøre det enklere å identifisere følsomme data (bankkontonumre, SSN, etc.) - felt i PeopleSoft. Det ville være fint hvis feltdefinisjonene som brukes til lagring av sensitive data ville ha en innstilling for å skille mellom følsomhetsnivået. Å ha denne informasjonen lagret i metadatabordene, vil tillate muligheten til enkelt å skrive spørringer for å avgjøre hvor i søknadsfølsomme data blir utsatt. Dette ville igjen tillate at PeopleSoft-sikkerhetsadministratorer effektivt sikrer sine PeopleSoft-applikasjoner. Hva daglig ting er du bedre på enn noen andre, jeg er ikke sikker på om jeg er bedre enn noen på dette, men jeg er god til tidsledelse og ikke procrastinating. Hvordan holder du deg frisk og glad Jeg liker å spille golf og tennis når jeg har noen tilgjengelig til å leke med. Når jeg er alene og jeg vil gjøre noe fysisk, går jeg vanligvis på skateboarding. Noe annet som holder meg glad (men ikke så sunn) spiller Xbox. Hva er det beste rådet du har mottatt? Det beste rådet jeg har mottatt, er å starte hver dag frisk og med en ren skifer, uansett hvordan den foregående dagen gikk. Det er lett å bære kamp og frustrasjoner med oss ​​fra dag til dag, men det hindrer bare produktiviteten og utsikter. There8217s en flott episode av Marc Weintraub8217s PeopleSoft Talk intervju-serie, med en 30 minutters diskusjon med Paco Aubrejuan. There8217ll være noen gode poeng for alle å ta vekk fra det, men her er mine høydepunkter: På den nåværende Support Enddato desember 2027: There8217s ingen plan om å avslutte støtte for PeopleSoft, så er det faktisk ikke så viktig en dato. Det skjer å være datoen akkurat nå, at vår livstidsstøtte går til 8230 som sannsynligvis vunnet8217t, og da vi kommer nærmere den datoen, er planen å flytte disse datoene ut. På Fortsatt Investering: For meg er investering og støtte en og samme. It8217 er vanskelig å støtte applikasjoner uten å fortsette å forbedre dem også. We8217 planlegger å støtte og forbedre dem gjennom den datoen. På væskeannonsering: Vi har 2-300 kunder som lever på det, og mange av dem lever med bare noen få applikasjoner, men med Fluid over hele linjen. We8217ve fikk den hockeyspaltperioden når det gjaldt adopsjon hvor de fleste av våre kunder som driver prosjekter eller oppgraderinger, distribuerer Fluid. Ved å erstatte SES med Elasticsearch: 8220it8217s enklere, billigere, raskere, bedre for kundene å kjøre Elasticsearch versus SES8221 pluss mye mer på Cloud, Fluid Approvals og Selective Adoption. It8217s vel verdt en klokke: I et tidligere innlegg med tittelen Banishing PeopleSoft Myths delte jeg mitt perspektiv på den nåværende tilstanden til PeopleSoft-produktet og markedsplassen. Jeg trodde at it8217d skulle være en interessant øvelse for å prøve å se fremover og å definere hva jeg tror fremtiden kan holde for produktlinjen. Noen av dette kan være litt utenfor mål, noen kan være en mil utenfor målet, og noen jeg kanskje har endret meg om du spør meg neste uke, men forhåpentligvis begynner det noen diskusjoner. PeopleSoft Flytter til Cloud En enkel en først. Det er et sterkt press for å flytte til The Cloud, og det burde være åpenbart for stort sett alle. Det er noen overbevisende suksesshistorier for PeopleSoft i Cloud, kundene har fått store ytelsesøkninger og fleksibilitet i infrastruktur, samt å spare penger. Så langt har disse suksesshistoriene vært på AWS, og 8211 i mindre grad 8211 på Azure, men Oracle vil ha en del av den kaken nå. Oracle Compute Cloud bør være et alternativ når det er en diskusjon om Cloud hosting (og denne diskusjonen bør holdes før noen maskinvareoppdatering eller større oppdateringsoppdatering). Oracle gjør det også lettere for kundene å flytte til The Cloud. PeopleSoft Cloud Architecture er et sett med funksjonalitet og verktøy som letter overgangen, og det vil bli forbedret i fremtidige PeopleTools-versjoner. PeopleSoft Marketplace Remains Buoyant Cedar8217s nåværende erfaring er at det er mye aktivitet i markedet. Gjennom de kommende årene bør vi ikke forvente et stort antall nett-nye kunder som kjøper PeopleSoft, men eksisterende kunder er veldig lojale mot produktet og vil fortsette å dra nytte av de nye funksjonene som legges til produktet. It8217 er lett å forestille seg at i de kommende årene vil det bli en bred adopsjon av Fluid and Cloud Architecture. Flere PeopleSoft Hosting It8217s blir lettere for kundene å outsource omsorgen for deres PeopleSoft-systemer til partnere 8211 eller i fremtiden, kanskje til og med Oracle selv. Cloud gjør infrastrukturen betydelig billigere, og PeopleSoft Cloud Architecture vil gjøre administrasjonen enklere også. PeopleSoft-applikasjonen vil bare bli gitt til kunden som en tjeneste, med all maskinvare, DBA-tjenester og patchhing utført av partneren for en flat månedlig avgift. PeopleSoft oppdateringer kan også bli rullet inn i dette fordi Selective Adoption danner et nøkkelelement av applikasjonsvedlikeholdsmodellen og gir seg veldig godt til Cloud hosting-modellen. Det har vært andre fremskritt i PeopleTools også som gjør det lettere å redusere tilpasninger 8211 og dermed gjøre det enklere for organisasjoner å være vert for flere kundemiljøer. Den nye relaterte innholdshendelsmappingfunksjonaliteten gjør at du kan erstatte (noen) tilpasset kode, og I8217m sikker på at PSAdmin. io-gutta nevnte en teknikk for å legge til felt på en side via config i stedet for tilpasning (men jeg kan finne en kobling for den). Jo nærmere du er vanilje desto lettere er det, hold søknaden oppdatert med de nyeste sikkerhets-, produktrettingene og nye funksjonene. Vil Oracle gi 8220PeopleSoft som en Service8221 For øyeblikket er svaret 8211 minst 8211 8216No8217, men det kan endres over tid. Oracle flytter OnDemand-tilbudet fra fysisk maskinvare til Cloud-infrastruktur, slik at de vil være vert for serverne og gi vedlikeholdsressurser for klienter. PeopleSoft and Containers Den neste utviklingen på fra Virtual Machines er bruk av 8216container8217 teknologi. Problemet med å ha en server som inneholder flere VM er at hver VM må ha sitt eget operativsystem installert, holdt oppdatert og holdt i synkronisering. Denne 8211 og den andre programvaren som kan deles 8211 introduserer mye duplisering. Beholdere er som nedskårne VM, det er ikke noe operativsystem i containeren, bare selve applikasjonen. Hver beholder deler OS som 8217 er installert på verten. Der er en god intro til containere her. Leverandører har begynt å adoptere denne containerteknologien 8211 Docker er uten tvil den mest kjente 8211 og it8217d er ingen overraskelse hvis PeopleSoft begynner å gjøre det samme. It8217d være flott å kunne slippe i en annen App Server-beholder uten å måtte rote rundt med å bygge en. DPKene får oss delvis der, men dette kan være den neste progresjonen. Først we8217ll må vente på Oracle Compute Cloud-støtte for Docker først (eller uansett morsomt navn Oracle gir til Docker-tilsvarende 8230 kanskje 8216Oracle Enterprise Container Management Service8217) Større væskeannonsering Et sted mellom 50-60 av kundene er på v9.2, hvilket betyr at de enten bruker eller forbereder seg til å bruke selektiv vedtak. Når en kunde starter på den Selective Adoption-banen, finner de8217ll at Fluid UI er grensesnittet som oppdateres og repareres, vil bli levert på. Dette vil drive væske adopsjon. Dette er bra for selvbetjeningsbrukere da de8217d vanligvis har mest nytte av en Fluid-utrulling. Selv om det er noen smerter involvert i å få Fluid opp og kjører all tilbakemelding som vi har hørt til dato, er at de som har gjort hoppet, er veldig fornøyd med resultatene. Selvbetjeningsbrukere står for å få mest mulig ut som Fluid gjør PeopleSoft mye mer tilgjengelig for sjeldne brukere. Rollen til SysAdmin er å endre PeopleSofts rolle SysAdmin er dramatisk annerledes enn for 5 år siden. Adventen av PUM, Selective Adoption, DPKs, marionett og SES, og den forestående adopsjon av Cloud Delivery Architecture og Elasticsearch har alle forskjøvet landskapet betydelig. Mye av dette er gode nyheter. For eksempel har Selective Adoption og DPKs både gjort SysAdmin8217s liv lettere (når verktøysettet er blitt lært). Framtiden høres ut som at denne trenden vil fortsette, da Cloud Manager vil tillate en-klikk-levering og oppdatering av miljøer, og Elasticsearch lover å lindre noen av SES-hodepine. Denne større funksjonaliteten kommer til en pris for SysAdmin, og det er at det er en bredere bredde til settet av verktøy som de må mestre. Dagene hvor SysAdmin bare trengte å installere og stille inn, har passert. Denne økte automatiseringen bringer kravet til DevOps SysAdmins 8211, det vil si SysAdmins som er i stand til å kutte noen kode. Rollen som utvikler er å endre utviklere også er å finne at målposter er i bevegelse. Utviklere who8217ve bare bare gjenopprettet fra å bytte ut sine FuncLibs for App pakker er nå reeling fra nyheten at det er enda mer å lære. Væske gir et krav om å vite mye mer HTML, CSS og noen JavaScript. Etter å ha sett en nylig demonstrasjon der Jim Marion helt re-laid out en Fluid-side ved hjelp av Chrome Developer-konsollen i stedet for PeopleCode, tok det virkelig hjem. Den neste teknologien som kommer over bakken på Deve lopers, er Oracle JET 8211 en samling av de mest nyttige JavaScript-rammene. LogStash for PeopleSoft Jeg følte at jeg skulle ende med en ekte 8216out there8217 prediksjon. Med Elasticsearch kan vi se at Oracle er åpent for å inkludere et nytt tredjepartsprodukt som en del av stabelen (tidligere virket det som tredjepartsverktøy ble sakte utfaset), så hvilke andre nye produkter eller verktøy kan bli inkludert. Elasticsearch er laget av en firma som heter elastisk, men de har andre tilbud i tillegg til deres kjernesøk produkt. Den som ser mest appellerende ut fra et PeopleSoft-synspunkt, er LogStash. I8217ve så på det en rekke ganger i løpet av årene, men mangelen på Windows-støtte var alltid en barriere for meg, men nå er det tilgjengelig på Windows. LogStash is a log file aggregation tool, it takes all of the entries in all of your log files spread across all of your servers and makes them available for searching in one central repository. It8217s easy to see how that might be incredibly useful in a PeopleSoft context. There are alternative tools that perform a similar role 8211 Splunk for example 8211 however I think LogStash is the most obvious selection. UPDATE: The PSAdmin. io guys discussed Splunk and LogStash in their latest Podcast . So, there are 8 predictions for the coming years. Have I missed anything glaring Have I got one of them wrong I would like to borrow a few minutes of your time to ask a quick favour. If you haven8217t already, could you please vote 8216Gold8217 for Cedar in the UK PeopleSoft Partner of the Year competition. Here8217s why I believe we8217re worth your vote: We8217ve been serving PeopleSoft customers for 20 years, and in each of the last few years we8217ve worked with more than 40 clients We8217re active members of UKOUG, with multiple employees dedicating time to its committees 8211 quite an investment for a company our size We8217re active in the PeopleSoft community, with multiple blogs and free newsletters We share knowledge freely, with multiple speakers at UKOUG8217s Apps15 and Oracle OpenWorld last year We host our own knowledge sharing events, enabling the PeopleSoft community to network and exchange ideas, whilst Cedar experts and customers share success stories We8217re on the cutting edge, if you want to know about Oracle Public Cloud, Fluid UI or Selective Adoption, we8217re the people to speak to I hope that8217s enough to convince you. If you8217ve voted for us please let me know. If you need more persuasion, please do get in touch. The next profile in our How I Work series is Logesh Balasubramaniam. Logesh is one of the newer bloggers 8211 posting on his LeanIT Designs site 8211 however he provides great content and is usually one of the first to tackle new functionality. He has sometimes even managed to blog about new features before Oracle8217s official post. If you8217re a fan of Logesh8217s work it looks like he8217s been selected to present at OOW this year, alongside his colleague Chamanthi Weerasinghe, on 8220 Bang for Your Buck: A Practical Approach to Optimize Your Selective Adoption8221. Name: Logesh Balasubramaniam Occupation: PeopleSoft Consultant at Presence Of IT, Australia. Location: Auckland, New Zealand. Current computer: Lenovo Thinkpad T440s Current mobile devices: Samsung Galaxy S3 amp iPad Mini 2 I work: To achieve best possible outcome in the realms of Scope, Time amp Cost What appssoftwaretools can8217t you live without Apps 8211 Kindle, linkedin, Keeper(Passwords), doubleTwist Desktop essentials: MS office, Outlook, Notepad, Snipping Tool What8217s your workspace like I am minimalist by nature and my workplace will reflect it. I don8217t tend to carry any baggage(both hard amp soft) and have a compulsion to get rid of anything after its purpose. What do you listen to while you work Silence, help me to focus. Leave my windows open and let in everything that my surroundings offer. What PeopleSoft-related productivity apps do you use Browsers: Chrome amp Firefox, Developer tools in both browsers, Extensions 8211 Wizdler for chrome, HTTPFox for Firefox PeopleTools 8211 Whole suite of development tools and occasionally administration utilities SOAPUI 8211 Everything integration related SQL Developer and SQL Server management studio Do you have a 2-line tip that some others might not know I find 8216My Oracle Support Community (MOSC)8217 to be very active and useful in PeopleSoft application space. Especially for those working on new features in recent product versions, post your queries and you will get immediate help with Oracle specialists. I also find Red Papers released on various topics by Oracle to be a very valuable resource to design solutions especially in integration, security and performance areas. What SQLCode do you find yourself writing most often Having spent most of my time in HCM application, subquery to get MAX(EFFDT), tops my list. What would be the one item you8217d add to PeopleSoft if you could Supportimplement SAML based identity federation. What everyday thing are you better at than anyone else Starting every day with the same eagerness, desire and will I had on my first day at work. What8217s the best advice you8217ve ever received Nothing specific from a person, but an elementary quote that I find most relevant in our profession is 8220A stitch in time save nine8221. As remote work culture and diverse work teams become ubiquitous, proactive communication is key to successful collaboration. Post navigationThis article is from an interview with Zuhaib Siddique. a production engineer at HipChat. makers of group chat and IM for teams. HipChat started in an unusual space, one you might not think would have much promise, enterprise group messaging, but as we are learning there is gold in them there enterprise hills. Which is why Atlassian, makers of well thought of tools like JIRA and Confluence, acquired HipChat in 2012. And in a tale not often heard, the resources and connections of a larger parent have actually helped HipChat enter an exponential growth cycle. Having reached the 1.2 billion message storage mark they are now doubling the number of messages sent, stored, and indexed every few months. That kind of growth puts a lot of pressure on a once adequate infrastructure. HipChat exhibited a common scaling pattern. Start simple, experience traffic spikes, and then think what do we do now Using bigger computers is usually the first and best answer. And they did that. That gave them some breathing room to figure out what to do next. On AWS, after a certain inflection point, you start going Cloud Native, that is, scaling horizontally. And thatrsquos what they did. But theres a twist to the story. Security concerns have driven the development of an on-premises version of HipChat in addition to its cloudSaaS version. Well talk more about this interesting development in a post later this week . While HipChat isnrsquot Google scale, there is good stuff to learn from HipChat about how they index and search billions of messages in a timely manner, which is the key difference between something like IRC and HipChat. Indexing and storing messages under load while not losing messages is the challenge. This is the road that HipChat took, what can you learn Letrsquos seehellip 60 messages per second. 1.2 Billion documents stored 4TB of EBS Raid 8 ElasticSearch servers on AWS 26 front end proxy serves. Double that in backend app servers. 5 terabytes of search data. Hosting . AWS EC2 East with 75 Instance currently all Ubuntu 12.04 LTS Database . CouchDB currently for Chat History, transitioning to ElasticSearch. MySQL-RDS for everything else QueueWorkers server . Gearman (queue) and Curler. (worker) Language . Twisted Python (XMPP Server) and PHP (Web front end) System Configure . Open Source Chef Fabric Code Deployment . Capistrano Monitoring . Sensu and monit pumping alerts to Pagerduty Graphing . statsd Graphite Traffic is very bursty. On weekends and holidays it will be quiet. During peak load is hundreds of requests per second. Chat messages dont actually make up the majority of traffic its presence information (away, idle, available), people connectingdisconnecting, etc. So 60 messages per second may seem low, but it is just an average. HipChat wants to be your notification center, where you go to collaborate with your team and get all the information coming from your tools and other systems. Helps keeps everyone in the loop. Especially with remote offices. The big reason to use HipChat over say IRC, is that HipChat stores and indexes every conversation so you can search for them later. Search is emphasized so you can stay inside HipChat. The win for teams of this feature is that you can go back at any time and remember what happened and what you agreed to do. It will also route messages to multiple devices owned by the same user, as well as temporary message cachingretry if your device is unreachable when a message is sent. Growth is from more customers, but also greater engagement as more customers use the product at each site. Also seeing growth from their API integration. Storage and searching of messages is the major scalability bottleneck in their system. HipChat uses XMPP so any XMPP client can connect into the system, which is a huge win for adoption. And theyrsquove built their own native clients (Windows, Linux, Mac, iOS, Android) with extensions like PDF viewing, custom emoticons, automatic user registration, etc. Not long ago bringing tools like Wikis into a corporate culture was almost impossible. Now enterprise level tools seem to accepted. Why now Text based communication is now common and accepted. We have texting, IM, and Skype, so using chatting tools is now natural. Rise of distributed work teams. Teams are more and more distributed. We canrsquot just sit down together and get a lecture. Therersquos a need to document everything which means organizing communication is perceived as a great asset. Enhanced features. Features like inline images, animated gifs, etc make it fun, which appeals to wider groups of people. HipChat has an API which makes it possible to write tools analogous to IRC bots. Example use is for Bitbucket commits. At 10:08 developer X commits some code to fix a bug. It is sent out via HipChat with links directly to the code commit and the commit log. All automated. Bitbucket commit hits a web hook and uses one of the addons to post the information. Addons help with writing your own bots. Go to your Bitbucket account. Say I have my API token and I want to post to this API whenever a commit happens. Works similarly for GitHub. Started with Adobe Air on the client side, it leaked memory and would take down machines. So moved to native apps. A pain, but a good pain. They have users across all platforms in all parts of a company. You need to be where users are at. Want users to have a great experience on all OSs. Users are everyone, not just techies. XMPP Server Architecture HipChat is based on XMPP, a message is anything inside an XMPP stanza. which could be anything from a line of text or long section of log output. They didnrsquot want to talk about their XMPP architecture, so there arenrsquot a lot of details. Instead of using a 3rd party XMPP server, theyrsquove built their own using using Twisted Python and XMPP libraries. This allows allows the creation of a scalable backend, user management, and easy addition of features without fighting someone elses code base. RDS on AWS is used for user authentication and other areas where transactions and SQL would be useful. Itrsquos a stable, proven technology. For the on-premises product they use MariaDB. Redis for caching. Information like which users are in which rooms, presence information, who is online, etc, so it doesnrsquot matter which XMPP server you connect to, the XMPP server itself is not a limit. Pain point is Redis doesnrsquot have clustering (yet). For high availability a hotcold model is used so a slave is ready to go. Failover takes about 7 minutes from a master to a slave. Slave promotion is by hand, itrsquos not automated. Increased loads exposed a weakness in the proxy server and how many clients they could handle. This is a real problem as not losing messages is a high priority. Customers indicate that not dropping messages is more important than low latency. Users would rather get messages late than not at all. With 6 XMPP servers the system worked well. As the connection counts increased they started seeing unacceptable latency. Connections donrsquot just come from clients, but also bots supporting their programmatic interfaces. As a first pass they split out front-end servers and app servers. Proxies handle connections and the backend apps processes stanzas. The number of frontend servers is driven by the number of active listening clients and not the number of messages sent. Its a challenge to keep so many connections open while providing timely service. After fixing the datastore issues the plan is to look into how to optimize the connection management. Twisted works well, but they have a lot of connections, so have to figure out how to handle that better. Storage Architecture At 1 billion messages sent on HipChat while experiencing growth, they pushed the limits of their CouchDB and Lucene solution for storing and searching messages. Thought Redis would be the failure point. Thought CouchLucene would be good enough. Didnrsquot do proper capacity planning and looking at message growth rate. Growing faster than they thought and shouldnrsquot have focussed so much on Redis and focused on data storage instead. At that time they believed in scaling by adding more horsepower, moving up to larger and larger Amazon instances. They got to the point where with their growth this approach would only work for another 2 months. So they had to do something different. CouchLucene was not updated in over year and it couldnrsquot do faceting. Another reason for something different. At about half a billion messages on Amazon was a tipping point. With a dedicated server and 200 Gig of RAM their previous architecture might have still worked, but not in a cloud with limited resources. They wanted to stay on Amazon. Like its flexibility. Just spin up a new instance and chug along. Amazonrsquos flakiness makes you develop better. Donrsquot put all your eggs in one basket, if a node goes down you have deal with it or traffic will be lost for some users. Uses a dynamic model. Can lose an instance quickly and bring up new instances. Cloud native type stuff. Kill a node at any time. Kill a Redis master. Recover in 5 minutes. Split across all 4 US-East availability zones currently, but not yet multi-region. EBS only letrsquos you have 1TB of data. Didnrsquot know about this limit when they ran into it. With Couch they ran into problems with EBS disk size limitations. HipChatrsquos data was .5 terabytes. To do compaction Couch had to copy data into a compaction file which doubles the space. On a 2 TB RAID hitting limits during compaction on the weekends. Didnrsquot want a RAID solution. Amazon DynamoDB wasnrsquot an option because they are launching a HipChat Server, a hosted service behind the firewall. HipChat Server drives decisions on the tech stack. Private versions are a host your own solution. Certain customers canrsquot use the cloudSaaS solution, like banks and financial institutions. NSA has spooked international customers. Hired two engineers to create an installable version of the product. Redis Cluster can be self-hosted and it works on AWS as can ElasticSearch. Instead of RDS they use MariaDB in the on-premises version. Canrsquot consider a full SaaS solution as that would be a lockin. Now transitioning to ElasticSearch. Moved to ElasticSearch as their storage and search backend because it can eat all the data they can feed it, it is highly available, it scales transparently by simply adding more nodes, it is multi-tenant, it can transparently with sharding and replication handle a node loss, and itrsquos built on top of Lucene. Didnrsquot really need a MapReduce functionality. Looked into BigCouch and Riak Search (didnrsquot look well baked). But ES performance on a GET was pretty good. Liked the idea of removing a component, one less thing to troubleshoot. ES HA has made them feel really confident in the solidity of their system. Lucene compatible is a big win as all their queries are already Lucene compatible, so it was a natural migration path. Customer data is quite varied, ranging from chat logs to images, so response type are all over the place. They need to be able to quickly direct query data from over 1.2 Billion docs. In a move that is becoming more and more common, HipChat is using ElasticSearch as their key-value store too, reducing the number of database systems they need and thus reducing overall complexity. Performance and response times were so good they thought why not use it Between 10ms and 100ms response times. It was beating Couch in certain areas without any caching in front of it. Why have multiple tools With ES a node can go down and nobody notices, you will get an alert about high CPU usage while it is rebalancing, but it keeps chugging along. Have 8 ES nodes to handle growth in traffic. As with all Java based products JVM tuning can be tricky. To use ES must capacity plan for how much heap space yoursquoll be using Test out caching. ES can cache filter results, it is very fast, but you need a lot of heap space. With 22 gigs of heap on 8 boxes, memory was exhausted with caching turned on. So turn off cache unless planned for. Had problems with caching because it would hit an out of memory error and then fail. The cluster self healed in minutes. Only a handful of users noticed a problem. Automated failover on Amazon is problematic because of the network unreliability issues. In a cluster it can cause an election to occur errantly. Ran into this problem with ElasticSearch. Originally had 6 ES node running as master electable. A node would run out of memory or hit a GC pause and on top of that a network loss. Then others could no longer see the master, hold an election, and declare itself a master. Flaw in their election architecture that they donrsquot need a quorum. So therersquos a brain split. Two masters. Caused a lot of problems. Solution is to run ElasticSearch masters on dedicated nodes. Thatrsquos all they do is be the master. Since then there have been no problems. Masters handle how shard allocation is done, who is primary, and maps where replica shards are located. Makes rebalancing much easier because the masters can handle all the rebalancing with excellent performance. Can query from any node and will do the internal routing itself. Uses a month index. Every month is a separate index. Each primary index has 8 shards then two replicas on that. If one node is lost the system still functions. Not moving RDS into ES. Stuff they need SQL for is staying in RDSMariaDB, typicall User management data. A lot of cache in Redis in a masterslave setup until Redis Cluster is released. Therersquos a Redis stat server, who is in a room, who is offline. Redis history caches the last 75 messages to prevent constantly hitting the database when loading conversation for the first time. Also status for internal status or quick data, like the number of people logged in. Gearman used for async jobs like iOS push and delivering email. AWS West is used for disaster recovery. Everything is replicated to AWS West. Chef is used for all configuration. ElasticSearch has a nice cookbook for Chef. Easy to get started. Like Chef because you can start writing Ruby code instead of using a Puppet style DSL. It also has a nice active community. Acquisition experience. They now have access to core company assets and talent, but Atlassian doesnrsquot mess with what works, we bought you for a reason. Can ask internally, for example, how to scale ElasticSearch and when others in Atlassian need help they can pitch in. Good experience overall. Team structure is flat. Still a small team. Currently have about 18 people. Two people in devops. Developers for platforms, iOS, Android, a few on the server side, and a web development engineer (in France). Capistrano is used to deploy to all boxes. Sensu for monitoring apps. Forgot to monitor a ElasticSearch node for heap space and then hit OOM problems without any notifications. Currently at 75 of heap which is the sweet spot they want. Bamboo is used for continuous integration. Client releases not formal yet, developer driven. Have a staging area for testing. Group flags. Can control which groups get a feature to test features to slowly release features and control load on boxes. Feature flag. Great for protection during the ElasticSearch rollout, for example. If they notice a bug they can turn off a feature and roll back to Couch. Users donrsquot notice a difference. During the transition phase between Couch and ElasticSearch they have applications replicate to both stores. New API version will use Oauth so developers can deploy on their own servers using the HipChat API. Having customers use their own servers is a more scalable model. The Future Will hit two billion messages in a few months and itrsquos estimated ElasticSearch can handle about two billion messages. Not sure how to handle the expected increases in load. Expect to go to Amazon West to get more datacenter availability and possibly put more users in different datacenters. Looking to use AWSrsquos auto scale capabilities. Moving into voice, private 1-1 video, audio chat, basic conferencing. Might use RabbitMQ for messaging in the future. Greater integration with Confluence (a wiki). Use HipChat to talk then use Confluence page to capture details. Therersquos money in them there Enterprise apps . Selling into an Enterprise can be torture. Long sales cycles means it can be hit or miss. But if you hit itrsquos a lucrative relationship. So you may want to consider the Enterprise market. Times are changing. Enterprisersquos may still be stodgy and slow, but they are also adopting new tools and ways of doing things, and therersquos an opportunity there. Privacy is becoming more important and it impacts your stack choices when selling into the Enterprise . HipChat is making an on premise version of their product to satisfy customers who donrsquot trust the public networks or clouds with their data. To a programmer the cloud makes perfect sense as a platform. To an Enterprise the cloud can be evil. What this means is you must make flexible tech stack choices. If you rely 100 on AWS on services it will make it nearly impossible to move your system to another data center. This may not matter for Netflix, but it matters if you want to sell into the Enterprise market. Scale up to get some breathing space . While you are waiting to figure out what you are going to next in your architecture, for very little money you can scale-up and give yourselves a few more months of breathing space. Pick what canrsquot fail . HipChat made never losing user chat history a priority, so their architecture reflects this priority to the point of saving chat to disk and then later reloading when the downed systems recover. Go native . Your customers are on lots of different platforms and a native app would give the best experience. For a startup thatrsquos a lot of resources, too many. So at some point it makes sense to sell to a company with more resources so you can build a better product. Feature and group flags make a better release practice . If you can select which groups see a feature and if you can turn off features in production and test, then you donrsquot have to be so afraid of releasing new builds. Select technologies you feel really confident with . ElasticSearchrsquos ability to expand horizontally to deal with growth helped HipChat feel very confident in their solution. That users would be happy. And thatrsquos a good feeling. Become part of the process flow and you become more valuable and hard to remove . HipChat as a natural meeting point between people and tools is also a natural point to write bots that implement all sorts of useful work flow hacks. This makes HipChat a platform play in the enterprise. It enables features that wouldnrsquot otherwise be buildable. And if you can do that you are hard to get rid of. AWS needs a separate node presence bus . Itrsquos ridiculous that in a cloud, which is a thing in itself, that machine presence information isnrsquot available from an objective third party source. If you look at rack it will have often have a separate presence bus so slots can know if other slots are available. This way you donrsquot have to guess. In the cloud software is using primitive TCP based connection techniques and heartbeats to guess when another node is down, which can lead to split brain problems and data loss on failovers. Itrsquos time to evolve and take huge step towards reliability. Product decision drive stack decisions . HipChat server drives decisions on the tech stack. Redis Cluster can be self-hosted. Amazon DynamoDB wasnrsquot an option because they are launching a hosted service behind the firewall. Throwing horsepower at a problem will only get you so far . You need to capacity plan, even in the cloud. Unless your architecture is completely Cloud Native from the start, any architecture will have load inflection points at which their architecture will no longer be able to handle the load. Look at growth rate. Project out. What will break What will you do about it And donrsquot make the same mistake again. How will HipChat deal with 4 billion messages Thatrsquos not clear. Know the limits of your system . EBS has a 1 TB storage limit, which is a lot, but if your storage is approaching that limit there needs to be a plan. Similarly, if your database, like Couch, uses double the disk space during a compaction phase that will impact your limits. The world will surprise you . Six months ago HipChat thought Redis was going to be the weakest link, but itrsquos still be going strong and it was Couch and EBS that were the weakest link. Related Articles I wonder how they handle the 50 failure rate inherent within redis from a durability perspective. Or perhaps comment on if they saw similar performance. Out of 2000 writes, Redis claimed that 1998 of them completed successfully. However, only 872 of those integers were present in the final set. Redis threw away 56 of the writes it claimed were successful. Alex, there is absolutely not a quot50 failure rate inherent within Redisquot. I39m not sure that you39re grokking that properly. That is specifically in the (hopefully) quite rare quotsplit brainquot problem, and a completely acceptable issue for what they39re using it for (and hopefully for what everyone39s using it for, lightweight job queuing). I happily use Redis for job queuing on API servers and for pickup from Logstash and its failure rate is 0. Further the article specifically mentions that elevation is manual and this situation won39t happen. Even further still, it doesn39t matter a bit, save for load on the backend. Those are caching servers, not mission critical data. This is exactly the scenario where you don39t bother with ACID compliance or phantom writes. Great article. Helpful for sure. I do want to point out though that the last paragraph has some spelling and grammar issues: The world will surprise you. Six months ago HipChat though Redis was going to be the weakest linked, but its still be doing strong and it was Couch and EBS that were the weakest link. very good article but the number 60 is small in comparation with so many servers. May in quotrush hourquot they deliver 600 or 6000

Comments

Popular posts from this blog

Vellykket Forex Tradere In Singapore

Navn bare en vellykket forex handelsmann. Ble med jul 2006 Status: ubrukelig, hjerneløs, stalking troll 816 Innlegg Ditt spørsmål er ikke mulig å svare. Jeg tviler på at det er noen handelsmenn der ute som vi har hørt om. Soros, Rogers etc som har handlet eller for tiden handler valutaer (for det meste ved å kortslutte USD) utelukkende. De handler også futures, aksjer mm. Heck, jeg handler tre markeder og jeg har knapt nok til dag handel aksjer. Jeg kan ikke forestille seg markedene og investeringene disse menneskene spredte seg i. Det er verter av nettsteder der ute som har kvoteforvaltere som sier at de handler forex. Stoler du på dem nok med pengene dine for å finne ut om de er for ekte eller vellykket av dine ord jeg er ikke. Selv om noen fortalte meg at de var gode, eller de var på en hedgefondsliste med en min. Investering på 100.000 med år med historie ville jeg fortsatt ikke stole på dem. Det var en liste med den måten som uttalt at markedene ble omsatt, flere var utenlandsk va...

Online Trading Kotak Verdipapirer Ltd

Kotak Securities Stock Trading, Demat, Brokerage og Anmeldelser 2017 Kotak Securities Ltd, et datterselskap av Kotak Mahindra Bank ble grunnlagt i 1994. De tilbyr aksjemeglingstjenester og distribuerer finansielle produkter i India. De har 1209 grener, franchisetakere og satellittkontorer tilbyr tjenester til 11.95 Lakh kunder. De selskapsledere med Bombay børs og National Stock Exchange. De er også en innskuddspartner med National Securities Depository Limited (NSDL) og Central Depository Services Limited (CDSL). Kotak-verdipapirer tilbyr tre-i-ett-kontoer som gjør det mulig for investor å åpne demat, handel samt en bankkonto sammen med Kotak Mahindra Bank Limited. Man kan åpne kontoen selvstendig eller samtidig under en paraply med et enkelt søknadsskjema. Bruk av 3 i 1 konto klient wonrsquot må manuelt overføre penger til trading konto fra banken f. account. De nødvendige midlene krediteres automatisk. Så det er lett å administrere. Når din konto er åpen, kan du handle i Equity, IPO...