Blog

CROZ-ovski cloud je živ! Živio oblak!

Sudeći po istraživanju (RedHat podaci), korištenje cloud platforme (PaaS) skraćuje vrijeme potrebno za pripremu aplikativnih okolina s nekoliko tjedana na nekoliko sati. Zvuči dobro - nastavite čitati/gledati!
, 19.12.2017.

OpenShift je aplikativna, cloud platforma, a zasniva se na korištenju Docker i Kubernetes tehnologija te DevOps alata. Aplikacije se, u okviru platformi, pakiraju unutar Docker kontejnera te platforma nudi alate za izradu, postavljanje i upravljanje tim kontejnerima.

Osnovni je cilj čitave platforme ubrzanje razvoja aplikacija uz rješavanje poslovnih problema:

  • brze isporuke
  • iskorištavanje ( reuse) zajedničkih dijelova.

OpenShift ekosustav donosi razne tehnologije, od praćenja metrika kontejnera, performansi aplikacija unutar kontejnera, podrške za razne Java i druge tehnologije i programska okruženja.

Sve o OpenShiftu doznajte u videu.

 

OpenShift ekosustav

Neki od servisa koje nudi OpenShift platforma aplikacijama koje se izvode na toj platformi su:

  • single sign-on
  • jedinstveni sustav za prikupljanje, pristup i upravljanje aplikativnim logovima
  • CI/CD sustav za izradu i postavljanje aplikacija
  • high availability/load balancing
  • service discovery.

OpenShift.io, online je servis koji nudi integrirano razvojno okruženje (IDE) za aplikacije na cloud platformi. Umjesto potrebe da se IDE instalira i podešava za svakog pojedinog programera, cloud IDE nudi jednostavno korištenje svim programerima na platformi. Zasad je dostupno samo online, ali se uskoro očekuje izdanje za on-premise verziju cloud platforme.


Continuous Integration metodologija označava da se na osnovi svake isporuke koda u neki od SCM sustava izrađuje verzija aplikacije spremna za postavljanje (engl. deployment) na neko od aplikativnih okruženja.

Continuous Delivery metodologija označava metode koje osiguravaju da se verzije aplikacije mogu u bilo kojem trenutku postaviti na produkcijsku okolinu. Odluku o postavljanju verzije aplikacije na pojedinu okolinu donosi odgovorna osoba, bio to voditelj projekta, voditelj tima ili netko treći.

Continuous Deployment metodologija dopunjava Continuous Delivery na način da se svaka verzija aplikacije postavlja u produkcijsku okolinu, bez neke posebne odluke. Ova je metodologija rezultat pune automatizacije procesa razvoja softvera, od izrade verzija, kontinuiranog praćenja kvalitete i ispravnosti koda (automatizirani testovi i provjere koda) do automatizacije procesa postavljanja nove verzije aplikacija, počevši od razvojne, integracijske, testne sve do produkcijske okoline.

Continuous Deployment je cilj kojemu se teži, zahtijeva veći uloženi trud, ali i prednosti korištenja takve metodologije su veće.


Tko smo mi i kakve veze imamo s cloudom?

We are CROZ, resistance is futile. 😉

Mi smo jedna iskusna, odlična ekipa koja cloud i njegove peripetije poznaje u dušu. Koristimo cloud platforme (a najbolja nam je Openshift Origin) i razmišljamo o trenutačnim i budućim smjerovima razvoja aplikacija. Openshift cloud platforma, koju koristimo u on-premise, private izdanju, koje se instalira lokalno kod korisnika, donosi nam mogućnost jednostavne izrade aplikativnih okolina od razvoja i testa sve do produkcije. Omogućava nam brzi razvoj aplikacija, sve što treba programer jest isporučiti kod aplikacije, a platforma se pobrine za sve ostalo, od izrade verzije aplikacije, pokretanja testova do postavljanja verzije aplikacije u jednu od okolina, bilo testnu, bilo produkcijsku okolinu.

Od drugih cloud platformi koristimo i IBM Cloud (ex. Bluemix) / IBM Cloud Private, Cloud Foundry, sve do CoreOS, Spring Cloud i Docker tehnologija.

Što radimo?

OpenShift cloud platformu koristimo za razvoj aplikacija, od naših internih aplikacija do aplikacija po narudžbi za naše korisnike. Tu se može naći svega, od malih, jednostavnih aplikacija za praćenje podataka o djelatnicima do velikih, enterprise aplikacija poput rješenja za internetska bankarstva i slično.

