Problémák, küzdelem és sikerek

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

A virtuális munka-környezet
Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
Készítette: Nagy Márton
Hálózati és Internet ismeretek
Hálózatok.
Segítség! Felnőttem! Nagy terhelhetőségű, magas rendelkezésreállású rendszerek építési és üzemeltetési útmutatója Kovács Zsolt Szerverhotel igazgató.
Egy kisvállakozás dinamikus weboldalának fejlesztése: tervezés, problémák, megoldások Szilágyi Gábor.
Tóth Tamás, EWYXK4 BME-VIK Automatizálási és Alkalmazott Informatikai Tanszék Konzulensek: Dávid Zoltán, Gincsai Gábor Budapest, tavaszi félév.
QualitySoft On-Line megoldások Terminálszerver alternatíva a Távoli Asztali eléréshez.
Openstack Matics Zoltán
Tectia MobileID Express – Kétfaktoros erős autentikáció – 5 percen belül üzemkészen! január 16.
Hatékonyságnövelés IT biztonsági megoldásokkal Szincsák Tamás IT tanácsadó 2012.Október 17.
A webes tesztelés jövője
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Alkalmazás és megjelenítés virtualizáció Micskei Zoltán.
Tűzfal beállítása Ubuntuban
Sütik. Mi is az a süti? A HTTP-süti egy információcsomag, amelyet a szerver küld a böngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver.
Networkshop, április Gál Gyula, Szegedi Tudományegyetem, Egyetemi Könyvtár Szerver-kliens alapú online intranetes.
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Jelszavak helyes megválasztása, szótáras törés
Szombathely Dinamikus WEB programozás: PHP és JSP.
Vizuális és web programozás II.
WEB MES (webes gyártásirányító rendszer)
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Hálózatkezelési újdonságok Windows 7 / R2
Levelezés, és a többiek Takács Béla Irodalom Bodnár –Magyari: Az Internet használata I. (Kiskapu) Bodnár –Magyari: Az Internet használata.
2014. július Tóth Nándor, Kecskeméti Főiskola - Informatika Hálózati Csoport Hiba észlelése Hiba észlelése Bejelentés Elfelejtődik Hibakeresés,
Appletek és Servletek Demeter Lehel 641-es csoport.
Web Application for Resource Planning
TransitView TransitView Fejlesztői csoport: Lévai János, Fejér Róbert, Sulyok Csaba, Sztankovics Ágnes Vezető tanár: Simon Károly.
A Szilárdtest Fizika Tanszék Virtuális Oktatási Környezete A XXI. század diplomája Elektronikus távoktatás.
WEB 2.0. Amiről szó lesz… Web átalakulóban, a WEB 2.0 –Újszerű weboldalak… –Első a tartalom! –A felhasználók hatalomátvétele?! –A Web mint platform –
PHP oktatási tapasztalatok
Flash és PHP? De még mennyire! Kiss-Tóth Marcell
Gábor Dénes Főiskola Rendszertechnikai Intézet
HuWiCo Hotspotok firmware ismertető. HuWiCo hotspotok most Nyílt hálózat Nincs authentikáció Nincs csomagszűrés Nincs remote managemant Nincs titkosított.
Nagy teherbírású rendszerüzemeltetés a felhőben. Miről lesz szó? Cloud áttekintő Terheléstípusok és kezelésük CDN Loadbalancing Nézzük a gyakorlatban.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
{ PKI } Active Directory Certificate Services
Az országos közdadatkereső rendszer működése és jövője Dr. Csiszér Gábor GKM, Infokommunukációs és e-Gazdaság Főosztály Galambosi András Neumann Kht
Út a felhőbe - Azure IaaS Windows Server 2012 R2 konferencia
Web-alapú humán lekérdező rendszer
Eszköz és identitás kezelés Korlátlan fájl szerver kapacitás Másodlagos adatközpont Korlátlanul skálázódó infrastruktúra Biztonságos DMZ Hibrid adat-
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
Hogyan készítheti el egy laikus egy nap alatt az INFOÉRA konferencia programlistázó és értékelő mobilalkalmazását? Menyhárt László Gábor Zamárdi,
Advanced Next gEneration Mobile Open NEtwork ANEMONE Promóciós Nyílt Nap A teszthálózat használata 2008 április 22. Nováczki Szabolcs
A PKI project célja Digitális kulccsal elérhető szerver Hamisíthatatlan naplózás Új kulcsok dinamikus létrehozása Felhasználók letiltása.
Desktop virtualizáció Microsoft VDI használatával Háló Gyula.
WireShark - Forgalom elemzés
Irány a felhő Előnyök, tapasztalatok Sárdy Tibor
Corporate presentation ”quis custodiet ipsos custodes” Avagy ki vigyázza a vigyázókat.
GUARDING YOUR BUSINESS ■ syslog-ng web GUI-k Czanik Péter BalaBit.
Web alapú humán lekérdező rendszer
Ha(doop) akkor adatok... Hadoop és Node.JS adatfeltöltő (BME – NYME) Szalai László, Major Kálmán TÁMOP 4.1.1/C-12/1/KONV
LPDS és felhő technológia Peter Kacsuk
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Infrastruktúra alapelemek és számítási felhők Szatmári.
AZURE RÉGIÓK Szoftver szolgáltatás SaaS Platform szolgáltatás PaaS Infrastruktúra szolgáltatás IaaS.
Webáruház rendszerek Reisz Péter G-3S
Újdonságok a FreeBSD 8.0 verzióban Ádám Szilveszter
A HTML alapjai Az internet és a web.
Fülemüle informatika tehetségkutató verseny
HTE előadás BME TMIT I. 210 Az internet szolgáltatás mérése az NMHH gyakorlatában – a szolgáltatásminőség EU-s dimenziója Előadók: Torma Zsolt (NMHH)
A Linux operációs rendszer
Integrált könyvtár rendszer (IKR)
Adatmozgatás az MTA Cloudon Data Avenue segítségével MTA Cloud workshop november 21. Nagy Enikő MTA Cloud csapattag Szoftverfejlesztő.
Docker (on Windows) Hogyan kerüljük el a csapdákat?
Hálózati struktúrák, jogosultságok
Kisvállalati hálózat kialakítása raspberry szerverrel
Online szabadságtervező, jóváhagyó, nyilvántartó rendszer
Web alapú humán lekérdező rendszer
Előadás másolata:

