Mga Nangungunang Mga Tool sa Pag-alaga ng Microsoft Dapat Mong Malaman Sa 2019



Ang artikulong ito ay isang komprehensibong gabay sa mga nangungunang tool ng microservices na dapat mong malaman upang pamahalaan at bumuo ng isang application gamit ang arkitektura ng microservice.

Ang mga microservice ay isang istilong arkitektura sa tulong ng kung saan, maaari kang bumuo ng maliit sa kumplikadong mga aplikasyon ng negosyo. Upang bumuo ng mga application sa istilong arkitektura na ito kailangan ng mga tool at teknolohiya upang mabuo at masubaybayan ang mga serbisyong ito. Kaya, sa artikulong ito sa Mga Tool ng mikroskopyo, tatalakayin ko ang iba't ibang mga tool na maaari mong gamitin upang mabuo ang mga autonomous na serbisyong ito.

Ang mga sumusunod na paksa ay saklaw sa artikulong ito:





  1. Ano ang mga microservice?
  2. Mga Tool para sa Mga Mikropono:

Bago, nagsisimula kaming talakayin ang mga tool at teknolohiya na ginamit upang bumuo ng isang application gamit ang microservices, hayaan mong sabihin ko sa iyo kung ano ang mga microservices.

Ano ang mga microservices?

Mga mikropono, aka arkitektura ng microservice , ay isang istilong arkitektura na bumubuo ng isang aplikasyon bilang isang koleksyon ng mga maliliit na serbisyo na nagsasarili, na na-modelo sa paligid ng a domain ng negosyo. Kaya, maaari mong maunawaan ang microservices bilang maliit na mga indibidwal na serbisyo na nakikipag-usap sa bawat isa sa paligid ng solong lohika sa negosyo. Kung nais mong malaman ang higit pa tungkol sa malalim na mga microservices, maaari mo ito



Ngayon, na mayroon kang isang ideya ng microservices, tingnan namin ang mga tool na ginamit sa microservices.

Mga Kagamitan sa Mikroservices

Ang mga tool ng microservices ay isang koleksyon ng iba't ibang mga tool at teknolohiya na mayroong iba't ibang mga pagpapaandar. Ang mga tool na ito ay ginagamit sa iba't ibang yugto ng pagbuo ng isang application at matulungan ang developer na gumana nang madali. Mayroong paunang natukoy na mga pag-andar, algorithm, at isang napaka-user-friendly na GUI. Gayundin, maraming mga start-up at tech na higante ang nagtatrabaho sa pagbuo ng mga kagamitang microservices na madaling gamitin ng gumagamit. Gayunpaman, dahil ang microservices ay isang istilo ng arkitektura, madalas na hindi ito sapat upang gumamit ng isang tool para sa buong daloy ng trabaho.

Samakatuwid, titingnan namin ang mga tool ng microservices na ginamit para sa iba, i.



Operating System

Logo ng Linux - Mga Tool para sa Mga Mikropono - EdurekaAng isa sa pinakamahalagang kadahilanan ng pagbuo ng isang application ay ang pagtatakda ng isang tamang pundasyon para sa iyong aplikasyon. Kaya, ginagawa ito ng operating system. ay isang tulad ng operating system, karaniwang ginagamit habang nagtatayo ng mga application. Sa tulong ng mga lalagyan ng Linux, nagbibigay ito ng isang pansariling kapaligiran sa pagpapatupad at hinahayaan kang mag-orchestrate ng maliit sa malalaking serbisyo tulad ng seguridad, networking, at imbakan. Kaya, kung hilingin mo sa akin para sa mas mahusay na mga pagpipilian mula sa pamilya, pagkatapos ay nararamdaman ko, ang Red Hat at Ubuntu ay buong nagtatampok ng mga operating system na may hindi kinakailangang pag-andar. Bukod sa mga ito, ang mga tagabigay ng Linux ay nakagawa ng mga tool tulad ng Atomic Red Hat at Ubuntu kasama ang LXD, na isang hypervisor na nakatuon sa container.

Mga Wika sa Programming

Ang pangunahing bentahe ng microservices ay ang different wika at teknolohiya ay maaaring magamit upang bumuo ng iba't ibang mga serbisyo ng parehong application. Kaya, binibigyan nito ang mga developer ng kalayaan na pumili ng kanilang stack ng teknolohiya at buuin ang application. Ngunit, ang pinakatanyag na mga wika sa pagprograma na ginagamit sa microservices ay atElixir.

