e-office: Sekretariat w chmurze Marcin Pytel
Plan prezentacji 1. Wprowadzenie do systemu e-office. 2. Architektura systemu. 3. Doświadczenia praktyczne z pracy z Azure. 4. Plany dotyczące rozwoju systemu. 2
Wprowadzenie do e-office: Potrzeba Cloud Computing najbardziej realna droga rozwoju IT Talex firmą innowacyjną Rozpoznanie technologii Microsoft Azurew ramach implementacji prostego systemu Wybrano system Sekretariat z portfolio firmy Talex Dobrze sprecyzowana funkcjonalność Wykorzystanie mechanizmów spotykanych w złożonych systemach informatycznych Realne zapotrzebowanie rynku System obsługi korespondencji niezbędny w każdej firmie Wysokie koszty wdrożenia i utrzymania 3
Wprowadzenie do e-office: Funkcjonalność Moduł Sekretariat: Podstawowe obiekty Dokument Kartoteka Tag Skanowanie dokumentów (do implementacji) Rejestracja i klasyfikacja dokumentów Wyszukiwanie i podgląd dokumentów Zarządzanie kartotekami i tagami Prowadzenie katalogu kontrahentów Automatyczne wysyłanie wiadomości e-mail 4
Wprowadzenie do e-office: Korzyści Korzyści dla Klienta: Centralne repozytorium dla korespondencji Uniwersalność i prostota obsługi Dostęp do systemu z dowolnej lokalizacji Łatwe, szybkie i tanie rozpoczęcie pracy z systemem Przejrzyste i niższe koszty Praktycznie nieograniczona pojemność danych Wysoki poziom niezawodności i bezpieczeństwa Wysoka skalowalność systemu 5
Architektura: Wersja on-premise 6
Architektura: Instancje obliczeniowe Wykorzystano rolę typu Web Role Dedykowany typ roli dla aplikacji webowych Możliwości skalowania Zastosowanie instancji o większej wydajności Zwiększenie liczby instancji Dostępność SLA (na poziomie 99,95%) wymaga zastosowania co najmniej 2 instancji Z praktyki dostępność pojedynczej instancji bardzo wysoka (zbliżona do SLA) Przerwy w pracy instancji najczęściej powodowane zmianą wersji systemu operacyjnego (OS Upgrade) 7
Architektura: Dane relacyjne Cecha SQL Azure Table Storage Funkcjonalność Pełna baza danych Tylko tabele Maksymalnyrozmiar danych Model programowania 50 GBna bazę 100TB na tabelę Znany z SQL Server Nowy Transakcyjność Pełna Bardzo ograniczona Wydajność Średnia Bardzo wysoka Koszty Wysokie Niskie 8
Architektura: Dane binarne Cecha SQL Azure Blob Storage Local Storage Miejsce przechowywania Pole w tabeli Usługa Azure Dysk lokalny Maksymalny rozmiar danych 50 GBna bazę 5x100TB na subskrypcję Zależny od typu instancji Model programowania Znany zsql Server Nowy Nowy Transakcyjność Pełna Brak Brak Wydajność Niska Bardzo wysoka Wysoka Koszty Bardzo wysokie Niskie Brak(w cenie instancji) 9
Architektura: Wersja Azure MP3 10
Slajd 10 MP3 Mam ten rysunek przygotowany w Visio. Zawiera on docelową architekturę, już z aplikacją Windows. Na tym rysunku powinny dojść jeszcze elementy związane z wysyłaniem powiadomień mailowych - teraz ich brak, bo nie chciałem tego rysunku zaciemniać, ale może należałoby je dodać. Marcin Pytel; 2011-06-07
Praktyka: SQL Azure Funkcjonalność pomiędzy Express a Standard Od strony programisty właściwie bez zmian Brak AnalysisServices, Service Broker a, replikacji i wyszukiwania pełnotekstowego Reporting Services obecnie w fazie CTP Zarządzanie bazą SQL Azure SQL Management Studio (w trybie ograniczonym) Dedykowana aplikacja webowa na portalu Windows Azure Sporządzanie kopii bezpieczeństwa Export/Import tworzenie pliku ze schematem i danymi Data sync wymiana danych SQL Azure< > SQL Server Koszty Transmisja w chmurze bezpłatna Kosztuje dostęp z zewnątrz, transakcje i zajmowana przestrzeń danych 11
Praktyka: Blob Storage Gotowe biblioteki klienckie znacznie ułatwiają pracę Kontenery Struktura płaska, ale można symulować hierarchię Polityka bezpieczeństwa na poziomie kontenera często niewystarczająca Metadane bardzo przydatne Konieczność wyboru typu blobów Block Blob idealny do składowania plików Page Blob do specyficznych zastosowań Czy dane są bezpieczne? Bezpieczeństwo fizyczne dzięki replikacji Potrzebne zabezpieczenie przed możliwymi błędami w aplikacji Mechanizm snapshot ów znacznym ułatwieniem 12
Praktyka: Obsługa sesji 1/2 Instancje ról niezależne od siebie nie można przechowywać danych sesji w ramach procesu (InProc) Możliwe rozwiązania TableStorageService Provider(AzurePlatform TrainingKit) dane sesji w TableStorage Azure Providers(CodePlex) implementacja provider ów wykorzystujących Azure Storage SQL Azure wykorzystanie standardowego provider a SqlStateSessionStore(bez wsparcia Microsoft) ApplicationRequestRouting (komponent IIS) obsługa kolejnych żądań przez tę samą instancję Cookies rozmiar nie większy niż 8 KB, uwaga na potencjalne fałszowanie danych AppFabric Caching Service (wcześniej Velocity) najnowsze i najlepsze rozwiązanie 13
Praktyka: Obsługa sesji 2/2 AppFabric Caching Service Rozproszony cache, przechowywany w pamięci Gotowy provider dla obsługi sesji Proste w obsłudze API umożliwiające wykorzystanie cache a przez wiele serwerów Możliwość przechowywania obiektów dowolnego typu Dostępne warianty Rozmiar Transakcje [Liczba/h] Pasmo [MB/h] Liczba połączeń Cena [USD/mies] 128 MB 400000 1400 5 45 256 MB 800000 2800 10 55 512 MB 1600000 5600 20 75 1024 MB 3200000 11200 40 110 2048 MB 6400000 22400 80 180 14
Praktyka: Wysyłanie wiadomości e-mail 1/2 Możliwość wysyłania wiadomości e-mail jest niezbędna w większości systemów Azurenie posiada mechanizmu, który umożliwiłby wysyłanie wiadomości e-mail bezpośrednio z chmury Możliwe rozwiązania Wykorzystanie firmowego serwera pocztowego Wykorzystanie publicznie dostępnych usług np. SendGrid lub AuthSMTP Wykorzystanie API (Web Services) serwera pocztowego Exchange Server Własna usługa przesyłająca wiadomości e-mail 15
Praktyka: Wysyłanie wiadomości e-mail 2/2 Usługa przesyłająca wiadomości e-mail Aplikacje działające w chmurze zapisują wiadomości do Azure Storage Dedykowana usługa (poza chmurą) odczytuje wiadomości i wysyła je korzystając z firmowego serwera pocztowego 16
Praktyka: Inne zagadnienia Tworzenie logów aplikacji Wersja językowa interfejsu użytkownika Uwaga na różnice czasowe Serwery rozproszone w data center na całym świecie Czas zgodny z UTC Problemy z obsługą niektórych plików Łatwe i szybkie przygotowanie stanowiska programisty Windows Azure Tools dla Visual Studio Windows AzurePlatform TrainingKit skarbnica wiedzy i gotowców Instalacja i zarządzanie oprogramowaniem w chmurze Portal Windows Azurei inne narzędzia do zarządzania chmurą Opublikowanie aplikacji trwa 20-30 minut 17
Dalszy rozwój Rozbudowa modułu Sekretariat Aplikacja współpracująca ze skanerem wraz z wymaganymi usługami WCF Definiowanie procesu obiegu dokumentów z wykorzystaniem Windows Workflow Foundation Nowe moduły systemu e-office Terminarz organizacja spotkań, rezerwacja sal konferencyjnych HelpDesk wsparcie dla użytkowników systemów firmowych Uwierzytelnianie za pomocą Windows Live ID (wykorzystanie AppFabric Access Control Service) 18
Zakończenie Dane kontaktowe e-office Strona produktu http://www.talex.pl/oferta/oprogramowanie/workflow/eoffice Informacja handlowa eoffice@talex.pl Wersja demonstracyjna http://eoffice.cloudapp.net Dziękuję za uwagę! Marcin Pytel marcin.pytel@talex.pl 19