Wpis z mikrobloga

Bicep vs Terraform w Azure + Azure Devops? Jakie sa wasze opinie? Umiem TFa na zadowalajacym poziomie i szukam opinii osob ktore sprobowaly obydwu. Druga opcja wydaje mi sie bardziej seksowna bo jest multiplatformowa i szeroko wspierana przez community ale moja opinia moze byc zbaiasowana przez to, ze nie korzystalem z Bicepa

#programista15k #devops #programowanie

IaC do Azura

  • Terrafor 69.0% (20)
  • Bicep 31.0% (9)

Oddanych głosów: 29

  • 25
@villager: no szympansy u mnie w firmie chca w to isc bo to IaC od Azure i w sumie na tym sie koncza ich argumenty xD poczytalem troche przed tym postem i w sumie niczym te dwa sie nie roznia ale osobiscie w zyciu nie widzialem oferty na devopsa/deva z Bicepem bo meta to TF ale pomijajac rozklad na rynku, wydaje mi sie ze state w postaci pliku to dobra opcja.
@szmichal to przecież dwa różne narzędzia. Bicep jest spoko dla projektów Azure native gdzie chcesz łatwo zbudować szablon mając dostęp do bieżącej definicji zasobu, tf jest spoko do kontroli stanu. Ja właściwie nie jestem wielkim fanem trzymania stanu w IaC bo mocno ogranicza elastyczność, ale rozumiem zalety w konkretnych scenariuszach.
@Caishen a spróbuj dodać w modułach ciekawsze rzeczy z nowego api jak np public access dla private endpointow w webappach ( ͡º ͜ʖ͡º) sprowadzi się do rzeźbienia szablonu armowego od zera, rezygnacji z wygody modułów i innych niuansów. Niestety tf nie jest często up to date a nawet ma opóźnienia sięgające ponad roku względem tego co jest dostępne w API i to mnie głównie zniecheca i preferuje
@Koliat: trochę nie chce mi się uczyć się technologii "po nic" bo nie widziałem jeszcze oferty z Bicepem. A co do utrzymywania TFowych modułów up to date mogę dorzucić autentykacje po AAD w app servicach ( ͡° ͜ʖ ͡°) to są te zmiany requestowane bodaj od roku
sprowadzi się do rzeźbienia szablonu armowego od zera, rezygnacji z wygody modułów i innych niuansów.


@Koliat: Czemu od razu rezygnacji z modułów? Jakie inne niuanse masz na myśli?
To, że TF jest do tyłu względem ARM to niestety według mnie największa jego wada. Jeszcze pół biedy gdyby to było opóźnienie typu miesiąc względem releasów w ARM to można byłoby przeboleć, no ale jak niektóre zasoby mają opóźnienie 6 miesięcy+ to niestety
wydaje mi sie ze state w postaci pliku to dobra opcja. wymusza pewne standardy na calej infrze i trzyma ja za morde bo wyobrazam sobie, ze w Bicepie moze po jakims czasie robic #!$%@? i kazdy bedzie robil co bedzie chcial, np edytowal to co mu sie "nie podoba" z palca ( ͡° ͜ʖ ͡°)


@szmichal: A w jaki sposób to trzymanie stanu chroni cię przed edytowaniem
@Koliat: to jest istotna cecha. Nie zdawałem sobie sprawy, że terraform jest tak do tylu.
Po całej liście tematów, które chce ogarnąć może spróbuję Bicepsa.

A z innej beczki. W jaki sposób jesteś na bieżąco ze zmianami? Jakiś blog technologiczny? Czy może jest jakiś newseller z microsoftu godny polecenia?
@szmichal ja się uczę tej technologii z której mi się wygodnie korzysta, nie szukam pod ilość ofert bo to wtórne ( ͡º ͜ʖ͡º)

@some_ONE no jak muszę miec w tf Appservice z public network access to nie mogę tego zrobić w module azurerm wijndows app service tylko muszę klepać jsona całego w natywnym ARM providerze. To ja już wolę bicepa do tego jak mam pisać jsona bo
no jak muszę miec w tf Appservice z public network access to nie mogę tego zrobić w module azurerm wijndows app service


@Koliat: No dobra, myślałem że tam rzeczywiście jest jakiś problem z modułami, ale z tego co piszesz to rozumiem jednak że nie chodzi o moduł tylko o definicje zasobu appservice z providera azurerm.

tylko muszę klepać jsona całego w natywnym ARM providerze. To ja już wolę bicepa do tego
@some_ONE startowaliśmy z użyciem tf, moje środowisko ma jakieś 40 różnych Appservice ów na environment. Jak się okazało że nie da się czegoś zrobić w ten sposób to przepisywanie tych zasobów na armowe to pita zbyt duże i stwierdziliśmy że każdorazowo będziemy odpalać skrypt az cli który ustawia to czego terraform nie potrafi, no ale niesmak pozostał XD

Gdybyśmy zdecydowali się na używanie bicepa od początku nic z tych rzeczy nie byłoby
@geringxes @geringxes wszystko jest ( ͡º ͜ʖ͡º)

App access
App access allows you to configure if access is available through the default (public) endpoint. If the setting has never been configured, the default behavior is to enable access unless a private endpoint exists after which it will be implicitly disabled. You have the ability to explicitly configure this behavior to either enabled or disabled even if private
Pobierz Koliat - @geringxes @geringxes wszystko jest ( ͡º ͜ʖ͡º)

 App access
App access allow...
źródło: comment_1673801146D56d37m43hCJjZnzomOvFc.jpg
@Koliat: przeczytaj co sam napisałeś. Z początku myślałem że przegapiłem jakiś nowy feature ( ͡° ͜ʖ ͡°) Po prostu nie ma czegoś takiego jak ten twój "public access dla private endpointów". EOT pozdrawiam
@geringxes jak masz webapp z private Endpoint to kiedyś nie można było udostepnic jej na świat - odpowiadała tylko z prywatnej sieci tam gdzie Endpoint. Z pomocą tych ustawień można to już zmienić i umożliwić public access dla web appow z private endpointem. A w tf tego nie ustawisz we wbudowanych providerach, tylko armem ( ͡º ͜ʖ͡º)