Spring Boot

Pinapasimple ng Spring Boot ang paglikha ng sa tulong ng Spring Bootmga balangkas sa ilang mga linya lamang ng code. Narito ang ilang mga tampok ng Spring Boot:

  • Nagbibigay awtomatikong pagsasaayos upang mai-load ang isang hanay ng default na pagsasaayos para sa isang mabilis na pagsisimula ng application
  • Ito ay may naka-embed na tomcat, mga lalagyan ng lalagyan ng jetty upang maiwasan ang paggamit ng mga file ng WAR
  • Nagbibigay ang Spring Boot ng isang opinion na pagtingin upang mabawasan ang pagsisikap ng developer at gawing simple ang mga pagsasaayos ng maven
  • Binubuo ang isang malawak na hanay ng mga API para sa pagsubaybay at pamamahala ng mga application sa dev at prod.

Elixir

Ang Elixir ay isang wikang pangkalahatang layunin sa pagprograma na tumatakbo saErlang virtual machine. Nagbabahagi ang Elixir ng parehong mga abstraction para sa pagbuo ng kasalanan na mapagparaya at namamahagi ng mga application. Nasa ibaba ang ilang mga tampok ng Elixir:

  • Madaling maisulat ng mga developer ang code sa isang maikli, mabilis, at mapanatili na pamamaraan.
  • Ang Elixir code ay tumatakbo sa loob ng mga nakahiwalay na proseso ng magaan na maaaring mai-scale nang paisa-isa.
  • Tinitiyak ng Elixir na ang application ay hindi kailanman bumababa, sa pamamagitan ng pagbibigay ng mga superbisor. Inilalarawan ng mga superbisor na ito kung paano maaaring mai-restart ang iba't ibang bahagi ng system kung may mali.
  • Ang wikang ito sa pag-program ay may kasamang sariling mga tool sa paggawa upang lumikha ng mga proyekto, pamahalaan ang mga gawain at patakbuhin ang mga kinakailangang pagsusuri.

Mga tool para sa Pamamahala at Pagsubok ng API

Habang sinisimulan mo ang pagbuo ng mga application gamit ang microservices, kailangan mo ring tiyakin na ang lahat ng mga indibidwal na serbisyo ay nakikipag-usap sa bawat isa gamit ang mga API '. Ang bawat microservice ay maaaring magkaroon ng sarili nitong API upang makipag-usap sa ibang serbisyo. Dito makikita ang larawan sa pamamahala at pagsubok sa API, dahil lahat ng mga API na naroroon sa system, ay dapat na maayos na mapamahalaan at masubukan upang makuha ang nais na mga resulta.

Ang mga tool na ginamit para sa Pamamahala ng API at Pagsubok ay ang mga sumusunod:

Kartero

Ang Postman ay isang suite ng pag-unlad ng API na nagbibigay-daan sa iyo upang madaling patakbuhin ang mga pagsubok sa API na hinihimok ng UI. Sa tulong ng Postman, ang paggalugad ng nagiging napakadali. Gayundin, sa tulong ng Postman, maaari mong maipasa ang mga kahilingan sa HTTP upang subukan, paunlarin at makuha ang kinakailangang mga resulta.Narito ang ilan sa mga tampok nito:

  • Ang postman ay nagsasama sa iyong software development life-cycle nang madali.
  • Nagbibigay ito ng mga tampok upang magdisenyo ng mga API at mapanatili ang maraming bersyon ng API na may suporta.
  • Ang tool na ito ay maaaring gumana para sa isang maliit na application sa isang malaking application.
  • Sinusuportahan nito ang pakikipagtulungan ng trabaho sa pamamagitan ng pagpapahintulot sa iyo na i-save ang mga nauugnay na endpoint ng API sa isang koleksyon. Pagkatapos ay maaari kang magpatuloy at ibahagi ang buong koleksyon sa iba pang mga developer.

Kuta ng API

