Posts Tagged ‘interoperabilnost’
[cc] Amazon EC2 + VPN + IP Address Assignment = jednostavna skalabilnost bilo čega što već imate…
Znam da ponekad pišem samo o onome što se događa u Microsoftu, ali kad smo kod cloud computinga, puno je tvrtki koje su inovativne i donose zanimljiva rješenja. Najbolje do sada sam ipak vidio od Amazona – a da Amazon nastavlja i dalje raditi odlične stvari na području Infrastructure as a Service rješenja, vijest je koju su nekako sramežljivo pustili van… Prije koji dan stigne mi njihov newsletter, kad ono, slijedeća crtica:
Amazon VPC Adds IP Address Assignment Capability
Now you can specify the IP address of any Amazon EC2 instance you launch within your VPC. This new feature makes it easier to run services within Amazon VPC that your users and applications expect to have a consistent IP address. For example, this feature makes it easier for you to run DNS servers and Microsoft Active Directory domain controllers within Amazon VPC. When you specify an IP address, it is retained for the instance’s lifetime. An IP address previously assigned to a running instance can only be used again once that instance is in a terminated state. For more information about how to leverage this highly requested capability, please see the Amazon VPC Getting Started Guide.
Neznam kako vama, ali meni izgleda nevjerojatno odlično mogućnost da instancirate svoj server (servere), uspostavite VPN prema njima i… dodijelite im IP adresu iz svoje domene. Praktično: dodali ste server koji je vrlo transparentan ostatku infrastrukture koju imate u svojim centrima, a time i jednostavnu skalabilnost i elastičnost. No tu su i razni backup scenariji, kao što je navedeni Active Directory backup scenarij (mislim da sistem inženjeri dijele moje mišljenje…)
Pojednostavljeno, a da sad ne duljim, problem e-matice bi se valjda riješio za 10 minuta, kad je u pitanju dodavanje novih poslužitelja.
P.S. Kod Amazona me zapravo najviše veseli projekt Mechanical Turk, ali o tome čitajte sami…
[stuff] Malo o interoperabilnosti, otvorenom kodu i normama
Ha, ipak nije riječ o onome što ste očekivali
– post je sasvim bezopasan i začudo zabavan i edukativan. Naime nije ponekad jednostavno razumjeti sve stvari o kojima lamentiramo tijekom ovih dana, i sve je više kriptičnih riječi koje rado rabimo, ali nam nije jednostavno objasniti što znače. Na primjer, takve su riječi interoperabilnost, open source ili norme (standardi). Da bi to pojasnili, posebno su se potrudili u Microsoftu Germany, odnosno njihovom Interop timu, koji je pripremio zanimljive video isječke kako, što, kome i čemu.
Evo primjera Interoperabilnosti… (klinite na sliku za početak videa…)
… pa malo o Open Sourceu….
… i na kraju o Standardima….
Morat ću ovo uporabiti koji put na svojim predavanjima
.
[gov] Interoperabilnost, inovacija i država… sve u jednoj rečenici (ima li tu matematike?)
Zanimljivo je kako se pojedini trendovi vremenom fokusiraju na određene stvari: iako već valjda godinu dana govorimo oblacima (cloud computingu), u zadnje vrijeme se više razgovaramo o podskupu teme koji se zove interoperabilnost u oblaku (ili – među oblacima, kako vam bilo drago). Interoperabilnost u oblaku je ujedno i tema ovomjesečnog Interoperability & Innovation Foruma za javnu upravu kojeg tradicionalno organiziramo svake godine, pa sam se sav zadubio u praćenje napretka oko ove teme. Nije da o tome nisam već pisao, ali ponekad su to više tehnička poglavlja nego razmišljanje o temi. Pa što je za reći u to ime?
Javna uprava je u odličnoj poziciji iskoristiti sve mogućnosti interoperabilnosti unutar oblaka – za gotovo sve države to znači značajan korak u stvaranju učinkovitosti, poticanju kreiranja bolje vrijednosti i bolje komunikacije sa građanima. Naravno, nije sve stvar tehnologije i možda značajnije je što će se dogoditi na području politike i procesa (za napomenuti da je Središnji državni ured za Hrvatsku uparvo izbacio prvo čitanje Hrvatskog okvira za Interoperabilnost – HROI, što je prvi korak Hrvatske u tom smjeru, i mada se ne dotiče oblaka postavlja opće okvire za razmatranje interoperabilnosti), no to nije tema ovog posta. Ali bit će tema jednog od budućih.
Oblak može pojednostaviti državnu upravu. Namjerno ovdje ne uvodim termine javni ili privatni oblak, jer to uglavnom zbunjuje ljude. Mislim općenito na termin cloud computing – koji država može iskoristiti kako bi konsolidirala svoju IT infrastrukturu, kreirala sustave koji se jednostavno u budućnosti mogu skalirati te stvoriti usluge koje je do nedavno bilo nemoguće (ili skoro nemoguće) kreirati. Na primjer, povezati dvije agencije ili ministarstva postaje trivijalno, i to ne u mrežnom smislu, nego u bilo kojem – poput podatkovnog, procesnog, aplikativnog i slično.
Oblak može smanjiti cijenu države. OK, znam da informatika nije ta koja je ključni element trošenja države. Na informatizaciju (ne u smislu – kupi računalo) kod nas se troši relativno malo, odnosno, veći problem je da se troši nenamjenski ili neusmjereno. No informatika je ta koja omogućuje smanjenje drugih elemenata troška države – to je pokazao i cijeli niz stimulansa koje su kreirale druge države. Uglavnom se većina budžeta smanjuje, ali se investira u informatizaciju jer je to najbolji način smanjenja ukupnog troška. Rješenja koja koriste (povoljni) oblak i omogućuju standardizaciju ali i jednostavnu zamjenu blokova gradnje – nikad nisu bila dostupnija no u oblaku.
Oblak bolje povezuje državu i građane. Primarno mislim na podatke – oblak je najučinkovitija mogućnost da se “državni” podaci (iako su to, čak i zakonski, podaci svih nas) javno objave i omogući njihovo korištenje masama. I ne samo to – podaci omogućuju organizacijama i pojedincima stvaranje sasvim novih tipova usluga koje država ne može niti stvoriti (a niti zamisliti). Je li to bolja podrška za malo i srednje gospodarstvo? Možete se kladiti.
No, prije no što krenemo koristiti prednosti oblaka, moramo, kao nacija ali i kao zainteresirani ponuđači usluga, rješiti najmanje dva pitanja iz domene interoperabilnosti:
a) pitanje sigurnosti i privatnosti podataka. Nevjerojatno je kako u diskusijama ljudi jednostavno zauzimaju krajnja stajališta: ili je oblik potpuno nesiguran ili to uopće nije bitno. Rekao bih da istina ovdje ovisi o nekoliko stvari. Državu se uglavnom promatra kao entitet za koji je gotovo nemoguće da bilo koji podatak drži u oblaku – jer se bilo koji oblik javnog oblaka smatra nesigurnim (a ponekad i napadom na privatnost, kao u slučaju Googlea ili Facebooka). No, istraživanje u UK je pokazalo da se preko 75% podataka u državi može smatrati javnim, odnosno, spremnim za javnu dostupnost (kao recimo kod nas, prema Zakonu o pravu na dostup informacijama, podaci su javni, ali nemamo do njih jednostavan dostup). Rekao bih da dosta toga može otići u javni oblak, a ono što ne može… za to imamo privatni oblak. Tu bi podaci po pravilu trebali biti sigurni (ali opet, pitanje je da li bi vrijedila i privatnost). S druge strane, na primjeru SAD-a, preko 90% građana drži neki od svojih podataka u javnom oblaku, a gotovo svi su u nekoj formi aplikacije spojeni na oblak.
b) pitanje prijenosa i otvorenosti podataka. Ovo je pitanje na kojem svi ponuditelji cloud computinga vrijedno rade. Na primjer, što ako preselim podatke u oblak Microsofta i potom odlučim, nekoliko mjeseci kasnije, preseliti ih u neki drugi? Je li to uopće moguće i kako? U kojem formatu? Većina ponuditelja oblaka danas vam omogućuje da besplatno preselite bilo koju količinu podataka u oblak. Ali, vrijedno naplaćuju njihovu uporabu ili prijenos (download). No da ne ostane ne tome, prošlo je vrijeme kada su se podaci zaključavali. Microsoft radi na dvije inicijative koje omogućuju prijenos i otvorenost podataka.
Prva, podatkovna inicijativa zasnovana na standardima zove se Open Government Data Initiative (OGDI) koja koristi Windows Azure platformu kako bi omogućila jednostavnije objavljivanje podataka od strane državnih agencija. Za tehničare, OGDI objavljuje podatke koristeći HTTP kroz RESTful servise, koji su izgrađeni koristeći Windows Communication Foundation (WCF) Data Services, komponentu .NET Framework 3.5 knjižnice. Više informacija možete pronaći na http://ogdisdk.cloudapp.net/.
Druga koja je nastala iz potrebe dijeljenja jednostavnih podataka zove se Open Data Protocol (OData). OData je otvoreni protokol zasnovan na XML i REST za dijeljenje podataka koji omogućuje da se bilo koji tip podataka onjavljuje koristeći konzistentan format.
No, tehniku na stranu. Interoperabilnost se ne temelji na tome koja tehnologija ili koja platforma se koristi. Koristi se na jednostavnoj činjenici: mogu li ja do svojih ili drugih podataka, a da ne moram zvati administratora ili pisati zamolbu u triplikatu. Mislim da još nismo usvojili niti to – a ne može biti jednostavnije. Možemo zakomplicirati i napisati dokument od 60 stranica, ali bojim se da to ne rješava naš problem nepovezanosti.
No to bi bilo logično, a ako je logično, onda nije. (moj postulat koji prihvaća sve više ljudi i smatra ga – logičnim).
[cio] Windows Azure: do sada sve znano, sada počinju zanimljive stvari
Već sam se nebrojeno puta raspisao o “cloud computingu” ili Microsoft implementaciji istoga “Windows Azure Platform”, ali sve je to već viđeno i znano… dovoljno je u search otkucati nešto od navedenog, i to uglavnom orijentirano prema developerima. Ono što mi je zanimljivo da tek sada počinju zanimljive i prave stvari za svakog poštenog infrastrukturaša a i direktora koji upravlja infrastrukturom organizacije – pa sam tako, tek iz današnjih najava, odabrao tri “zanimljive” stvari o kojima se trenutno razglaba:
- Microsoft radi na dodavanju Remote Desktop za Windows Azure, kako bi pojednostavljeno pristupili svojim resursima u oblaku.
- Microsoft radi na podršci za virtualne strojeve (VM) u Windows Azureu. Dakle, moguće je učitati i pokrenuti VMove direktno u/na Microsoft Azure oblaku (ok, ovo nije nova vijest, ali da je ponovimo u ovom kontekstu).
- Microsoft podržava NTFS direktno u cloud platformi (čitaj: Azure Drive). Pojednostavljeno, to znači da možete uzeti postojeću aplikaciju i pokrenuti je u oblaku koji će emulirati NTFS datotečni sustav.
Za ove usluge nisu objavljeni datumi otvaranja, ali su to upravo funkcionalnosti na kojima se radi za slijedeću iteraciju platforme, a što sve ljudi predlažu kao nadogradnju, možete vidjeti na Windows Azure Feature Voting siteu. Time je Azure u infrastukturnom dijelu sličan Amazon Web Services uslugama, no i dalje je Azure primarno platforma za razvijanje aplikacija – dodavanje infrastrukturnih servisa samo otvara dodatne mogućnosti za one koji manje brinu o aplikacijama a više o sustavima i strojevima. Više i na Windows Azure Team blogu.
Mislim da je zanimljivo kakve se prilike otvaraju. Platform as a Service (PaaS) dodaje Infrastructure as a Service (IaaS). Još jednom, samo izaberite svoj scenario. I ako ste malo pratili ostale cc ponuditelje usluga, znate da i drugi imaju ovako zanimljivih ponuda. Opet, mogućnost izbora je na vama - a to je postala i Microsoft mantra. Znam da zvuči čudno, ali eto, tako je
.
[ms] Cloud Computing Advancement Act: kad se male ruke slože… a i nisu tako male…
Iako će to mnoge začuditi, Microsoft je jedan od najvećih pobornika interoperabilnosti u oblaku – već sam se raspisao o ulozi Microsofta u Open Cloud Computing organizaciji. Mislim da je svima jasno zašto je potrebna interoperabilnost na različitim nivoima ovdje – pogotovo ako želimo od oblaka dobiti nešto više od onoga što imamo danas na svojim računalima.
Prije nekoliko dana, Microsoft je i predložio stvaranje nacionalne koalicije koja bi morala osigurati interoperabilnost u oblaku: “Cloud Computing Advancement Act” je prijedlog kongresu da usvoji, mi bi rekli preporuku, koja može zaštititi potrošače koji u sve većem broju koriste usluge oblaka, odnosno cloud computinga.
Press Release Microsofta po pitanju Cloud Computing Advancement Acta možete pronaći ovdje, predstavio ga je Brad Smith, senior vice president & general council, a cijeli tekst govora na Brookings Instituteu možete pronaći na Microsoft Cloud Computing for Business and Society stranicama (ima tamo još ponešto o Cloud Computingu, pa navratite).
Kaže Brad:
No technology is perfect. Nothing is perfect. But unquestionably the PC revolution has empowered individuals and democratized technology in new and profoundly important ways. As we increasingly connect smarter client devices with the resources in the cloud, our challenge is to build on these successes and make them greater still. We should not and need not sacrifice the personalization of technology in order to benefit from computers in the cloud.
… a dio njegove izjave imate i ovdje:
Brad Smith, Microsoft Senior Vice President and General Counsel, on Cloud Computing from Voice for Innovation on Vimeo.
Baš me zanima gdje ćemo stići u harmonizaciji interesa i interoperabilnosti.
[cio] Windows Azure 101: kako ga usvojiti s stanovišta velikeee korporacije?
napomena: tekst je izvorno objavljen u časopisu PC CHIP. Ovo je mali, kako bi rekli, RT.
Postavite li danas pitanje direktoru informatike prosječno velike korporacije o tome što misli vrijedi li razmišljati o oblaku – ne očekujte veliku potporu. Pogledajte samo naslove pojedinih članaka: “CIO: Cloud Computing Survey: IT Leaders See Big Promise, Have Big Security Questions”, “SearchCIO: Addressing compliance requirements in cloud computing contracts”, “Computerworld: Corporate use of cloud services slowed by concerns about data security, reliability”, “CIOUpdate: Is Cloud Computing Ready for the Enterprise?” odnosno “ZDNet: Is the enterprise ready for cloud computing?” jasno je da smo daleko do toga da računarstvo u oblaku postane općeprihvaćeno u korporacijama kao što su to možda uspjele neke druge tehnologije i pristupi. No, što je tome uzrok? Pitanje je to na koje se pokušava odgovoriti na raznim forumima, okruglim stolovima, člancima i dokumentima… I sve se svodi na nekoliko jednostavnih: tehnologija još nije spremna, promjena može i ne mora biti znakovita i možda najbitnije, ne postoje jasni scenariji kako cloud computing iskoristiti u korporaciji.
Kao prva prepreka koju je teško preskočiti uvijek se nameće tehnologija: iako bih rekao da cloud computing nije ništa revolucionarno novo (pendullum se opet vratio ka centralizaciji resursa), dostupnost kojom se otvorila putem Interneta širokom krugu korisnika promjenila je mnoge načine (čitaj: scenarije) uporabe. Resursi negdje gore su jeftiniji i dostupniji. No, nisu uvijek udruživi s tehnologijama koje koristimo u svom okruženju. Tko želi učiti pisanje programa u Phytonu samo zato što je to jedini jezik koji oblak razumije?
Druga prepreka je malo suptilnija: korporacije cijeli svoj život ulažu u elemente računalne infrastrukture nad kojom imaju kontrolu. Posebna su tu pitanja sigurnosti, integracije, privatnosti i upravljivosti. Korporacije su ogroman novac uložile u te kategorije i s pravom smatraju da su njihove okoline sigurne i zaštićene. Kakav sad Internet i aplikacije u oblaku? Internet je “po definiciji” nesiguran i vrlo je teško zamisliti otvaranje korporacije prema informacijama, podacima, procesima i aplikacijama koje nemaju pod kontrolom.
Na kraju, pitanje je tu strukture aplikativne podrške i znanja oko integracije i razvoja: interoperabilnost je danas riječ u izumiranju jer se podrazumijeva da podaci slobodno teku i da ih aplikacije jednostavno razmjenjuju. Razmjeniti podatke između vašeg SAP sustava i male aplikacije koja se nalazi na URL adresi http://myapp.apps.net ne izgleda trivijalno, pogotovo zato što baš niste sigurni s kime bi o tome razgovarali kad se pružatelj usluge na navedenoj adresi nalazi u Kuala Lumpuru…
Probati riješiti sva tri problema u jednom članku gotovo je nemoguće. Zato, usmjerimo se na drugu prepreku: kako korporacija može “prihvatiti” računarstvo u oblaku i integrirati ga u svoje aktivnosti? I pri tome iskoristiti ono što je najbolje i odbaciti iz svog okruženja ono što zbilja ne funkcionira (a zbog limita resursa vjerojatno nikada neće ni funkcionirati).
Rekli bi, pitanja je puno i odgovora je malo. To je i za očekivati, jer je računarstvo u oblaku u svojim povojima, barem pream mogućnostima i razumijevanju. No, treba li to odbaciti kao trenutno neosnovano? Ako želite biti jedan od studija slučajeva u knjizi kao što je “Disruptive Innovation” C.Christensena, najbolje odložite ovaj časopis i dohvatite se AutoMoto Kluba ili sličnog – ionako se nećete za koju godinu imati o čemu brinuti.
Pristup rješavanju problema
Iako sam počeo oprezno, s naslovima novina koji govore o problemima, cloud computing je nešto o čemu svi govore i svi se slažu da je to vrlo značajan korak naprijed za tehnologiju i način njene uporabe. Danas je jednostavno nabrojati barem pedesetak proizvođača različitih oblika računarstva u oblaku koji implementiraju neke pojavne oblike tog pristupa. Tu su svi veliki – i IBM, Amazon, Microsoft, Google, Oracle… iako im je svaki oblak gotovo preslika politike i modela kojeg inače koriste i guraju, u većini pojava postoji cijeli niz zajedničkih stvari koje svi imaju i zbog kojeg se mogu svrstati u ponuditelje računarstva u oblaku.
Korporacije su naravno pozvane da iskoriste ove resurse – iako se na prvi pogled čini da je računarstvo u oblaku uglavnom okrenuto prema krajnjim korisnicima (consumerima), ne grade se uzaludo toliki resursi – svi vjeruju da će dio računalnog kapaciteta korporacije biti kad tad preseljen u oblak i korišten po popularnom “on demand “ principu.
No, ne pristaju svi na krajnost: zašto bi morali koristiti nešto nad čime nemamo kontrolu? I postavlja se logično pitanje: možemo li u svom, korporativnom okruženji imati sustav koji je isti kao onaj koji možemo koristiti u oblaku? Ili drugim riječima: možemo li uzeti oblak i lijepo ga iskopirati u svoje privatno “enterprise” okruženje i time naslijediti sve prednosti koje pruža obkal kao što su skalabilnost, učinkovitost i dostupnost? Mogu odmah ponuditi odgovor: teoretski da, ali teško je za očekivati da svaka korporacija može izgraditi svoj Data Centar veličine Data Centara koje grade Microsoft ili Amazon. Ne samo da bi to bilo nepraktično nego bi bilo i izrazito skupo – vjerojatno i neiskorišteno. Globalni Data Centri se i grade kako bi se iskoristila mogućnost dijeljenja resursa i time smanjili troškovi – teško je zamisliti korporaciju koja to može u potpunosti podijeliti s drugom korporacijom.
No nije ovdje sve za odbaciti. Jedna od ideja jest i da se dio znanja koji je stečen u građenju ovakvih rješenja na neki način “vrati” u proizvode koji su danas dostupni široko na tržištu. Jer, ako je Windows Server 2008 osnovni građevni blok za upostavu Microsoft Data Centara (a jest), zar onda ne bi mogli prakse, politike i mogućnosti koje postoje u Data Centru na neki način implementirati u nove Windows Servere? Bolje rečeno, ako u Data Centru možemo ostvariti neviđenu skalabilnost i učinkovitost, da li bi mogli napisati dio novog programskog koda koji bi to znao napraviti i na naših lokalnih i umreženih 8 servera?
Stariji će se sjetiti napora koje je Microsoft radio s svojim DataCenter izdanjem servera… mislim da to više ne možete pronaći na tržištu. No za očekivati je da će se svi ponuditelji računarstva u oblaku potruditi pronaći načina kako se približiti “smanjenim” verzijama svojih oblaka koje možete implementirati u svojim okruženjima, ali za sada, nema velikih vijesti.
Do tada, ostaje nam dobro razumjeti što nam donosi infrastruktura u oblaku – pogledajmo za primjer Microsoftovu implementaciju i pristup problemu.
Windows Azure
Ljudi često miješaju pojmove Azure Services Platform i Azure – priznajem da nije jednostavno jer se to ponekad čini kao rekurzivni akronim (skoro kao pa GNU /GNU is not UNIX/ ili BING /BING is not Google/). Ali daleko je jednostavnije – Azure je jednostavno dio Azure Services platforme, i zapravo je dio koji čini njenu osnovu, odnosno operativni sustav zasnovan na oblaku (neko vrijeme se koristio izraz Cloud OS). Platformu možete iskoristiti kako bi proizveli i upogonili potpuno nove tipove aplikacija ili pojedinačnih usluga koje mogu biti ili samostalne aplikacije (dakle, poput Web aplikacija na Internetu) ili nadogranje postojećih aplikacijam (recimo, web servise koji nadograđuju vaše aplikacije ili koje vaše aplikacije jednostavno koriste). Ono što je bitno razumjeti da je odabir u potpunosti na strani korisnika – morate pronaći svoj scenarij koji moželi prenijeti u oblak. Nisu svi scenariji pogodni za oblak niti se svi mogu implementirati na platformi. Dodatno, platforma sadži cijeli niz dodatnih usluga, kao što je prikazano na slici 1, i jedna grupa tih usluga upravo je fokus ovog teksta.
Slika 1 Microsoft Azure Services Platform
No, za početak, upustimo se malo dublje u Windows Azure.
Windows Azure temelji se na računalnoj snazi koja se pokreće putem Microsoft Data Centara a čija je primarna zadaća stvaranje, postavka, upravljanje i skaliranje aplikacija i usluga na Internetu. Microsoft ubrzano gradi svoje Data Centre jer razumije da ne možete igrati tržišnu utakmicu ako nemate dovoljno resursa koji će podržati cloud computing – odnosno aplikacije u oblaku. Unutar Windows Azure platforme dvije su grupe aktivnosti od značaja: one koje se bave obradom (dakle, izvršenje aplikacije) te pohranom (dakle, pohrana i prihvat podataka na i sa diska). Rekli bi, uobičajeni zadaci koje radi prosječno računalo. No, za razumjeti je da su upravo ovo dva područja na kojima računala gube svoje mogućnosti i gdje se aplikacije usporavaju ili jednostavno postanu nedostupne. Laičkim riječnikom, upravo su ovo dva područja koji čine uska grla računala – ovo su elementi koje cloud computing mora jednostavno rješavati, odnosno, moraju postati neograničeno skalabilni, barem teoretski. Skalabilnost ovdje mora postati stvar konfiguracije sustava – bilo da se neograničeno dodaje broj procesora, prostora na diskovima, propusnosti mreže ili nešto drugo. Teoretski, moglo bi se reći računalu “dodaj mi još 3 procesora i podigni propusnost mreže na 10GB/s”… upravo sada – i kliknuti na gumb na konfiguracijskoj ploči.
Bitno je za razujmeti da smo upravo zbog toga Windows Azure napravili kao prilično jednostavne usluge (ali time i vrlo skalabilne). Pohrana podataka ovdje se odnosi samo na BLOB binarne podatke, nešto upita te jednostavne tablice, ali nećete pronaći ništa slično relacijskim tablicama (o tome se brine Microsoft SQL Services kao dio Microsoft Azure Services platforme).
No, kao što sam najavio, skalabilnost i dostupnost nisu jedini elementi koji su od značaja za prosječno enterprise korporativno okruženje. Tu su i pitanja sigurnosti, povezivanja “lokalnih” aplikacija s oblakom, pitanja upravljanja aplikacijama te ponekad i pitanja radnog procesa (workflowa). Ako pogledate bilo koju ozbiljniju aplikaciju danas, osim osnovne funkcionalnosti, ovo su uvijek nužni elementi koje morate imati da bi se zvali “enterprise” aplikacijom”. O tome se brinu Azure Services Platform komponente koje se nalaze u… Microsoft .NET Services građevnom bloku.
Microsoft .NET Services
Microsoft® .NET Services građeni je blok od posebnog interesa za one koji sebi postavljaju pitanja slična onima sa početka članka. Naravno, nije za očekivati da će direktor informatike sjesti za Visual Studio i rješiti pitanje federacije identiteta kroz nekoliko linija programskog koda, ali developeri bi ovdje već trebali plivati kao ribe u vodi. Probate li koristiti Microsoft .NET Services kao gradivne elemente, biti će vam jasno da je ovo tek nekoliko .NET usluga i razvojna okolina (software development kit – SDK) kojeg koriste programeri kako bi omogućili rješavanje pitanja s početka priče. Danas, ova razvojna okolina odnosno razvojne komponente rješavaju pitanja povezivanja aplikacija, pitanja pristupa te pitanja upravljanja procesima, ali jasno je da će Microsoft staviti određeno težište na razvoj komponenti koje tržište (čitaj: enterprise) bude od njih tražilo. Usluge koje kroz Microsoft .NET Services možete omogućiti su, shodno prethodnoj rečenici Microsoft .NET Service Bus, Microsoft® .NET Access Control Service, te Microsoft® .NET Workflow Service.
Tabela 1 Opisi pojedinih usluga u Microsoft .NET Services građevnom bloku
|
Usluga |
Opis |
|
.NET Workflow Service |
Komponenta koja pruža infrastrukturu za hosting i upravljanje Workflow Foundation radne procese unutar Azure Services Platforme. Također, komponenta pruža alate i mogućnosti postavljanja, upravljanja i pokretanja instanci radnih procesa u oblaku. |
|
.NET Service Bus |
Komponenta koja prestavlja uslugu povezivanja omogućujući povezivanje između oblaka i korporacijskih resursa. Ova infrastuktura omogućava radnim procesima koji su zasnovani u oblaku komuniciranje s aplikacijama koje rade u korporativnom okruženju kroz postojeće firewallove i NAT uređaje. |
|
.NET Access Control Service |
Komponenta koja pruža claims-based mehanizam pristupne kontrole u oblaku koji podržava WS-Security mogućnosti. Također su podržani zahtjevi federacije, kao što su interoperabilnost s nositeljima identiteta kao što su Active Directory i Windows Live ID. |
Iako su ove usluge primarno napisane na .NET platformi i koriste Windows Communication Foundation (WCF) i Windows Workflow Foundation (WF), to ne znači da ih ne možete koristiti i putem drugih programskih jezika odnosno razvojnih okolina. Ovo je poglavito važno za one korporacije koje su investirale i u druga razvojna okruženja. Time je zgodno za znati da je .NET Services zasnovan na industrijskim i standardnim protokolima, što omogućava jednostavnu integraciju putem REST, SOAP, i WS-* protokola. Na primjer, već postoje Java i Ruby SDK za Microsoft® .NET Services usluge – što otvara vrata raznim razvojnim grupama i jednostavnu integraciju s postojećim rješenjima.
Kako komponente rješavaju problem korporacija?
.NET Access Control Service vam omogućuje jednostavnu federaciju identiteta. Na primjer, ako koristite Active Directory kao imenički servis nije vam potreban niti jedan drugi identitet za aplikaciju koja se nalazi na Internetu. Zar to nije logično? Prijavite se ujutro u svom uredu na mrežu i … cijeli dan koristite različite aplikacije na Internetu a da niste morali upisati niti jedan drugi oblik identiteta (tipa username / password). .NET Services Bus vam omogućuje da vaša aplikacija iz ureda proslijedi neke podatke prema aplikaciji na Internetu (i obratno) na jednostavan način kroz HTTP port, čime administratori i upravitelji sigurnosti neće dobiti slom živaca. Dodatno, ova komunikacija je otvorena za višestruke usluge lokalno (Enterprise Services Bus) koje se povezuju s jednom ili više usluga na Internetu (čineći time – Internet Services Bus, termin koji se baš i ne rabi, ali je dobra slika onoga što dobivate). Na kraju .NET Workflow Service vam omogućuje da se radni procesi koje ste započeli u korporaciji jednostavno nastavljaju kroz dijelove procesa koji su u oblaku i potom vraćaju nazad u korporaciju. Mislite da vam to ne treba? Onda niste upoznati s složenošću procesa u državnoj upravi koji se prostiru ponekad i na nekoliko tijela.
I prema kraju…
Nemojte smetnuti s uma da smo ovdje razgovarali samo o specifičnom problemu i specifičnom rješenju – platforma je daleko bogatija mogućnostima. Ponavljam, sve ovisi o vašem scenariju, a enterprise integracija samo je jedan od scenarija koji se ovdje pojavljuju. Isto tako, osvrnuo sam se samo na jedan građevni blok – .NET Services, iako ih naravno ima i drugih – slika 2.
Slika 2 Razne mogućnosti koje donosi Azure Services Platforma
Neke od ovih mogućnosti su rudimentarne i niti jedna ozbiljnija aplikacija ne može se niti zamisliti bez njih – pogledajte samo na primjer Microsoft SQL Services. No to je neka druga priča i neki drugi scenarij koji razvijatelji aplikacija u oblaku mogu imati. Kao i specifičan problem koji se pri tome rješava. Ali kao što rekoh – nekom drugom prilikom.
[ms] Beign Human: Human-Computer interaction 2020
Za one koji vole, poput mene, tu i tamo razglabati o budućnosti svega i svačega (svašta nešto, rekao bi moj vrli prijatelj) sigurno je zanimljivo štivo koje je objavljeno kao rezultat istraživanja koje je organizirao Microsoft Research daleke 2007 godine.
Naslov istraživanja ujedno je i naslov ovog dokumenta: kako će izgledati interakcija između ljudi i računala 2020-te godine? I ne samo to, kako će općenito izgledati budućnost u kojoj sudjeluju računala?
Da ponovim iz uvoda istraživanja, a napisano opet davne 1966 godine:
The question persists and indeed
grows whether the computer will make
it easier or harder for human beings to
know who they really are, to identify
their real problems, to respond more
fully to beauty, to place adequate value
on life, and to make their world safer
than it now is.Norman Cousins – The Poet and the Computer, 1966
Dakle, miš u ruke, mozak (ne na pašu, nego aktivno uključen) te klik na ovaj link (PDF) i … samo se sjetite da je odgovor “42”.
[ms] o borbi između klijenta i oblaka, servisima koji putuju, bržim Windowsima i sličnim prije spavanja…
Pročitao sam nedavno zanimljiv članak u Economistu: Clash of the Clouds, koji “predviđa” manju ulogu klijentskih operacijskih sustava i početak borbe za oblak. Ekipi su Windowsi 7 nekakav “milestone” koji otvara vrata drugim OS-ovima, poput Chrome OS ili Androida.
Windows 7 možda jest početak novog pravca u razvoju operacijskih sustava, i biti će poznat po tome da su OS-ovi krenuli u jednom sasvim neočekivanom pravcu: biti će sve manji, brži i nezahtjevniji.
Što je tome uzrok? S jedne strane, sami Windowsi su pretjerali – svaka nova verzija OS-a bila je sve veća i veća (i po mogućnostima ali i po stvarnom zauzeći prostora kako na disku tako i u memoriji). Uzmimo na primjer uporedbu: WIndows XP (u koje su se mnogi kleli, a i danas to rade) preporučeno traže 3GB prostora na disku, dok smo s Windows Vistom otišli na 30GB. Nije jednostavno objasniti što smo to deset puta povećali, ali barem sada znamo da “to” radi brže (evo pripadnog slidea s nedavnog PDC-a, a možete pogledati i poslušati prezentaciju Marka Russinovicha: client footprint reduction).
No, vratimo se na temu – miče li se operacijski sustav s klijenta u oblak? Ne doslovno, ali barem u dobrom dijelu servisa? Odnosno, hoće li operacijski sustav na klijentu biti sve tanji i tanji, poput manekenki, a pri tome sve brži i brži (čitaj: učinkovitiji)? Da li je Windows 7 dobar i očigledan korak u tom smjeru, i hoće li WIndows 8 u tom smjeru i nastaviti?
Sve su ovo pitanja na koje ćemo brzo dobiti odgovore – neke smo već i dobili. Moderni operacijski sustavi su upravo takvi – bježe s klijenta u druge prostore i dijele svoje funkcije na nove i različite načine.
Koje funkcije bi se mogle još prenijeti s operacijskog na oblak?
Neke su prilično jednostavne i tu vidim one koje nisu vremenski bitne (mislim na vrijeme odziva, bez obzira što danas svi pričaju o real-time webu i ostalim, da nema mrežnih provajdera kao što su ovi naši možda i zanimljivih stvari). Pogledajmo samo Start izbornik – imat u aplikacija i servisa koji bi lako prešli na oblak i to ne samo u modelu u kojemu je moguće nadograđivati OS novim aplikacijama (kao što su to Windows Live aplikacije). Možemo se zagledati i dublje – u nivo operativnog sustava koji nije nužno blizak sklopovlju ili pogoniteljima. Mislim da će HTML5, koliko god to čudno zvučalo, puno toga napraviti u tom smjeru (ili bar omogućiti…).
Koje su mi funkcije dvojbene?
Zapravo bilo koja funkcija koja dotiče neki vanjski reusurs – mada vanjski ovdje shvatite s oprezom: meni je to i vanjski u odnosu na klijenta (printer) ili vanjski u odnosu na oblak (kernel na lokalnom računalu). Recimo, mrežni printeri (lokalni su izumrli, je li). Tehnički to znači da bi se printeri povezali na nekakav enterprise services bus (internet services bus) koji pripada vašoj organizaciji. OK, za sada to je izvedivo – tome služe npr .NET Services u Azure Platform u Microsoft oblaku. No, i u printeru bi trebao biti nekakav servis koji bi se “objavio” oblaku, odnosno instanci koju generira pripadni ESB (korporacijski). Recimo da bi se i to moglo napraviti – ionako danas koristimo printer servere koji rade nešto slično – ne zahtjevaju lokalne servere za print, ali, opet, ipak su serveri.
Dakle, sve je jednostavno, samo kad bi printeri znali kojem “privatnom” dijelu oblaka pripadaju, odnosno na koji se services bus povezuju. Napisao sam “privatnom”? Sigurno ne slučajno je niz pogleda usmjeren u “private cloud computing” – pogledajte si malo i Microsoft projekt “Sydney” koji priprema upravo jedan ovakav pristup.
Za kraj, problematičan je i offline rad općenito. Što kada neki servis prebacite u oblak i … nemate konekciju? Planirate to riješti s offline cacheiranjem? Opet lokalna aplikacija, odnosno, lokalna aplikacija koja podržava vašu namjenu da nemate lokalnih aplikacija (ex. Google Gears). Oksimorotično, zar ne?
Ima tu i drugih stvari, ali ostavljam to za naše Architect Forume, kasnu pizzu i pivo i sneni pogled uz rečenicu “e kad sam ja slemio svoju prvu Galaksiju…”. Ali nove generacije ionako to ne razumiju
.
P.S. nemojte mi samo početi s idejom da bi zapravo cijeli OS mogao u oblak jer eto – i njemu treba s nečega pristupiti. A čim sjedimo lokalno a ne u oblaku (a niti nećemo skoro, bar dok ne završim svoje na ovom svijetu), imamo lokalnu jedinicu. Hence, local OS.
[ms] Open Cloud Computing: je li to moguće? (onako, u Delićevom stilu…)
Dakle, pitanje nije da li je to moguće (barem tehnološki) već da li su veliki spremni otvoriti svoja vrata i omogućiti pisanje i povezivanje aplikacija bez obzira na kojem oblaku rade. Jedno od prvih pitanja koje sam prije nekog vremena dobio od publike na predavanju o Microsoft Cloud Computingu (tada se to i nije tako zvalo) bilo je: a ako napišem aplikaciju i ona se vrti na Microsoft oblaku, mogu li jednog dana prebaciti tu svoju aplikaciju na drugi oblak? Odgovor je bio “teško” mada u principu je bolji odgovor “ovisi”. Dakle, jednostavnije je aplikaciju prebaciti na virtualizirani prostor kakav nudi Amazon, jedino što morate izgraditi okolinu od početka do kraja, no tehnički je to moguće. Gotovo nemoguće je prebaciti aplikaciju na Google Apps Engine (koji koliko vidim podržava Phyton) osim naravno ako vaša aplikacija nije pisana upravo u tom jeziku. Kako je s ostalim oblacima neznam, ali vjerujem da migracija nije jednostavna.
Kao spas u prvi čas pojavila se grupa organizirana oko Zend Technologies (a kao jedan od sudionika je tu i Microsoft, ali i IBM te druge niche tvrtke koje su poznate u cloud arhitekturama kao što je GoGrid.) koja je pokrenula projekt pod nazivom “Simple API for Cloud Application Services” ili pojednostavljeno gradnju API sloja koji omogućuje izolaciju specifičnosti pojedinačne cloud arhitekture od same aplikacije. Gotovo vrlo slično nekim programskim platformama: piši jednom, vrti bilo gdje. Prvi prijedlog arhitekture možete pronaći na ovoj adresi (simplecloud.org).
Iako ste možda daleko od ove problematike, jednog bi nam dana mogla biti izrazito važna jer je nerješavanje ovakve problematike upravo i dovelo do pitanja problema u interoperabilnosti. Standardi, inicijative i suglasnosti pomažu da se problematika niti ne pojavi – ili da je bude što manje.
a new open source initiative that allows developers to use common application services in the cloud, while enabling them to unlock value-added features available from individual providers.
Press release možete pronaći ovdje, a Microsoft komentar na Interoperability@Microsoft Web siteu.
[ms] Microsoft za Linux: interoperabilnost ili nevjerica? /add: Linus on Microsoft
Iako ovakve stvari uglavnom pišem kao Dodatke postovima, mislim da je ovaj članak na Linux Magazine siteu pod nazivom “Microsoft Patches Linux: Linus responds” (od 22.07.) prilično dobar komentar na činjenicu da je Microsoft poslao svoj kod na uključivanje u Linux Kernel. Sa par komentara se javio i Linus Torvalds (svi znamo tko je) i mislim da je ovo jedna pametna, zdravorazumska priča o tome tko što želi.
Zanimljivo je kako se Linus ograđuje od pojedinaca koji manijakalno odbacuju sve oko sebe živući samo za ono što nema dodira s ičim komercijalnim – srednja struja postaje sve dominantnija, kao što jača i u Microsoftu, s svim aktivnostima vezanim uz otvoreni kod ali i opće razumijevanje toga što OSS jest.
Kratki, preneseni komentar Linusa:
I’m a big believer in "technology over politics". I don’t care who it comes from, as long as there are solid reasons for the code, and as long as we don’t have to worry about licensing etc issues. I may make jokes about Microsoft at times, but at the same time, I think the Microsoft hatred is a disease. I believe in open development, and that very much involves not just making the source open, but also not shutting other people and companies out. There are ‘extremists’ in the free software world, but that’s one major reason why I don’t call what I do ‘free software’ any more. I don’t want to be associated with the people for whom it’s about exclusion and hatred.
Ali ono što me zbilja ugodno iznenadilo jest da Linus i moja malenkost zapravo isto mislimo
odnosno da nam je razmišljanje o tome zašto je Microsoft baš to napravio prilično zajedničko (za to je potrebno pročitati moj prethodni post na tu temu). Evo izvatka od strane Linusa:
“I agree that it’s driven by selfish reasons, but that’s how all open source code gets written! We all “scratch our own itches”. It’s why I started Linux, it’s why I started git, and it’s why I am still involved. It’s the reason for everybody to end up in open source, to some degree.
So complaining about the fact that Microsoft picked a selfish area to work on is just silly. Of course they picked an area that helps them. That’s the point of open source – the ability to make the code better for your particular needs, whoever the ‘your’ in question happens to be.
Does anybody complain when hardware companies write drivers for the hardware they produce? No. That would be crazy. Does anybody complain when IBM funds all the POWER development, and works on enterprise features because they sell into the enterprise? No. That would be insane.
So the people who complain about Microsoft writing drivers for their own virtualization model should take a long look in the mirror and ask themselves why they are being so hypocritical.”
Nuf said. Odlično.





RSS pretplata na članke
... i leptir na naslovnici :).