Archiv pro rubriku: Software

Video: František Havel #9: Proprietární uzamčení, vendor lock-in, uzamčení zákazníka

Video: Proprietární uzamčení, vendor lock-in, uzamčení zákazníka


Zamyšlení kolem vendor lock-in, pátek s MOJEservery.cz.

Líbilo se?
Zanechte like, komentář, odběr kanálu, sdílejte, děkujeme.
MOJEservery.cz

Objektová úložiště jednou spolknou svět :-).

Objektová úložiště spolknou svět ?


! Nepropadejte panice ! 

Tradiční filesystémy a relační databáze zde budou s námi po mnoho dalších let o tom nemá smysl diskutovat, problém, ale vzniká dnes již na úrovni dat samotných, jsou totiž vysoce nestrukturovaná, bohužel nebo bohudík ?

Odhady říkají, že 80-90% dat kolem nás je nestrukturovaných, přesto se je snažíme popsat strukturou tabulek a relací, v nejhorším případě si uložíme string/json a ten si “žvýkáme” v aplikaci, otázka je zda-li je tento postup správný a nebojujeme proti vlastní “touze” dat být neorganizována.

Připomeňme si známý výrok Billa Jensena z knihy Simplicity.

Množství informací se zdvojnásobuje po každých 1100 dnech, tedy zhruba po třech letech, nicméně, čas, který nám zůstává k zpracování těchto narůstajících informací je stále stejný: 1440 minut denně".