Ang API Fortress ay kapwa isang pagsubok sa API at mga tool sa kalusugan na awtomatiko ang proseso ng , pagsubaybay sa kalusugan, at . Ang tool na ito ay walang code at itinayo sa paligid ng mga modernong pattern at kasanayan sa arkitektura ng API. Nasa ibaba ang ilang mga tampok ng API Fortress:

  • Ang tool na ito ay lubos na magkakaugnay sa anumang platform na pinili mo sa iyong toolchain at napatunayan ang mga built-in na platform ng pamamahala ng API ng mga API

  • Pinapasimple nito ang paglikha ng API Test at pagpapatupad sa pamamagitan ng pagbibigay ng drag-drop GUI.

  • Pinapasimple din ng tool na ito ang end-to-end na pagsubok sa pamamagitan ng pagbibigay ng madaling pagbuo ng mga functional test.

  • Nilalayon din ng API Fortress na gawing simple ang pakikipagtulungan sa pamamagitan ng pag-iimbak ng mga pagsubok at ulat sa isang pakikipagtulungan na kapaligiran, upang matiyak na patunayan ng mga koponan ang kanilang mga API kung nasisiyahan nito ang kaso ng negosyo.

    patakbuhin ang hive query mula sa linya ng utos

Mga tool para sa Pagmemensahe

Ang mga microservice ay isang sistema, kung saan ang mga autonomous na serbisyo, ay nakikipag-usap sa bawat isa o sa loob ng kanilang sarili. Upang makipag-usap sa bawat isa, ginagamit ng mga microservices ang mga pila sa pagmemensahe. Kaya, ang mga tool na ginamit para sa pagmemensahe ay ang mga sumusunod:

Apache Kafka

Ang tool na ito ay isang ipinamahagi na publish-subscribe messaging system na orihinal na binuo sa LinkedIn at kalaunan ay naging bahagi ng proyekto ng Apache. Ang Kafka ay nasusukat, mabilis, at ipinamamahagi ng disenyo. Kaya, ang Apache Kafka ay isang ipinamamahagi na platform ng pagproseso ng stream na maaaring magamit para sa pagpoproseso ng data o mga tawag sa API. Narito ang ilang mga tampok ng Apache Kafka:

  • Ang Kafka ay may mataas na throughput para sa pag-publish at pag-subscribe ng mga mensahe, upang mapanatili ang matatag na pagganap.
  • Ginagarantiyahan din ng tool na ito ang zero downtime at zero pagkawala ng data.
  • Nagpapatuloy ang mga mensahe sa disk nang mas mabilis hangga't maaari
  • Maraming mga application ang maaaring mag-plugin at magamit ang Kafka dahil nag-aalok ito upang sumulat ng mga bagong konektor.

RabbitMQ

Ang tool na ito ay gumagamit ng mga pattern upang makipag-usap sa pagitan ng microservices at sukatin din ang mga application nang sabay-sabay. Sa tulong ng tool na ito, maaari mong ikonekta ang microservices sa bawat isa upang malutas ang mga problema ng mga ipinamamahaging system. Gayundin, yMaaari mong gamitin ang tool na ito upang makipagpalitan ng mga kaganapan sa pagitan ng mga indibidwal na serbisyo. Nasa ibaba ang ilang mga tampok ng RabbitMQ:

  • Nag-aalok ang tool na ito ng iba't ibang mga tampok tulad ng pagiging maaasahan, mga pagkilala sa paghahatid, kabilang ang pagtitiyaga, kinukumpirma ng publisher, at mataas na kakayahang magamit.
  • Sa pamamagitan ng paggamit ng tool na ito, ang mga mensahe ay inililipat sa pamamagitan ng mga palitan bago makarating sa mga pila.
  • Ang RabbitMQ ay may kasamang modelo ng pederasyon at pinapayagan ang mga server na kailangang maging mas maluwag at hindi maaasahan na konektado
  • Sinusuportahan ng tool na ito ang pagmemensahe sa maraming mga protokol ng pagmemensahe.

Mga toolkit

Ang mga toolkit sa mga karaniwang termino ay isang hanay ng mga tool na ginagamit para sa isang tukoy na layunin. Sa isang arkitektura ng microservice, maaari kang bumuo ng iba't ibang mga uri ng mga application. Kaya, maaari kang magkaroon ng iba't ibang mga toolkit na ginamit para sa ibang layunin. Ang iba't ibang mga tool na maaari mong isaalang-alang sa seksyong ito ay ang mga sumusunod:

