Implementacja chatbota w Bot Framework

Jak skonfigurować chatbota? Bot framework + CircleCI + Heroku + Docker

Dzisiaj zdecydowanie bardziej techniczny wpis niż zwykle. Chciałem Wam przedstawić w jaki sposób skonfigurować i zautomatyzować wdrażanie chatbot’a. Dlaczego to jest istotne? Główna zaleta takiego rozwiązania to możliwość skupienia się na implementacji i rozwoju chatbota, a nie marnowanie czasu przy procesie wdrażania go.

CI/CD

CI/CD (ang. Continuous Integration/Continuous  Deployment ) to bardzo popularne ostatnio określenia w IT, które opisują proces tworzenia i rozwoju oprogramowania. W skrócie proces ten oznacza:

  • automatyczne budowanie aplikacji
  • automatyczne przetestowanie aplikacji
  • automatyczne wdrożenie aplikacji

Proces ten znacząco usprawnia implementację rozwiązania znacząco je przyspieszając i na bieżąco testując. W wyniku tego twórcy są w stanie szybciej wprowadzać zmiany, eliminować błędy czy częściej aktualizować produkt.

W tym i w kolejnych wpisach pokaże Wam jak może wyglądać taki przykładowy ‚pipeline’. Pominę tu jednak etap testowania, bo to jest temat na inny wpis, szerzej poświecony testowaniu chatbotów.

Jak skonfigurować chatbota

 

Komponenty

 

Jak skonfigurować chatbota?Bot framework – Jest ono stworzone przez Microsoft i, jak można się łatwo domyślić, wdrożenie jest silnie powiązane z chmurą Microsoft Azure. Jest ono przeznaczone do implementacji zaawansowanych chatbotów w jednej z dwóch technologii – .NET lub Node.js. Ja w tej serii wpisów zaimplementuje chatbota w Node.js.

 

Jak skonfigurować chatbota?BitBucket– jest to jeden z dostępnych na rynku hostingów zdalnych repozytoriów w Git’cie. Dlaczego akurat BitBucket? Z prozaicznych powodów – UI bardziej mi odpowiada, niż w przypadku GitHuba, a z powodów ekonomicznych – mamy nieograniczoną liczbę prywatnych repozytoriów w wersji darmowej.

 

Jak skonfigurować chatbota?CircleCI – żaden pipeline wdrożeniowy nie może istnieć bez Build Servera, czyli usługi, która potrafi zbudować i przetestować naszą aplikację pobierając aktualny kod źródłowy. Ja zdecydowałem się na CircleCI z kilku powodów, m.in. posiada integrację z BitBucketem, dla prostego projektu mamy darmowe 1500 minut budowania miesięcznie oraz posiada integrację z Docker’em.

 

Jak skonfigurować chatbota?Heroku – to platforma do hostowania aplikacji w chmurze. Umożliwia łatwy deployment oraz skalowanie produktu, a zwalnia twórce z konieczności dbania o serwery i infrastrukturę. Wybrałem Heroku, ponieważ CircleCI posiada wbudowaną integrację z tą platformą, a ponadto hosting jest darmowy dla jednego projektu.

 

Jak skonfigurować chatbota?

 

Docker – to coraz bardziej popularne w ostatnim czasie narzędzie do wirtualizacji aplikacji. Dzięki niemu jesteśmy w stanie uruchomić aplikację w tzw. kontenerze – warstwie odizolowanej od innych procesów i stanowiącej odrębne środowisko uruchomieniowe. Zaletą konteneryzacji nad wirtualizacją jest brak konieczności emulowania warstwy sprzętowej i systemu operacyjnego. Ja wykorzystam Docker’a do budowania oraz uruchomienia chatbot’a.

Jak to działa?

Jak skonfigurować chatbota?

Przykładowy ‚pipeline’ wdrożeniowy, który Wam przedstawię w skrócie wygląda następująco:

  • Bot stworzony zostanie za pomocą framework’a Bot Framework
  • Po implementacji kod jest commitowany do repozytorium
  • CircleCI zostaje poinformowany o nowej wersji kodu i rozpoczyna budowanie aplikacji
  • Aplikacja budowana jest z wykorzystaniem Docker’a
  • Kontener Docker’owy wdrażany jest na Heroku

PS. Aby bot był w stanie odpowiadać należy go zarejestrować, a zrobić to można uruchamiając serwis na Azurze (o tym też napiszę kilka słów).

Co dalej?

W kolejnym wpisie opiszę jak stworzyć prostego chatbota z wykorzystaniem framework’a Microsoftu w technologii Node.js. Stworzymy wspólnie prostego chatbota i przetestujemy go wykorzystując Bot Framework Emulator, a przy okazji wrzucimy nasz kod do publicznego repozytorium na BitBuckecie.

Do zobaczenia!

Następny wpis znajdziecie TUTAJ.



Udostępnij: