Aplikacja w chmurze - wybór i przygotowywanie

W dużych wdrożeniach cloud service trzeba sobie już radzić z uzewnętrznianiem i administrowaniem setek, a czasem nawet tysięcy usług, wykorzystywanych przez setki lub tysiące użytkowników każdego dnia, z których każdy uzyskuje do nich dostęp w inny sposób i w różnym celu. Wyzwaniem nie jest tu wyprowadzenie usług na zewnątrz, ale współbieżne nimi administrowanie, zapewniające prawidłowe ich działanie przez długi czas. Podstawowe problemy to skalowalność i stabilność.

W scenariuszu średniego i dużego wdrożenia zazwyczaj ma się do czynienia z bardziej radykalną zmianą architektury podstawowych aplikacji, obejmującą zmiany w rdzennej bazie danych i usługach przetwarzania. Można je wykonać korzystając z dodatków udostępnianych przez dostawców oprogramowania. W praktyce są to rozwiązania, gdzie warstwa pośrednicząca konwertuje rodzime usługi aplikacyjne na cloud service i zarządza tymi usługami używając funkcji wbudowanych do produktu. Na rynku oprogramowanie takie pojawia się jako cloud enabled.

Krańcowo odmienne podejście to całkowite przeprogramowanie aplikacji od podstaw, które zapewni ich dostosowanie do potrzeb cloud services, w tym do wsparcia wielodzierżawności. Takie podejście może być okazją do przeprojektowania aplikacji - często z użyciem nowszych języków programowania lub technologii baz danych - co może być tańsze niż modyfikowanie starszego kodu.

I na końcu, po rozważeniu architektury aplikacji i sposobu jej uzewnętrznienia oraz zarządzania cloud service, trzeba również pomyśleć o standardach. Większość standardów mających tu zastosowanie związana jest z usługami webowymi - WSDL, SOAP, REST. W obszarze cloud computing pojawiają się też standardy bezpieczeństwa i zarządzania. Przed rozpoczęciem projektu konieczny jest przegląd i wybranie najlepszych dla planowanego rozwiązania.

Problemy bezpieczeństwa

Bezpieczeństwo jest głównym zagadnieniem przy implementacji usług w chmurze. Projekt prywatnych lub publicznych chmur wymaga dokładnego przemyślenia zagadnień bezpieczeństwa. Obejmuje to: utworzenie modelu bezpieczeństwa, wybranie odpowiedniej techniki zabezpieczeń i rozpoznanie ryzyka. Osoby zajmujące się bezpieczeństwem muszą uwzględniać wiele czynników, które wpływają na działania biznesowe i oceniać, czy mieszczą się one w granicach dopuszczalnego ryzyka.

W ocenie wielu specjalistów od bezpieczeństwa, organizacje często wchodzą w obszar cloud computing zbyt szybko, a potrzebne tu jest podejście pragmatyczne, oparte na kalkulacji ryzyka, zrozumieniu tego ryzyka oraz rozpoznaniu możliwości jego obniżenia. Problemem jest fakt eksponowania w chmurze systemu, który został zaprojektowany do użytku wewnętrznego. Modele bezpieczeństwa wykorzystywane w cloud computing są zazwyczaj bardziej skomplikowane i bardziej zaawansowane, wykorzystujące takie techniki jak zaawansowane szyfrowanie i bezpieczeństwo oparte na tożsamości. Zabezpieczenia oparte na tożsamości oznaczają śledzenie tożsamości użytkowników, maszyn, usług, danych itp., co pozwala na precyzyjne zarządzanie zabezpieczeniami i określanie: kto ma dostęp do określonych usług i co może wykonać w ramach tych usług. Maszyna o określonej tożsamości może np. wywoływać usługę, ponieważ wcześniej została zweryfikowana jako dopuszczona do korzystania z tej usługi. Systemy oprogramowania bezpieczeństwa zarządzania tożsamością wymagają zazwyczaj repozytorium do śledzenia tożsamości i możliwości walidowania uwierzytelnień od wszystkich uczestników. Szyfrowanie jest kolejnym standardowym mechanizmem zabezpieczeń cloud computing. Zarówno konsument, jak i dostawca usługi powinni mieć możliwość włączenia szyfrowania kiedy sesja pomiędzy nimi jest prywatna. Kiedy szyfrowane są dane przemieszczające się z jednego systemu do drugiego, to sam proces szyfrowania wykonywane jest w locie. Ponadto konieczne jest rozważenie ochrony danych w spoczynku. Jest to dodatkowa ochrona zabezpieczająca przed dostępem do aplikacji lub danych osobom postronnym. Dane są szyfrowane w momencie umieszczania na dysku i deszyfrowane, kiedy są potrzebne jakiejś aplikacji lub cloud service.

Aplikacje udostępniane w chmurze mogą narażać na wycieki danych z powodu słabości API kontroli dostępu oraz systemu generowania, przechowywania i zarządzania kluczami, jak również braku odpowiedniej polityki zabezpieczającej przed uszkodzeniem danych.


TOP 200