====== Instagram: Technologie a architektura ====== **Instagram** je sociální síť zaměřená na vizuální obsah, založená v roce 2010 Kevinem Systromem a Mikem Kriegerem. V roce 2012 ji za 1 miliardu dolarů koupil **Facebook** (dnes Meta). Pro IT svět je Instagram symbolem škálovatelnosti a inovací v oblasti mobilního vývoje. ===== 1. Technologický stack ===== Instagram začínal jako jednoduchá aplikace postavená na frameworku Django, ale s růstem na miliardu uživatelů musel svůj stack výrazně modernizovat: * **Backend:** Jádro stále běží na **Pythonu (Django)**. Instagram je jedním z největších uživatelů Pythonu na světě a přispívá k jeho optimalizaci (např. vylepšování Garbage Collectoru). * **Frontend (Mobil):** Původně nativní aplikace byly z velké části přepsány do [[it:sw:react_native|React Native]], což Instagramu umožnilo sdílet kód mezi iOS a Androidem. * **Frontend (Web):** Využívá knihovnu [[it:sw:react|React]]. * **Databáze:** Používá masivně sharded **PostgreSQL** pro strukturovaná data a **Cassandru** pro data s vysokou propustností (např. zprávy). --- ===== 2. Zpracování a doručování obsahu (CDN) ===== Hlavní výzvou Instagramu je rychlost načítání médií. K tomu využívá: * **CDN (Content Delivery Network):** Globální síť serverů Meta, které ukládají kopie fotek blízko uživatelů. * **On-the-fly Image Resizing:** Server automaticky generuje různé velikosti obrázků podle rozlišení displeje a rychlosti připojení uživatele. * **Adaptivní streaming videa:** Používá technologie jako DASH nebo HLS, které upravují kvalitu videa v reálném čase podle kvality Wi-Fi/4G. --- ===== 3. Role Algoritmů a AI ===== Instagram byl jednou z prvních sítí, která opustila chronologický kanál příspěvků ve prospěch **algoritmického feedu**: * **Machine Learning:** Algoritmy analyzují miliardy interakcí (lajky, komentáře, doba sledování), aby každému uživateli sestavily unikátní výběr příspěvků. * **Computer Vision:** Umělá inteligence "vidí", co je na fotkách. To slouží k automatickému generování popisků pro nevidomé, k filtrování nevhodného obsahu a k cílení reklamy. --- ===== 4. Architektura mikroslužeb ===== Původní monolit (jedna velká aplikace) byl postupně rozdělen na stovky **mikroslužeb**, které komunikují převážně přes [[it:sw:graphql|GraphQL]]. To umožňuje různým týmům vyvíjet funkce (Příběhy, Reels, Direct) nezávisle na sobě. --- ===== 5. Klíčové inovace v uživatelském rozhraní ===== ^ Funkce ^ Rok ^ Technologický dopad ^ | **Filtry** | 2010 | Popularizace mobilní úpravy fotografií. | | **Stories** | 2016 | Formát efemérního (mizejícího) obsahu. | | **Reels** | 2020 | Odpověď na TikTok, masivní využití AI pro doporučování videí. | ---- //Související články:// * [[it:sw:facebook|Meta: Mateřská společnost]] * [[it:sw:react_native|React Native v praxi]] * [[it:sw:graphql|GraphQL: Jak Instagram získává data]] //Tagy: {{tag>it-giants instagram meta python django mobile-development cdn ai}}//