Toto tvrzení bohužel již také není zcela platné, množství informace se zdvojnásobuje za polovinu času. :-(.

Strukturovaná data, ale mají stále a budou mít místo, jsou systémy, které generují “jen” tuto formu dat, senzory, čítače, čtečky, transakce, účto, sklady, … takové vše “bez lidí” z pohledu vývojářů je idylka, vše pevně zaškatulkováno, nikde nic nepřetéká, indexy indexují, ovšem reálný svět takový není.

NEstrukturovaná data jsou opačný extrémní protipól, svět plný chaosu jako kvantové fluktuace, je to náš svět takový jako jsou sami lidé, svět plný textů, audio a video obsahu, emailů, stránek, sociálna … je to “lidský” rozměr dat, pro vývojáře pekelný, nikdo přeci nechce “cpát” profilovou fotku či 100MB video jako blob do tabulky.

Nestrukturovaná data a web aplikace

Tradiční pohled dnešních web aplikací je generování strukturovaného výstupu dat na základě uživatelského vstupu (formuláře/upload) a ukládání na tradiční úložiště (filesystém, relační databáze), doba se však mění a uživatelé k nám budou (chtějí) tlačit data, které nelze jednoduše rozbít do “chlívečků”, protože jejich struktuře nerozumíme, typický zástupce největšího zdroje těchto dat jsou sociální media.

Proč objektová úložiště ?

Studie IDC z roku 2014 o nárůstu nestrukturovaných dat.

Proč “nová” objektová úložiště je zcela legitimní otázka, v první řadě je nutné pochopit (viz studie IDC), že internet je zaplavován masivním nárostem nestrukturovaných dat.

Je nutně změnit tedy přístup k těmto datům, je nutné je umět efektivně obsloužit, zvládnout je ukládat je jedna věc (zde by nebyl problém s klasickým filesystémem), ale většinou požadujeme další vlastnosti, snadný přístup, metadata, škálovatelnost (škálování relačních DB je obecně problém, distribuované FS mají své problémy), redundanci a výkon a flexibilitu (metadata nemohou mít pevnou strukturu tak jako to např. známe z filesystémů).

Objekt jako základ je elementární “struktura”, objekty nejsou na storage organizovány (flat), žádné adresáře ani hierarchie, objekt je reprezentován pouze svým ID, vyšší logiku, smysl, uspořádání zajišťuje aplikace a proto je důležité kvalitní API rozhraní, které je v těsnější integraci přímo s aplikací (aplikace “programuje”/řídí úložiště), z toho pohledu není překvapující, že některá cloud úložiště mají rozhraní přímo přes protokol HTTP/s (všimněte si, že filesystémy nebyly nikdo moc dobře stavěné na přístup přes HTTP/s).

object-storage-object-2016

object-storage-object-archi-2016

Ilustrace filesystému, blokového a objektového úložiště.

object-storage-compare-1200px-2016

Kde to najdu, kde to kvete, AWS S3, Google Cloud Storage a ti druzí …

Začít experimentovat je “snadné”, Amazon Web Services je cloud platforma jejíž součástí je i služba AWS S3 (Simple Storage Service), zajímavou alternativou na testing/vývoj je projekt Minio, což je minimalistický object storage s API kompatibilní s AWS S3.

Dalším zástupce je Google Cloud Storage, nemáme přímé zkušenosti, přednáška byla ovšem dost zajímavá, cenově asi “zatím” stále lépe než AWS, také si zatím hrajeme.

Z opensource možností projekt Ceph, distribuované objektové úložiště umožňující blokovou i file storage, predikuje se velká budoucnost, společnost RedHat koupila projekt Ceph a otevřela ho veřejnosti, předpokládá se integrace s platformou OpenStack a posazení vedle OpenStack Swift object storage, což je další open projekt storage řešení nebo můžete zkusit hodit oko na openio.io.

A to je vše, díky za pozornost.
František Havel, MOJEservery.cz

Advanced REST client pro testování REST API rozhraní

API


api-rest-client-1-2016

API, API, API (Application Programming Interface) je takové zaklínadlo dnešní doby, pokud služba/aplikace nedisponuje rozhraním pro komunikaci je vyřízená, nebrat doslovně, pojem API aby zde byl mnohem dříve než z něho web stihl udělat buzzword, konec konců už i DOS měl své API v podobě přerušení int 21h, služby BIOSu jsou API, systémová volání v moderních systémech nejsou nic jiného než opět API.

REST (Representational state transfer)

REST představuje jeden z konceptů (architektur) je vytvořit rozhraní, je postavená nad volání metod protokolem HTTP, datově orientované a masivně používané, oblíbené.

Malý pomocník, taky pomocník ...

Advanced REST client pro Google Chrome

ARC je aplikaci běžící uvnitř prohlížeče Chrome a dovoluje pohodlné odzkoušení API rozhraní, dříve jsme měli postup otestovat funkčnost a chování API pomocí jednoduchého řádkového klienta curl (a je stále dobré to umět, rozumět, lze to scriptovat a průběžně tak testovat) ještě předtím než zavoláte composer, požádáte ho o Guzzle a začnete “čarovat”.

“Absolutní výcuc” vyšel před lety na serveru Codingpedia.org.
http://www.codingpedia.org/ama/how-to-test-a-rest-api-from-command-line-with-curl/

Proč dát ARC šanci ?

  • GUI rozhraní, úplná “klikačka”, jednoduchost
  • Úplná kontrola na HTTP hlavičkou, lze upravit “cokoliv” (raw)
  • metody GET/POST/PUT/DELETE/HEAD/CONNECT/vlastní
  • Podpora pro WebSocket
  • Integrace s Google Drive
  • Import/export dat
  • Triviální instalace, okamžitá použitelnost

Užívejte moudře, děkujeme za pozornost.
MOJEservery.cz

api-rest-client-screen-2016-1

api-rest-client-screen-2016-2

api-rest-client-screen-2016-3

api-rest-client-screen-2016-4

Video: František Havel #7: Hierarchie souborového systému Linux

Hierarchie souborového systému Linux


Základní úvod do uspořádání hierarchie souborového systému v operačních systémech Linux/Unix.

Další díl našeho mini-seriálu je na světě, pohodlně se usaďte, uvařte škopek kafe, odpoutejte se, kuřte a startujem. :-).

Líbilo se? Dejte like, komentář nebo odběr kanálu a sdílejte.
Děkujeme za Vaši podporu. MOJEservery.cz

GamesPlay Samorost 3 + soundtrack

Amanita Design


Velmi zřídka odbočujeme z našeho oboru, výjimečné věci si však zaslouží pozornost, chceme složit poklonu za úžasné dílo, umělecký počin. Amanita Design je pražské nezávislé herní studio založené v roce 2003 výtvarníkem Jakubem Dvorským, co více, práce týmu Amanita je do jisté míry odkaz a navázání na českou animátorskou školu (Švankmajer, Zeman, Trnka) v kombinaci s propojením na současné moderní technologie pro audiovizuální distribuci zážitků.

samorost-3-newts

Samorost 3


Třetí pokračování explorativní hry z žánru adventur, unikátní podání grafického zážitku, animace, brilantní hudba, atmosféra, hádanky a forma, vhodné pro všechny generace, nenásilné, promyšlené.

Samorost 3, hravé spojení umění s herním světem, děkujeme.

http://samorost3.net

Podpořte tvůrce zakoupením, zážitek je nepopsatelný!

GamesPlay (živá ukázka) ze hry.