tela8

Ang fabric8 ay isang tool na platform-as-a-service, kung saantumutulong sa mga developer na magbigay ng sistema ng pamamahala ng pagsasaayos sa pamamagitan ng Git. Ito ay isang tool na bukas na mapagkukunan na humahawak sa mga mapping ng port at mga kumplikadong IP address. Ang tool na ito ay nagtataglay din ng responsibilidad na mag-load ng mga serbisyo sa balanse na may mataas na kakayahang magamit at kakayahang sumukat.

Narito ang ilang mga tampok ng tool na ito:

  • Nagbibigay ng isang hanay ng mga wizards upang lumikha ng mga application nang mas mabilis at mag-setup ng tuluy-tuloy na mga pipeline ng paghahatid.
  • Ang telang8 ay may kasamang nasa nasasakupang lugarPag-host ng repository ng Git
  • Nagbibigay ang tool na ito ng manager ng maven repository para sa na-promote na paglabas kasama ang isang salamin ng mga gitnang repository ng maven.
  • Nagbibigay ito ng developer console upang lumikha, bumuo, mamahala ng mga microservices na may malalim na visualization sa mga proyekto, app, at kapaligiran

Seneca

Ginagamit ang Seneca para sa pagbuo ng microservices batay sa mensahe, mga proseso at ang toolkit para sa Node.js. Tinutulungan ka ng toolkit na ito na magsulat ng malinis at organisadong code gamit ang sistematikong lohika ng negosyo ng application. Ang mga tampok ng Seneca ay nasa ibaba:

  • Nagbibigay ang Seneca ng mga plugin na alagaan ang mga pundasyon ng application.
  • Hindi mo kailangang mag-alala tungkol sa kung aling database ang dapat gamitin at kung paano istraktura ang iyong mga bahagi
  • Sa Seneca, ang lahat ay nakasulat bilang isang utos. Tatawagan ang mga utos na ito tuwing tumutugma sila sa isang hanay ng mga pag-aari.
  • Ang code na iyong tinawagan, ay hindi alam kung aling utos ang makakagawa sa trabaho.

Mga Framework ng Arkitektura

Dahil ang microservices mismo ay isang istilo ng arkitektura, ang balangkas ng arkitektura ay isang mahalagang kadahilanan. Ang mga balangkas na ito ay ginagamit sa iba't ibang mga teknolohiya upang makabuo ng mga application.
Ang dalawang tanyag na balangkas ng arkitektura ay ang mga sumusunod:

goa

Ang balangkas ng arkitektura na ito ay nagbibigay ng isang paraan upang mabuo ang paggamit ng mga REST API 'at microservices . Sa tulong ng balangkas ng arkitektura na ito, maaari kang magdisenyo ng mga API 'kasama ang mga kinakailangang pagpapakandili. Ang balangkas na ito ay tumatakbo sa tuktok ng Google Cloud Platform. Ilang mga tampok ay ang mga sumusunod:

  • Hinahayaan ka ng tool na ito na ilarawan ang mga endpoint, pandaigdigang puntos upang makagawa ng isang serbisyo API.
  • Hinahayaan ka ng Goa na bumuo ng mga istraktura ng data, pagpapatunay code at mga handler sa sandaling maitakda ang disenyo ng API.
  • May decoupled engine.
  • Nagbibigay ng mga plugin na maaaring magpatupad ng mga pasadyang DSL at makabuo din ng di-makatwirang mga output.

Kong

Ginagamit ang Kong para handa nang mag-deploy ng mga plugin para sa pagpapahusay ng pag-unlad at pag-deploy ng mga microservices, Gamit ang tool na ito, maaari mong magamit ang mga pattern ng disenyo ng lalagyan at microservices upang mabilis na makabuo ng mga application na naka-sentrik sa API.Nasa ibaba ang ilang mga tampok ng Kong:

  • Nagbibigay ng mga plugin upang mapalawak at ikonekta ang mga serbisyo sa mga hybrid at multi-cloud na kapaligiran.
  • Sinusuri ang real-time na data at pinagsasagawa ang mga ecosystem upang maipadala ang Kong sa Kubernetes
  • Nakakonekta si Kong sa mga tool sa pag-aautomat upang mapabuti ang kahusayan at mabawasan ang mga error.
  • Nagbibigay ng kontrol sa pag-access na batay sa papel at naka-encrypt ng end-to-end upang sumunod sa mga regulasyon ng industriya.

