Vraag Wat is het verschil tussen Juju en Puppet / Chef?


Heb geprobeerd de derde partij te vragen naar de belangrijkste verschillen tussen Juju en Puppet / Chef. 3e partijen zijn niet zo bekend met Juju en konden het niet zeggen. Ze zeiden simpelweg dat de anderen veel momentum hebben, en het zou moeilijk zijn om hun voorsprong te overwinnen.

Zouden degenen die het dichtst bij Juju staan ​​bereid zijn om de voordelen van deze software te benadrukken, en waarom het Puppet / Chef inhaalt in de configuratiebeheersarena?


78
2017-07-12 20:27


oorsprong




antwoorden:


Mark, dit is een geweldige vraag, en was de eerste die ik vroeg toen iemand me over Juju vertelde. Hier zijn enkele van de grote verschillen.

  • Juju kapselt services in - een charm definieert alle manieren waarop de service configuratie-gegevens aan andere services moet ontmaskeren of gebruiken. Wat een charme doet dat is de zaak van de charm. Het kan elk hulpmiddel van shell-scripts gebruiken om Chef in solomodus te gebruiken.

  • Juju orkestreert voorzieningen - juju houdt bij welke bronnen het beschikbaar heeft en kan deze toevoegen of verwijderen als dat nodig is. Momenteel zijn deze bronnen AWS EC2-machines, OpenStack clouds (zoals HP Cloud), Microsoft Azure, Joyent, bare metal-machines via MAAS en een lokale LXC / KVM-provider.

  • Juju maakt delen eenvoudig - iedereen kan een charme bijdragen aan de Juju Charm Store; deze charms worden doorgelicht en door de Juju-gemeenschap beoordeeld.

Hier zijn enkele andere vergelijkingen die mensen op internet hebben gemaakt:


45
2017-07-12 23:15



Puppet gaat over het beschrijven van bronnen, provisioning van VM's, en modules delen te. Kun je uitleggen hoe Juju het anders of beter doet, of een ander probleem oplost? - poolie
Was niet op de hoogte van marionettenwolk-provisioner ten tijde van dat antwoord. Puppet-modules hadden niet de naam van de vorige keer dat ik het selecteerde, en bieden dus problemen bij het delen van bestanden waarvoor een gebruiker de code van een pop-module moet wijzigen om er gebruik van te maken. - SpamapS
Er zijn naamruimten in de pop. Ik heb Puppet niet veel gebruikt, maar ik heb begrepen dat problemen meestal voorkomen wanneer twee modules hetzelfde logisch ding proberen te beheren. Heeft Juju een systematische manier om dat te voorkomen? - poolie
De naamruimten in Puppet hebben recente wijzigingen ondergaan om het gemakkelijker te maken om een ​​werkende stand-alone puppet-module te delen. In het verleden had men het equivalent van globale variabelen nodig om te communiceren tussen twee modules. Juju behandelt op geen enkele manier vorm of vorm met de configuratie van de instantie, het is slechts een facilitator voor orkestratie, dus nee, het zal niet voorkomen dat twee charmes vechten om een ​​enkel bestand. - SpamapS
Hallo @SpamapS, dit gaat over je tweede punt (aka Juju orkestreert provisioning). In Puppet kunnen we relaties definiëren met behulp van "require", "notify" enz. Kunnen we deze constructies niet gewoon gebruiken voor orkestratie-provisioning? Of Juju biedt een ander niveau van orkestratiesemantiek? - Denis Weerasiri


(Disclaimer - Ik ben de oprichter van Puppet en CEO van Puppet Labs)

Ik weet het niet juju verschrikkelijk goed, maar van wat ik kan vertellen, zitten ze enigszins op verschillende niveaus. Puppet is geweldig in het beheren van het gedrag en de mogelijkheden van machines zelf, terwijl juju vooral lijkt te gaan over het praten over sets van machines en grotendeels punteren hoe de machines zich op een specifieke manier kunnen gedragen aan externe tools zoals Puppet of shellscripts.

Onze strategie met Puppet is om vanaf de grond de beste stapel te bouwen, terwijl juju een specifieke laag van de stapel lijkt te zijn en andere lagen naar andere gereedschappen laat. Dus, terwijl je het hele probleem met Puppet kunt oplossen (hoewel soms met een beetje meer werk dan je misschien leuk vindt), moet je juju met andere tools integreren om veel gedaan te krijgen.

Echt, juju lijkt een on-premise-versie van CloudFormation van Amazon, zij het zonder de grafiek en dergelijke. Dus, bruikbaar met Puppet enz., Maar geen vervanging daarvoor.


31
2017-10-14 17:00



Niet zeker of punteren hier het juiste woord is .. dat is zoals zeggen dat pakketten de software moeten converteren naar autotools / scons / setup.py. Als pakketten elke stap van elke build proberen te doen, zouden we geen pakketten hebben! - SpamapS


Hier is een andere kijk op hoe Juju in andere automatiseringstools past:

Ik ben verantwoordelijk voor Cloud Strategie bij Canonical, het bedrijf achter Ubuntu en Juju. Juju is geen concurrent van Puppet of Chef. Juju kan Puppet of Chef installeren en vanuit een Charm, Juju's inkapseling van een dienst, kun je je bestaande Puppet-modules of Chef-bonnetjes callen.

Dus wat is Juju? Met Juju kunt u uw IT-stack / services / applicaties direct implementeren, integreren en schalen. Instant IT wint zonder de moeite. Ofwel via de opdrachtregel of de GUI.

Dus Juju is dichter bij PaaS dan bij Devops-tool, omdat je je cloud kunt bouwen (Juju is het standaard OpenStack-installatieprogramma van Canonical), de infrastructuur die er bovenop gaat (web / app / db-servers, Hadoop, MongoDB, etc.) maar de meeste Juju maakt het opmerkelijk dat applicaties worden geïmplementeerd en onmiddellijk worden geïntegreerd (add-relatie tussen Wordpress en MySQL zal automatisch Wordpress-tabellen en -gegevens in MySQL instellen).

Ook app-servers (java, php, node.js, scala, enz.) Kunnen samenwerken met versiebeheer, waardoor automatische implementatie en schaalbaarheid van uw apps mogelijk is. Dus in tegenstelling tot PaaS, bent u niet beperkt tot een specifieke softwarestack, maar krijgt u nog steeds de voordelen van onmiddellijke implementatie, integratie en schaalbaarheid. Zie het als een flexibele PaaS of FlexiPaaS die onmiddellijk uw softwareservices implementeert, integreert en schaalt zonder te worden beperkt of te worden ingesloten.

Bron - Waarschuwing: login vereist.


7
2017-09-24 12:42





In de eenvoudigste bewoordingen bevat juju de detectie van services, een belangrijke value store en configuratiebeheer. Puppet / chef etc zijn puur config management.

Juju is op gebeurtenissen gebaseerd en gebruikt een centraal "bootstrap-knooppunt" om gebeurtenissen bij te houden en te orkestreren. Puppet en chef kunnen gemaakt worden om gebeurtenisgebeurtenis te tonen, maar het is meestal gewoon dat de betreffende taak volgens een schema wordt uitgevoerd.

Afaik, je kunt juju niet in een gedistribueerde of agentloze staat uitvoeren en dit is mogelijk met de meeste configuratiebeheersystemen.

Meestal zijn marionet enz. Domeinspecifieke talen, terwijl juju een systeem is, geen taal.


2