Samorost 3 – Original Soundtrack

To nejlepší z InstallFest 2016

To nejlepší z InstallFest 2016


Jako vždy podařená akce, zajímavý obsah, lidi, dobrá nálada, velké poděkování krom přednášejících patří organizátorům a partnerům za podporu této akce. Děkujeme.

Menší osobní výběr přednášek z Installfest 2016 toho nej z letošního ročníku akce, znovu opakuji osobní.

Celý kompletní program, slidy, video zde.
http://installfest.cz/if16/program
http://installfest.cz/if16/video

HaveAPI: vytvořte si API k čemukoliv (Jakub Skokan, Pavel Šnajdr)

Knot Resolver (Ondřej Surý)

Softwarově definované rádio (Jan Hrach)

Kontejnery != Docker (Václav Pavlín)

Buildsystemy (Tomáš Chvátal)

Arduino a ESP8266 (Petr Stehlík)

Buildíme Fedoru pro Raspberry Pi po hackersku (Ľubomír Rintel, Richard Marko)

ELK – sežere Vaše logy (Věroš Kaplan)

DNSSEC na vlastní doméně snadno a rychle (Ondřej Caletka)

Monitorování a bezpečnostní analýza v počítačové síti (Tomáš Čejka)

Linux mini-howto: Základní pravidla bezpečnosti serverů

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Základní pravidla bezpečnosti serverů

Proč? Základní představa o bezpečnosti serverů je často mylná nebo žádná, tímto soupisem praxí ověřených pravidel se jí pokusme nastínit, v některých případech jde obecná pravidla platná napříč světem IT v jinde cílíme přímo na UNIX systémy, znovu připomínáme jde o takový dobrý základ od čeho se odrazit a v případě zájmu můžeme pokračovat dalším dílem.

Bezpečnost IT systémů není stav, je to neustálý proces a i z toho důvodu je 100% zabezpečení přelud, kterého nelze dosáhnout, ale můžeme se k němu zkusit přiblížit, jediný bezpečný systém je ten který nemáte ala jediné auto které Vám nezestárne je to které jste si nekoupili.

Pokračování textu Linux mini-howto: Základní pravidla bezpečnosti serverů

Kompilace OpenWrt pro ARM, Raspberry Pi

Komplikace OpenWrt pro ARM, Raspberry Pi


Nejrychlejší komplikace OpenWrt, pro úplné nováčky, nebojte se postavit si vlastní systém na míru, dle vlastních potřeb, díky automatizovanému build systému je to snadné.

openwrt-logo

Komplikaci provedeme na Debianu, budeme potřebovat cca 4GB volného místa a trpělivost, OpenWrt má vlastním buildovácí systém (Buildroot,  můžete na něj narazit leckde, je to populární nástroj pro sestavení embedded Linuxu) pro cross-compile (sestavuje na x86 ale výstup poběží na jiné platformě).

Nainstaluje nezbytné věci pro překlad,vývoj a git (build-essential, ať žije síla balíčkovacích systému), poté klonujeme git repozitář OpenWrt, jdeme na to.

root@havel-machine:~# apt-get install git-core build-essential libssl-dev
root@havel-machine:~# apt-get install libncurses5-dev unzip
root@havel-machine:~# apt-get install subversion mercurial

Budeme stahovat tzv. bleeding edge(trunk) verzi.

havel@havel-machine:~/Work$ git clone git://git.openwrt.org/openwrt.git
Cloning into 'openwrt'...
remote: Counting objects: 320253, done.
remote: Compressing objects: 100% (87004/87004), done.
remote: Total 320253 (delta 220190), reused 318758 (delta 219174)
Receiving objects: 100% (320253/320253), 112.66 MiB | 601.00 KiB/s, done.
Resolving deltas: 100% (220190/220190), done.
Checking connectivity... done.

Tak, máme základ OpenWrt stažen (cca 200MB), nyní potřebujeme balíčky (feeds, potravu) pro sestavení, další se budou dotahovat podle toho vše budeme chtít začlenit.

havel@havel-machine:~/Work$ cd openwrt
havel@havel-machine:~/Work/openwrt$ ./scripts/feeds update -a
havel@havel-machine:~/Work/openwrt$ ./scripts/feeds install -a

Tak konsole na nás hodně křičela, stáhlo se cca dalších 50MB dat, ale nebojte se ničeho, pokračuje dále k sestavení.

havel@havel-machine:~/Work/openwrt$ make defconfig
havel@havel-machine:~/Work/openwrt$ make prereq
havel@havel-machine:~/Work/openwrt$ make menuconfig

