Video: Speed at Scale: Web Performance Tips and Tricks from the Trenches (Google I/O ’19) (Listopad 2024)
Řada lidí byla minulým týdnem pod vlivem Google I / O, protože neexistovala žádná hlavní oznámení - žádná nová verze Androidu, žádný nový hardware Nexus. To je ale trochu nespravedlivé, protože změny ve službách Google+ a Mapy byly velmi významné a Google Glass právě vychází jako vývojová platforma se skutečným potenciálem. Velkým příběhem je pro mě ten příběh, který si příliš nevšiml: pokračující vývoj samotného webu jako platformy a způsob, jakým weboví klienti a mobilní klienti připojeni k cloudovým službám mění vývojové paradigma.
V některých ohledech jsou změny na webu často přehlíženy, protože jsme neviděli jedno velké oznámení jediné aktualizace, která všechno změnila; místo toho vidíme nahromadění mnoha malých vylepšení v technologiích, jako jsou HTML5 a CSS a JavaScript, na straně klienta, a v jazycích, které vývojáři používají k vytvoření klientské i serverové (nyní nazývané cloudové) strany svých webových stránek aplikace. Pokud jde o vývojáře, je to spíše „agilní“ než „vodopád“, akumulace množství dílčích změn, které posunují platformu dopředu.
Na konferenci jsem se zúčastnil mnoha relací, které se dotýkaly tohoto tématu, a stejně jako v minulých letech jsem byl velmi ohromen novými věcmi, které lidé mohou udělat, aby byly webové aplikace výkonnější. Dostáváme se k věci, kde téměř cokoli, co můžete udělat na tradičních klientských operačních systémech, jako jsou Windows nebo Mac, lze provést pomocí webového prohlížeče.
Například v relaci na téma „A Awesome Web“, Eric Bidelman, který provozuje html5rocks.com, vysvětlil některé zajímavější věci, které mohou vývojáři udělat pomocí nových funkcí HTML5. Patří mezi ně nové nástroje související s návrhem stránky, jako jsou pohledy, flexibilní prvky stránky a řada nových proměnných CSS. Spíše než statický design stránky předváděl stránky s funkcemi, jako jsou animace, nebo s těmi, které vypadají jinak v závislosti na tom, kde na stránce se nacházíte. (Například stránka rozvrhování vstupů / výstupů Google udržuje při procházení denních relací záhlaví pro každý den v horní části stránky, ale každá záhlaví zmizí, když se dostanete na další den.)
Také předváděl multimediální funkce, včetně sdílení obrazovky přes web.RTC, a také webové audio, kde zobrazoval webové stránky, které nahrávají a zobrazují zvuk v reálném čase, a dokonce připojil kytaru a povolil efekty v reálném čase. Předváděl rozhraní Web speech API, které umožňuje nepřetržitý záznam a diktování řeči, spolu s aplikacemi, jako je překlad. Je docela úžasné, co můžete v dnešním webovém prohlížeči dělat.
V dalším sezení, vývojový obhájce Ido Green a vývojář programů Danny Hermes, ukázali příklady mobilních, webových a cloudových trendů spolupracujících v tom, co označili jako „trojitá koruna moderních aplikací“. Ukázali, co se zdálo být aplikací, která vám umožňuje přidat a uložit fotografii v odpojené mobilní aplikaci, ale po obnovení připojení ji nechat synchronizovat s více zařízeními.
Žertovali o tom, zda jsou cloud a klient přátelé. Green argumentoval, že moderní aplikace jsou samostatné, zaměřují se nejprve na offline, jsou si vědomy zařízení, logika se odstraňuje ze serveru a tlačí na důležitost toho, aby aplikace reagovaly a šikovně. Hermes řekl, že moderní aplikace se musí spoléhat na cloud, například pro výpočet offloadu. To vám umožní mít „datové centrum v ruce“ s mnohem větším výkonem.
Toto demo využilo platformu Google Cloud Platform a opravdu mnoho relací bylo zaměřeno na nové funkce na „cloudové“ nebo serverové straně.
Urs Hölzle, senior viceprezident pro technickou infrastrukturu, hovořil o otevření platformy Google Cloud Platform, včetně zpřístupnění služby Google Compute Engine veřejnosti, jakož i Cloud Datastore, veřejné databáze NoSQL společnosti Google. Tito budou konkurovat Amazonu. Compute Engine vypadá jako docela standardní výpočetní engine a nabízí Linuxové VM, které budou soutěžit s Amazon EC2 (Elastic Compute Cloud) a další infrastrukturou jako nabídku služeb. Cloud Datastore je API, které lze použít v rámci Compute Engine nebo jiných služeb.
Ve službě Compute Engine jsem viděl několik zajímavých ukázek v relaci pořádané Martinem Gannholmem a Navneet Jonejou. V uplynulém roce uvedli, že Compute Engine je rychlejší, lepší, nákladově efektivnější a snáze se používá. Přinesli Sebastiana Stadila, zakladatele projektu Scalr, aby ukázali měřítko ukazující, jak rychlejší byla služba pro sekvenční IO a jak dobře to fungovalo pro „cloudbursting“ a vysokou dostupnost.
V další relaci na Big Data Mashups, Derek Stevenson, vedoucí ředitel datové strategie a analytiky v Shutterfly, vysvětlil, jak web fotografií používá službu Google BigQuery k provádění analýzy. Poznamenal, že stránka obsahuje více než 19 miliard fotografií, které zaplňují více než 80 petabytů. Řekl, že firma chce uchovat všechny podrobnosti o fotografiích a uživatelích, kteří je nahráli, ale obává se rozsahu a výkonu, nákladů a jednoduchosti provádění analytiků.
Mluvil o dotazu dvou miliard záznamů ve 400 sloupcích, které trvalo 20 až 60 sekund bez nutnosti modelování dat. To by bylo pro dotazy týkající se doby, kterou zákazníci na webu strávili. Také diskutoval o vizualizaci dat pomocí Tableau, který je integrován s BigQuery. Kombinace umožní nové kategorie analýz, řekl Stevenson, včetně marketingu a segmentové analýzy.
V panelu distribuovaných databází se Chris Ramsdale, produktový manažer cloudové platformy Google, zaměřil na Google Cloud Datastore. Zástupci jiných společností však ukázali alternativní řešení. Tyler Hannan popsal Riaka, úložiště klíčů a hodnot s otevřeným zdrojovým kódem, které je velmi snadno škálovatelné. Mike Miller of Cloudant diskutoval o distribuované databázi společnosti jako o službě, která se zdá být zaměřena na připojení s nízkou latencí pro mobilní vývojáře. AppEngine se právě stáhlo z AppEngine, aby se stalo samostatnou nabídkou stále postavenou na firemní infrastruktuře. Will Shulman z MongoLab diskutoval o MongoDB, který popsal jako distribuovanou dokumentově orientovanou (nebo objektově orientovanou) databázi s bohatým dotazovacím jazykem. MongoLab nabízí MongoDB jako službu, která běží na více poskytovatelích cloudu, včetně AWS a cloudových nabídek Google.
I když mezi těmito produkty existuje řada překrývajících se rysů, existují také vážné rozdíly mezi nabídkami.
Celkově jsem z konference odešel nejen s lepším porozuměním cloudových nabídek Google, ale s rostoucím oceněním toho, co můžete dělat s webovými a mobilními aplikacemi, které se k nim připojují.