Da bismo mogli korisnicima ponuditi najbolju uslugu po povoljnoj cijeni, morali smo modernizirati razvoj i metodologije. Većina projekata koristi automatizirano testiranje, automatiziran build i deployment (continuous integration i continuous delivery), a neki od projekata koriste i continuous release.

Kako koristimo cloud platformu?

Ovisno o potrebama projekata/aplikacija, koristimo nekoliko modaliteta cloud platforme, s većim ili manjim stupnjem automatizacije.

Cloud kao izvedbena okolina

U ovom modalitetu, cloud platformu koristimo za konsolidaciju aplikativnih okolina. Umjesto hrpe virtualnih računala, svaki sa svojom aplikacijom, na cloud platformi pokrećemo aplikacije upakirane kao docker kontejneri. Sve su aplikacije nezavisne, rade jednako dobro kao i unutar zasebnog virtualnog računala, a smanjuju potrebe za računalnim resursima.

Ovaj modalitet koristi najmanji stupanj automatizacije, vanjski continuous integration poslužitelj priprema verziju aplikacije i pokreće njeno naseljavanje na cloud platformu.

Najčešće ga koristimo kad se vanjskim korisnicima isporučuje verzija aplikacije (WER datoteke, kompajlirani kod i slično), a kod aplikacije čuvamo kod sebe. Isto tako, koristimo ga u slučaju specijalnih koraka u izradi verzije aplikacije (legacy tehnologije i slično).

Samom konsolidacijom aplikativnih okolina uspjeli smo 30-40 aplikacija pokrenuti na samo 4 virtualna računala (izvedbeni dijelovi cloud platforme), pritom smanjujući potrebe za resursima nekoliko puta.

Cloud kao build i izvedbena okolina

Korištenjem cloud platforme kao build i izvedbene okoline povećavamo stupanj automatizacije. U ovom modalitetu sve što je u djelokrugu programera jest isporučiti kod na SCM sustav (engl. source code management, poslužitelj razvojnog koda). Nakon isporuke koda cloud platforma sama izrađuje verziju aplikacije, odrađuje automatizirane testove i postavlja izrađenu verziju aplikacije.

Takav način rada najčešće koristimo kod aplikacija koje koriste standardne tehnologije poput Apache Maven i sličnih.

Kod ovakve upotrebe, najčešći je produkt bilo izvorni kod (pa se koristi u nekom drugom cloud okruženju kod korisnika), bilo Docker kontejner koji se isporučuje korisniku.

Puna upotreba cloud (PaaS) platforme

Puna upotreba cloud platforme podrazumijeva da se izvan same cloud platforme nalazi jedino SCM sustav s kodom aplikacija. Sve ostalo je unutar cloud platforme, od build sustava do nekoliko izvedbenih okolina (razvojna, testna i produkcijska).

Ovaj se način može nazvati i jedan klik do produkcije s obzirom na to da se nakon klika na gumb odobrenja u aplikativnom sustavu pokreće automatizirani proces postavljanja aplikacije u produkcijsku okolinu.

Kada početi koristiti cloud?

Sada, jer je došlo doba mikroservisa, a svi već znamo da je cloud konverzija kompleksne arhitekture u distribuirane transakcije. Je lʼ tako da znamo?:)

Novi standard kvalitete u svijetu razvoja aplikacija je mikroservis, mikroservisno orijentirana arhitektura i sve povezano s mikroservisima. Mikroservisi podrazumijevanju korištenje više desetaka manjih, fokusiranih servisa za razvoj većih aplikacija, što vodi većoj kompleksnosti infrastrukture za njihovo pokretanje i održavanje. Cloud platforma ovdje se nameće kao alat koji olakšava upravljanje mikroservisima, pojednostavljuje procese održavanja okolina za njihovo pokretanje i nudi njihov nadzor kroz jedinstveno sučelje.

Najnoviji trendovi u razvoju aplikacija spominju application modernization and migration, tj. modernizaciju aplikacija i njihovu migraciju s legacy produkata na moderne platforme poput OpenShifta.

Zašto koristiti cloud platformu?

Sudeći po istraživanju (RedHat podaci), korištenje cloud platforme (PaaS) skraćuje vrijeme potrebno za pripremu aplikativnih okolina s nekoliko tjedana na nekoliko sati. Dodatno, s obzirom na to da se sve radi na platformi koja je već spremna za rad, smanjuju se potencijalni problemi prilikom pripreme nove okoline.