Po poslední příkazu se dostáváme k textovému menu, zde si vybereme co chceme sestavit, pro jakou architekturu, jaké balíčky zahrneme (ty se následně stáhnout ve formě zdrojového kódu a zkompilují), jak krásné a jednoduché.

openwrp-compile-menuconfig

Nejklíčovější je výběr správné cílové architektury (target), otevřete menu, vyberte Broadcom BCM2708/BCM2709 pro Raspebrry Pi 2, stejným způsobem můžete přeložit OpenWrt pro cokoliv jiného, výběr je velmi široký.  openwrp-compile-menuconfig-bcm27xx

Doporučuji si pohrát s v menu Target images -> Boot SD card partition size a Root filesystem partition size , což jsou velikosti oddílů pro boot a root, jako filesystém nechávám ext4.

V kernel -> Wireless si vyberte ovladače pro bezdratové adaptéry pokud je budete používat, já jsem si ještě začlenil VLAN (802.1q), zabbix agenta, LuCI, LuCI Asterisk, coova-chilli a pár dalších, hodí se i wpa_supplicant, obecně menuconfig je velmi bohatý projděte se ho až budete mít chvilku, vše co zaškrtáte má vliv na dobu komplikace, množství stahovaných dat i výslednou velikost image.

Jdeme buildovat (komplikovat), pozor z menuconfig vyberte Save, uložte do souboru .config a až poté exit.

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
havel@havel-machine:~/Work/openwrt$ make -j 3
 make[1] world
 make[2] tools/install
 make[2] package/cleanup
 make[3] -C tools/patch compile
 make[3] -C tools/expat compile
 make[3] -C tools/sstrip compile
 make[3] -C tools/make-ext4fs compile
 ... čekejte a čekejte ...
 ... pokud jste pozorní všimnete si, že openwrt si samo sestavilo gcc (překladač, či obecně tzv. toolchain) pro své pokračování v překladu ...
 make[3] -C toolchain/gcc/final compile
 make[3] -C toolchain/gcc/final install
 make[2] target/compile
 make[3] -C target/linux compile
openwrt-compile-top-cpuload
Překladače se neflákají a vytěžují systém, parametr -j 3 v příkazu make povoluje právě instance překladače zároveň.

Hotovo, výstup (připravený image) najdete v openwrt/bin/ , OpenWrt build automaticky sestavil image pro modely Raspberry b,b+ a CM (Compute Module).

openwrt-brcm2708-bcm2708-rpi-b-ext4-sdcard.bin
openwrt-brcm2708-bcm2708-rpi-b-plus-ext4-sdcard.bin
openwrt-brcm2708-bcm2708-rpi-cm-ext4-sdcard.bin

Instalace, pomocí nastroje dd vemte potřebný image a zapište na SD kartu /dev/sdX , dd if=image of=/dev/sdX bs=2M a je nainstalováno.

Kde sehnat balíčky pro opkg ?

OpenWrt obsahuje balíčkovací systém opkg, jde o repositáře s předkompilovaným software pro danou platformu, není nutné tedy software (userspace + ovladače) kompilovat pokud nechcete, ale ta možnost tu stále je. Pro úplnost, balíčky jsou soubory s koncovkou .ipk např. iperf_2.0.5-1_brcm2708.ipk.

http://wiki.openwrt.org/doc/packages

Pro Broadcom 2708 a 2709 tedy Raspberry Pi 2 použijte tento předkompilovaný repositář, nastavte si ho v /etc/opkg.con a udělejte opkg update, získáte přístup k rozsáhlému množství software.

https://downloads.openwrt.org/snapshots/trunk/brcm2708/generic/packages/base/

Hotovo, tak kompilujte, pokud bude zájem je možné si příště ukázat patchnutí a kompilace OpenWrt jako metarouter Mikrotik s instalací VoIP telefonní ústředny Asterisk, za velmi nízké náklady tak získáte router s Wifi, až ethernet 10portů pro LAN a VoIP telefony.

Užívejte moudře, díky za pozornost. František Havel, MOJEservery.cz.

Proč používat příkazový řádek(CLI)

Proč používat příkazový řádek ?

Pozn.: Volně přeloženo a převzato ze serveru packetlife.net, je to přesné, děkujeme.

Jedním z důvodu proč profesionálové používají příkazový řádek (CLI, command line) je stručnost, efektivita, přesnost a popisnost, geekové miluji stručnost a efektivnost, navíc lenost je matkou pokroku.