Mga tool para sa Orkestra

Habang ang mga microservices ay gumagana patungkol sa mga lalagyan, ang container orchestration ay isang mahalagang aspeto na kailangang isaalang-alang. Sa merkado ngayon, maraming iba't ibang mga tool tungkol sa orkestra ng lalagyan para sa microservices, ngunit ang mga nangungunang tool ay ang mga sumusunod:

Mga Gobernador

Mga Gobernador ay isang tool na pamamahala ng open-source container (orchestration) na tool. Kasama sa mga responsibilidad sa pamamahala ng lalagyan ang paglalagay ng container, pag-scale at pag-alis ng mga lalagyan at pagbabalanse ng pag-load ng container. Pagpunta sa kahulugan, maaari mong maramdaman ang Kubernetes ay napaka-ordinaryo at hindi mahalaga. Ngunit tiwala ka sa akin, ang mundong ito ay nangangailangan ng mga Kubernetes para sa pamamahala ng mga lalagyan, hangga't kinakailangan nito Pantalan para sa paglikha sa kanila. Narito ang ilang mga tampok ng Kubernetes:

  • Matutulungan ka ng mga Kubernetes na ma-deploy at mai-update ang mga lihim at pagsasaayos ng application nang hindi itinatayo ang iyong imahe at hindi inilalantad ang mga lihim sa iyong pagsasaayos ng stack.
  • Bilang karagdagan sa pamamahala ng mga serbisyo, maaari ding pamahalaan ng Kubernetes ang iyong mga workload ng batch at CI, kaya pinapalitan ang mga lalagyan na nabigo, kung ninanais.
  • Ang Kubernetes ay nangangailangan lamang ng 1 utos upang itaas ang mga lalagyan o i-scale ang mga ito pababa kapag ginagamit ang CLI. Iba pa, ang pag-scale ay maaari ding gawin sa pamamagitan ng Dashboard (Kubernetes UI).
  • Sa Kubernetes, maaari mong mai-mount ang storage system na iyong pinili. Maaari kang mag-opt para sa lokal na imbakan, o pumili ng isang pampublikong cloud provider tulad ng Ang GCP o , o marahil ay gumamit ng isang nakabahaging network storage system tulad ng NFS, iSCSI, atbp.

Parehas

Sinusuportahan ng tool na ito ang pag-deploy ng serbisyo sa Kubernetes. Nagbibigay din ito ng mga tampok para sa kakayahang pamahalaan, seguridad, at pagiging maaasahan sa mga komunikasyon sa microservices. Sa gayon, ginagawa ito ng teknolohiya ng service mesh na nagbibigay-daan sa iyo upang mapagbuti ang mga ugnayan at pakikipag-ugnayan sa pagitan ng application at microservices. Ilang mga tampok ay ang mga sumusunod:

  • Nagsasagawa ng awtomatikong pagsubaybay, pagsubaybay, at pag-log ng mga serbisyo.
  • Ang tool na ito ay awtomatikong sinisiguro ang mga serbisyo, sa pamamagitan ng pinamamahalaang pahintulot, pagpapatotoo, at pag-encrypt ng komunikasyon sa pagitan ng mga serbisyo.
  • Kinokontrol ni Istio ang daloy ng trapiko at mga tawag sa API sa pagitan ng mga serbisyo, nagsasagawa ng isang hanay ng mga pagsubok at pag-upgrade na may pula o itim na pag-deploy
  • Nalalapat din ito ng mga patakaran at tinitiyak na ipinatutupad ang mga ito, at ang mga mapagkukunan ay medyo namamahagi sa mga mamimili.

Mga tool para sa Pagsubaybay

Kapag ang application, naitayo na, napakahalaga, upang subaybayan ang pagtatrabaho ng mga application. Kaya, upang subaybayan ang mga application, maaari mong gamitin ang mga sumusunod na tool:

Prometheus