Korištenje cloud platforme omogućava brzi razvoj novih aplikacija kroz tzv. self-service portal. Svaki korisnik ima mogućnost kreiranja novog projekta (ovisno o ovlastima) te se u roku par minuta može pokrenuti nova aplikacija.

U svijetu mikroservisne arhitekture postoje gomile mikroservisa. Poslovne probleme transformira se u distribuirane i treba nam platforma koja omogućava nadzor i upravljanje tom gomilom mikroservisa. Jedna od takvih je i cloud platforma.

OpenShift nudi odličnu administrativnu konzolu kroz koju se može upravljati svim aspektima aplikacija koje se pokreću na platformi:

  • praćenje logova
  • praćenje performansi
  • verzioniranje resursa/konfiguracije uz mogućnost rollbacka na neku od prethodnih verzija
  • clustering/load balancing/high availability

A gdje se to može vidjeti?

Korištenje cloud platforme možete vidjeti uživo kod nas. Lokacija GROUND ZERO, Lastovska 23, Zagreb, HR, Milky way galaksija, Multiverse 1.0.1 😉

Šalu na stranu, svakako nas kontaktirajte i možemo organizirati prezentaciju uživo kod vas, posjet kod nas ili bilo koji drugi oblik komunikacije koji vama odgovara.

S obzirom na privatnost nekih projekata, možda vam ne možemo pokazati baš svaki projekt u cloudu, ali ima ih dovoljno, koje možemo pokazivati, da steknete uvid u korištenje cloud platforme i njene prednosti.


I Erste Group Card Processor nosi RedHat OpenShift hit kolekciju!

Početkom ove godine s tvrtkom Erste Group Card Processor d.o.o. (EGCP) započeli smo vrlo zanimljiv projekt. Inače, ključno poslovanje EGCP-a je kartično procesiranje, izdavanje debitnih, kreditnih i prepaid kartica, prihvat kartica na ATM i POS terminalima te e-trgovina. S obzirom na to da su pred kartičnu industriju stavljeni veliki izazovi , što direktno, što posljedično preko bankarskog sektora poput PSD2, za takvu su organizaciju inovativnost i proaktivnost must have karakteristike i u EGCP-u su vrlo dobro svjesni toga.

Od ideje da zajednički kroz Domain Driven Development koncept uspostavimo novu arhitekturu i korake DevOps procesa na EGCP infrastrukturi, upravo smo nedavno uspješno završili s implementacijom RedHat OpenShift i Gluster komponenti. EGCP ekipa je i osobno ostala ugodno iznenađena činjenicom koliko zapravo prednjače s tehnološkom inovativnosti u odnosu na lokalno tržište. Projekt je uspješno završen prije par tjedana te smo o dojmovima popričali s Igorom Sekeljom, voditeljem razvoja poslovanja i krovnim koordinatorom cijele priče, koji nam je otkrio svoje viđenje.

“Razradili smo vrlo detaljno cijelu ideju, imali smo vlastitih prijedloga i htjeli smo sigurno uspjeti koliko je to moguće. Iz tog smo razloga tražili partnera koji ima bogato iskustvo u spomenutoj problematici i getting things done renome, pa je izbor bio dosta jasan. CROZ nam je pomogao najviše kroz točke vezane za ispravnu identifikaciju mogućih Single Points of Failure (SPOF), ispitivanje i odabir odgovarajućih tehnologija te pružio drugačiji pogled na optimalna rješenja vezana za autentikacije / autorizacije servisa. Nakon uspostave adekvatne simbioze u zajedničkom timu imali smo niz stručnih radionica iz područja kao što su: code repo, image repo, CI, OpenShift setup, pakiranje resursa (app. serveri, baze), deployment, setup build/unit/mock test/deployment procesa. Po uspostavi OpenShift platforme (jedva smo dočekali – smijeh), osigurano nam je dovoljno znanja i sigurnosti u sebe da samostalno možemo dalje kreirati servise sa svim pripadajućim resursima, buildati kontejnere i deployati iste na OpenShift usklađenim operativnim procedurama. Vrlo smo ponosni što smo, kako čujem prvi u Hrvatskoj, prepoznali svu inovativnost i prednosti OpenShift platforme te vjerujem da će nam ista uz trenutno dobiveno znanje naših stručnjaka o platformi i DevOps procesu osigurati veću kompetitivnu prednost na tržištu u vremenima koja dolaze.” – Igor Sekelj, Head of business division, Erste Group Card Prosessor d.o.o.

Tagovi:
Povratak