2013-10-16 47 views
6

Obecnie jestem na desce kreślarskiej nowej chmury usług, którą budujemy z architekturą zorientowaną na usługi. Pomysł wygląda tak:Możliwe jest chmury SOA w PaaS?

  • Chmura, powiedzmy 10, usług.
  • 3 całkowicie różne warstwy logiki biznesowej (BL), które swobodnie mogą łączyć ze sobą te usługi.
  • BL obsługuje autoryzację i zarządzanie dostępem, usługi tylko odbierają i odpowiadają.

Pytanie brzmi, czy ta konfiguracja jest możliwa z PaaS (najlepiej Heroku lub Google App Engine) z główną kwestią jest posiadanie wielu usług, które są niepubliczne, ale jednocześnie dostępnym z różnymi aplikacjami (BL).

Zasadniczo: jak chronić usługi przed dostępem publicznym (najlepiej bez uwierzytelniania i tokenów), ale jednocześnie pozwolić, aby jakakolwiek z moich aplikacji do nich dotarła?

enter image description here

Odpowiedz

1

Dla SOA w App Engine chciałbym sprawdzić https://cloud.google.com/appengine/docs/python/microservices-on-app-engine.

W GAE ludzie używają całkowicie różnych projektów lub różnych "modułów" w ramach projektu, które są usługami i mogą one mieć różne "wersje" dla takich rzeczy jak testy AB i łatwiejsze wycofywanie.

Moduł i jego różne wersje mają oddzielne adresy URL i mówią HTTP.

Używanie modułów oznacza, że ​​kończysz z udostępnioną globalną bazą danych, musisz pamiętać, żeby nie układać rzeczy w taki sposób, aby otrzymać "shared database architecture", np. Każda biblioteka usług powinna być jedynym sposobem na uzyskanie do tych danych usług (staraj się nie dotrzeć do interfejsu http/warstwy dostępu do danych bezpośrednio do bazy danych usług, ponieważ będziesz w stanie to zrobić).

To samo dotyczy innych rzeczy, takich jak kolejki zadań, będziesz mieć możliwość korzystania z kolejki kolejek i powinieneś być czujny i używać różnych przestrzeni nazw dla każdej kolejki modułów.

z Heroku Wyobrażam sobie, że mógłbyś mieć podobny wybór do używania zupełnie innych projektów Heroku, które używają wspólnej biblioteki, która jest skonfigurowana ze zmiennymi środowiskowymi, aby porozmawiać z innym wspólnym projektem heroku z innym kodem lub jednym wielkim projektem heroku. Heroku podąża za http://12factor.net/ dość mocno i jest dobrze skonfigurowany do używania mikroserwisów innych ludzi z addons.

2

Może chcesz skorzystać z usługi Google Check Cloud WSO2. składa się z App Cloud i chmury API. Dla swojego scenariusza można wyizolować chmurę usług za pomocą chmury WSO2 API. Możesz udostępnić chmurę usług chmury WSO2 API i udostępniając niektóre API tylko dla domeny dzierżawcy. W WSO2 App Cloud możesz wdrożyć swoje publicznie dostępne aplikacje, które mogą korzystać z interfejsów API usług w chmurze, które są izolowane w Twojej domenie.

Co więcej, rozwiązanie WSO2 App Cloud to nie tylko hosting, ale także platforma programistyczna. Możesz rozwijać usługi i aplikacje od zera. Udostępnia on narzędzia do budowania, obsługę bazy danych, edytor itd.

Obie powyższe chmury mają funkcję automatycznego skalowania (nie musisz się tym martwić). Chmura aplikacji zapewnia środowisko programistyczne, testowe i produkcyjne do zarządzania cyklem życia aplikacji/usług. Chmura interfejsu API SO2 pozwala nie tylko tworzyć, zarządzać i publikować interfejsy API w społeczności programistów, ale także udostępniać je w Chmura

Więcej informacji można znaleźć na https://docs.wso2.com/display/AppCloud/WSO2+App+Cloud+Documentation https://docs.wso2.com/display/APICloud/WSO2+API+Cloud+Documentation

Uwaga WSO2 że chmura jest usługą beta w tej chwili.

Nota prawna: Pracuję w chmurze WSO2.

+0

Bezpośredni link do WSO2 Cloud to http://cloud.wso2.com – DSotnikov