Posuďte sami, máte nového junior kolegu a posíláte mu postup emailem pro konfiguraci NAT na pobočkovém routeru (Cisco), který email by jste psali raději?

GUI


Přihlaš se do SDM (Cisco Router and Security Device Manager, GUI managent, budeš si ho muset stáhnout prvně z routeru), jdi do konfigurační záložky, klikni na NAT, poté “Advanced NAT”, klikni na next, vyber rozhraní FastEthernet0 z rozbalovacího seznamu a klikni na next, přikládám obrázek.

cisco-sdm_step1

Dalším krokem v seznamu obou rozhraní vyber Vlan1 s ip adresou 192.168.1.0/24 a klikni na next, , přikládám obrázek.

cisco-sdm_step2

Poslední krokem je přidání statického NAT pravidla pro VPN server, klikni na “Add’ tlačítko a vyplň tyto hodnoty, přikládám obrázek.

cisco-sdm_step3

Potvrď kliknutím OK, a poté klikni na “Next”, zkontroluj v okne NAT pravidlo. Klikni na “Finish” v poslední kroku, vyskočí okno s hláškou ve smyslu “configuration saved”, poté klikni na OK a zavři SDM, hotovo.

CLI


Přihlaš se na router pomoci ssh nebo telnet a vlož tuto konfiguraci.

configure terminal
interface FastEthernet0
 ip nat outside
!
interface Vlan1
 ip nat inside
!
ip nat inside source static udp 192.168.1.204 1194 interface FastEthernet0 1194
ip nat inside source list 1 interface FastEthernet0 overload
!
access-list 1 permit 192.168.1.0 0.0.0.255
exit
copy run start

Hotovo!


Máte vybráno? ;-).

Nesrážíme zde podstatu a smysl GUI nástrojů, jen až potkáte “profesionála”, který se bude štítit, bát a odmítat textové rozhraní, CLI a příkazový řádek, buďte opatrní!

František Havel, MOJEservery.cz

Windows 10 IoT: Raspberry Pi 2, MinnowBoard Max, Intel Galileo

Windows 10 IoT Core Raspberry Pi 2

Připraveno ke stažení a použití, testujte je to zdarma !

Microsoft po předchozím developer insider preview uvolnil oficiální verzi Windows 10 IoT (Internet of Things) pro platformy Raspberry Pi 2, MinnowBoard Max a Intel Galileo.

Chcete Raspberry Pi 2? Skladem Tachov, Mariánské Lázně, Planá, můžete ho mít ještě dnes ! Kontaktujte nás.

http://www.mojeservery.cz/raspberry-pi-2-inovace-pro-vase-projekty-skladem-tachov-plana-marianske-lazne/

http://www.mojeservery.cz/raspberrypi/

Windows 10 IoT Core

Není plnohodnotná verze Windows 10 pro desktop! Je upravená pro mini počítače a vývoj, nepotřebuje display, lze použít k připojení SSH, integruje vývojové nástroje (python, node.js,…), podpora pro GPIO rozhraní, wireless rohraní, device-command-line tools, nástroje pro portování aplikací, powershell, integrace s Visual Studio, debugger, FTP, Arduino podpora a další nástroje.

Windows 10 IoT Core features:

http://ms-iot.github.io/content/en-US/win10/StartCoding.htm

SSH server na Raspberry Pi 2 (Windows 10 IoT Core)

Windows 10 IoT: Připojení k Raspberry Pi 2 přes SSH (putty)
Windows 10 IoT: Připojení k Raspberry Pi 2 přes SSH (putty)

Začněte s Windows 10 IoT Core

  1. Vyberte si své IoT zařízení
  2. Nastavte své desktop PC
  3. Nastavte své IoT zařízení
  4. Vyvíjejte
Windows 10 IoT Core: Raspberry Pi 2
Windows 10 IoT Core: Raspberry Pi 2
Windows 10 IoT Core: MinnowBoard Max (x86, Intel Atom E38XX)
Windows 10 IoT Core: MinnowBoard Max (x86, Intel Atom E38XX)
Windows 10 IoT Core: Intel Galileo (x86)
Windows 10 IoT Core: Intel Galileo (x86)
Stáhnout obraz pro podporovaná zařízení zde.

https://ms-iot.github.io/content/en-US/GetStarted.htm

Připravujeme otestování systému Windows 10 IoT Core na Raspberry Pi 2, obraz stažen, uděláme pro Vás screenshoty a první pocity.

MOJEservery.cz.