Pinapayagan ng Prometheus na mailarawan ang impormasyon sa pagsubaybay gamit ang at sinusuportahan ang pagsubaybay batay sa oras para sa mga maanomalyang pattern na nakita. Ito ay isang tool na bukas na mapagkukunan na, nangangalap ng impormasyon sa pagsubaybay.Nasa ibaba ang ilang mga tampok ng Prometheus:

  • Nagbibigay ng isang nababaluktot na wika ng query.
  • Ay may ipinamamahagi imbakan at solong mga node ng server na nagsasarili
  • Discovers ang mga target sa pamamagitan ng pagtuklas ng serbisyo o static na pagsasaayos
  • Nagbibigay ng suporta sa dashboarding at graphing.

Mag-log stash

Ang Logstash ay isang tool na bukas na mapagkukunan kung saan maaari mong suriin ang mga tala. Hinahayaan ka ng tool na ito na itago, sentralisahin at ibahin ang data. Ang mga tampok ng tool na ito ay ang mga sumusunod:

  • Sinusuportahan ng Logstashiba't ibang mga inputna kumukuha ng mga kaganapan mula sa maraming mga karaniwang mapagkukunan, lahat nang sabay-sabay.
  • Nilalayon ng tool na ito na baguhin at maghanda ng data anuman ang pagiging kumplikado nito
  • Pinapayagan ka ng log stash na pumili ng iyong sariling itago at data ng transportasyon
  • Ito ay isang naka-plug na balangkas na binubuo ng higit sa 200 mga plugin upang lumikha at mai-configure ang pipeline na nais mo.

Mga Tool na walang server

Ang mga tool na ito ay bahagi ng microservices, na na-optimize ang pamamaraan ng pagsira ng mga bagay-bagay sa maliliit na pag-andar. Ilan sa mga tool na walang server ay ang mga sumusunod:

Claudia

Ang Claudia ay isang tool na walang server na ginagamit para sa pag-deploy para sa AWS Lambda at API Gateway. Ang tool na ito ay nag-o-automate ng mga pag-deploy na madaling kapitan ng error at mga gawain sa pagsasaayos. Naglalaman din ito ng mga tool tulad ng Claudia Bot Builder at Claudia API Builder.

Ang mga tampok ng tool na ito ay ang mga sumusunod:

  • Hinahayaan ka ni Claudia na mag-deploy at mag-update gamit ang isang solong utos
  • Binabawasan nito ang boilerplate code
  • Sa tulong ng tool na ito, magagawa mopamahalaan ang maraming bersyon
  • Maaari kang gumamit ng karaniwang mga pakete ng NPM at hindi mo matutunan ang Swagger

AWS Lambda

Nagbibigay ang tool na ito ng mga server na walang imprastraktura para sa mga pagbuo ng iyong microservices at ang mga gumagamit ay sisingilin sa isang rate ng pay-per-use. Ang tool na ito ay maaaring magamit kasama ng AWS API Gateway upang mag-host ng serbisyo sa REST o API. Pinapayagan ng serbisyong web ng amazon na ito ang iyong API na maghatid ng anumang mga kahilingan na ginawa ng mga gumagamit. Nasa ibaba ang ilang mga tampok ng AWS Lambda :

  • Pinapayagan ka ng tool na ito na patakbuhin ang iyong code bilang tugon sa mga kaganapan at awtomatikong namamahala sa mga mapagkukunang umaasa sa compute.
  • Hinahayaan ka ng AWS na patakbuhin ang code nang hindi pinamamahalaan ang mga server. Bayad ito tulad ng ginagamit mo sa serbisyo at magbabayad ka lamang para sa pagkonsumo ng oras sa pag-compute.
  • Ang tool na ito ay sumusukat sa isang application nang awtomatiko sa pamamagitan ng pagpapatakbo ng isang code para sa bawat gatilyo.
  • Maaari ring magamit ang AWS Lambda upang bumuo ng isang server na backend para sa pagproseso ng mga mobile, API at web request.

Kung nais mong malaman ang mga MicrosoftServices at bumuo ng iyong sariling mga application, pagkatapos ay tingnan ang aming na kasama ng live na pagsasanay na pinamunuan ng magtuturo at karanasan sa proyekto sa totoong buhay. Tutulungan ka ng pagsasanay na ito na maunawaan ang malalim na mga Serbisyo at makakatulong sa iyo na makamit ang pagkontrol sa paksa.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng ” Mga Kagamitan sa Paglilingkod sa Mikroso ”At babalikan kita.