Problémák, küzdelem és sikerek Docker tapasztalatok Problémák, küzdelem és sikerek

ÉLET A DOCKER ELŐTT Fejlesztő Szoftver Webszerver Rendszergazda Weblapok telepítésének mentése a Docker előtt A fejlesztő elkészíti a szoftvert Konzultál a rendszergazdával a szoftver igényeiről A rendszergazda erősen gondolkodik, melyik az alkalmas szerver Létrehoz új szervert, ha szükséges és ha tud Rendszergazda

ÉLET A DOCKERREL Fejlesztő Mr. Docker Rendszergazda Dockerfile Image A fejlesztő leírja a szoftver igényeit egy fájlba Mr. Docker (a program) megérti és elkészíti a csomagot (weblap+webszerver program) A rendszergazda letölti a csomagot és elindítja belőle a programot (konténer), akár gondolkodás nélkül A konténer egy elszeparált környezet a program számára Más megfogalmazásban a következő dián Dockerfile Image Container

BIZTONSÁG A gazda rendszerről belelátunk a buborékba. Gazda rendszer a gép, amin a program fut A gazda rendszerről belelátunk a buborékba. A buborékból semmi nem lát ki. Rést nyithatok, amin ki lehet látni, csak azt, amit én engedek.

RUGALMASSÁG, SKÁLÁZHATÓSÁG Pl. a regisztrációban dolgozik a könyvtáros, de sok az olvasó Klónozzuk a könyvtárost, hogy bírja a terhelést A biztonsági őr eldönti, melyik klónhoz menjen az olvasó, mert látja, hol vannak sokan. Több különböző buborék lehet, de ugyanabból is lehet több. Ha túl sokat dolgozik, “klónozzuk” és megosztják a munkát. A klónok más-más gépen lehetnek. Egy szolgáltatás minden kérésnél eldönti, melyik dolgozzon.

DOCKER Egy eszköz arra, hogy a szoftver és a függőségei (pl. webszerver) egy csomagként működjenek hordozhatóan és bármikor, bármilyen Dockert támogató gépen ugyanúgy fussanak.   Ugyanúgy, de mégsem: Docker verzió kernel verzió SELinux fájlrendszer Programok telepíthetők a hoszt teleszemetelése nélkül. Az alkalmazások teljesen/részlegesen elszeparálhatók. Egyszerűbb és gyorsabb a frissítés.

A WEBFEJLESZTŐ SZÜKSÉGLETEI webszerver (httpd, nginx, tomcat, stb...) értelmező (PHP, Java, NodeJS, stb...) adatbázis szerver (MySQL, Oracle, PostgreSQL) CSS előfeldolgozó (LESS, SASS) feladatok automatizálása (Grunt, Gulp) függőségek leírására (Composer, Bower, NPM) verziókezelő (Git, Svn) távoli munka (VPN, SSH tunnel) Docker nélkül is megoldhatók, de itt jön be az ÚJ SZEMLÉLET

SZEMLÉLETI EVOLÚCIÓ mindent bele egy image-be különálló komponensek XAMPP = Apache + MySQL + PHP Egyklikkes csomagkezelőből telepítés forrásból fordítás (több, tetszőleges verzió) saját szkriptek a frissítéshez PHPBrew (több verzió, frissítés) Vagrant (VM leírása, automatizálás) Virtuális gép mindent bele egy image-be különálló komponensek Dockerre épülő, azt támogató eszközök használata Docker A legegyszerűbb megoldást keressük, de a legegyszerűbb nem mindig elég Végig kell járni az utat, hogy rájöjjünk, váltani kell Eközben sokat kell tanulni, rengeteg az új fogalom Pl. következő dián a Dockerrel kapcsolatban

ESZKÖZRENGETEG Docker Compose Kubernetes Linux CoreOS Atomic Host Registry Cockpit Portus Harbor Oprendszerek Linux CoreOS Atomic Host RancherOS Container MGMT Docker Compose Kubernetes Container MGMT UI Openshift Origin/Enterprise  Portainer  ShipYard  Rancher  Cluster MGMT Docker Swarm Kubernetes Mesos Image feltöltés (Registry), + AUTENTIKÁCIÓ Spec, konténerek futtatására készült oprendsz. Konténerkapcs. leírása Több gépet (klaszterben) szeretnénk egyszerre kezelni Szeretnénk webes adminisztrációs felületet Ezeket ismerve a problémák jó része megoldódik (mik ezek? Köv. dián)

Több szolgáltatás azonos porton (Reverse-Proxy) PROBLÉMÁK Több szolgáltatás azonos porton (Reverse-Proxy) NginX proxy HAProxy Osztott fájlrendszer felcsatolás a hosztról (1 gép esetén) natív volume driver (1 gép esetén) Flocker (több gép esetén áthelyezést segíti) NFS (több gép esetén egyidejű elérés) felhő tárhely (Amazon, Azure, stb…) Nem akarom beírni a domain után, hogy 8080, 8081 stb Egyszerre egy szolgáltatás használhat egy portot = egyetlen weboldal? Több szolgáltatás vagy egy program több komponense, de azonos adatok

PHP és HTTPD külön konténerben PROBLÉMÁK PHP és HTTPD külön konténerben PHP-FPM Unix socket / TCP socket PHP konténer több példányban futtatása TCP socket külön load balancer szolgáltatással HTTPD modul: Proxy balancer Egy program több komponensének kommunikálnia kell egymással Több lehetőség, de hálózati kommunikáció célszerűbb, ha fontos a skálázhatóság

Let’s Encrypt (SSL) automatizálás intraneten PROBLÉMÁK Let’s Encrypt (SSL) automatizálás intraneten DNS autentikáció TXT rekord alapján. Automatizáláshoz egyedi szkript szükséges. Naplózás alapértelmezett: json Syslog, Journald, stb… ELK stack Biztonságos kapcsolathoz (HTTPS) ingyenes Let’s Encrypttel Kívülről nem látható domaineknél nem egyszerű, de van megoldás Látni akarom, milyen oldalakat néznek és milyen hibák történnek

KÖZPONTI NAPLÓZÁS: ELK STACK LogStash Fogadja a naplóbejegyzéseket a konténerből „GELF” log driverrel. Értelmezi, mezőkre bontja és továbbküldi az ElasticSearch keresőmotornak. ElasticSearch Indexeli az adatokat és kereshetővé teszi egy API-n keresztül. Kibana Az ElasticSearch Api-t használva kezelőfelületet ad a logokhoz, grafikonokat készít. Nincs autentikáció, de megoldható reverse proxy-n keresztül HTTP autentikációval.

CLUSTER … … … Master Rancher Agent (worker) Rancher Server Vannak gépek, amin a konténerek futnak Van legalább egy kiemelt gép (Master), ami irányítja, mi történik a klaszterben Egy registry-ből letölti a gépekre az imageket és elindítja a konténereket. Felhasználói szemszögből a köv dián Rancher Agent (worker) … Docker Registry

CLUSTER Master Rancher Agent (worker) HAProxy (Load Balancer) A böngésző a Mastertől elkéri a weboldalt A master tudja, melyik gépen működik és onnan odaadja Működik a terheléselosztás. Egy weblap lehet több gépen is Rancher Agent (worker) Böngésző

MIRE JÓ MÉG A DOCKER? Intranetes adatbázis/api elérése távolról SSH tunnellel https://hub.docker.com/r/rimelek/ssh-tunnel-lp/ Fejlesztéshez szükséges parancssori alkalmazások becsomagolása https://hub.docker.com/r/rimelek/frontend-utils/ Már létező Image-ek leegyszerűsítése https://hub.docker.com/r/rimelek/php/ https://hub.docker.com/r/rimelek/letsencrypt-http/ Az image-ek/konténerek frissítése is automatizálható (Pl.: Jenkins)

ÖSSZEFOGLALVA Sok tanulás, új szemlélet, de kifizetődik Könnyebb kipróbálás  Könnyebb tanulás Nem csak webes alkalmazásokhoz Sok alternatíva  Kicsiknek, nagyoknak egyaránt Ez lenne a jövő? Nem! Ez a jelen.

ÁBRÁK FORRÁSA http://pixabay.com http://seeklogo.com/vector-logo/273842/rancher

KÖSZÖNÖM A FIGYELMET! Weblap: https://it-sziget.hu E-mail cím: takacs.akos@lib.pte.hu Saját image-ek: https://hub.docker.com/u/rimelek/