Containerization: Inilabas ng Apple ang sarili nitong "Distrobox" o "WSL" para sa pagpapatakbo ng mga Linux distro sa mga container

  • Ang balangkas ng Apple ay nagpapatakbo ng bawat lalagyan sa isang napakagaan na virtual machine, na nag-aalok ng kumpletong paghihiwalay at mas mataas na seguridad.
  • Ang solusyon ay gumagamit ng Apple Silicon upang maglunsad ng mga container sa mga millisecond at dynamic na pamahalaan ang mga mapagkukunan.
  • Ang suporta para sa mga karaniwang OCI na larawan at mga daloy ng trabaho ay pinananatili, na nagpapadali sa paglipat mula sa Docker at iba pang mga system.
  • Pinaliit ng diskarte ang ibabaw ng pag-atake at pinapabuti ang kahusayan kumpara sa iba pang mga kapaligiran ng virtualization at containerization.

lalagyan

Ilang oras na ang nakalipas nagsimula ang WWDC25, isang kaganapan kung saan ipinakita ng Apple ang mga bagong bersyon ng mga operating system nito. Sa gayon pangunahing tono Ang iOS, iPadOS, tvOS, macOS, watchOS, at visionOS ay panandaliang tinalakay, at ngayon ay pinag-isa na nila ang kanilang mga numero at lahat ay may numerong 26. Ang haba ng mga kumperensyang ito ay hindi nagpapahintulot sa kanila na pag-usapan ang marami sa mga feature ng kanilang mga system, at may iba pang mga bagay na matutuklasan lamang sa ibang mga paraan. Sa kanila, containerization, na hindi a distro box o isang Apple WSL, ngunit medyo malapit ito sa parehong mga konsepto.

Binago ng virtualization at containerization ang pagbuo ng application, na nagpapahintulot sa mga team na lumikha ganap na nakahiwalay at natutulad na mga kapaligiran upang mag-deploy ng software at pamahalaan ang mga mapagkukunan nang mahusay. Ang Apple, na alam ang kahalagahan ng mga teknolohiyang ito sa parehong pag-unlad at produksyon, ay gumawa ng isang hakbang pasulong sa pamamagitan ng paglulunsad ng sarili nitong containerization framework na na-optimize para sa mga Apple Silicon device at processor nito.

Ano ang Containerization ayon sa Apple?

El Balangkas ng containerization Ang Apple ay isang open source software package na binuo sa Swift, na nagbibigay-daan sa mga application na pamahalaan ang mga lalagyan ng Linux nang direkta sa macOS sa mga Apple Silicon device (ang kilalang ARM chips ng brand). Hindi tulad ng mga tradisyunal na system kung saan maraming container ang nagbabahagi ng isang host operating system kernel o isang malaking virtual machine, Pinipili ng Apple na patakbuhin ang bawat lalagyan sa sarili nitong magaan na virtual machine.

Nakakamit ng diskarteng ito ang isang natatanging balanse: Pinapanatili nito ang kahusayan at kakayahang dalhin ng mga lalagyan, ngunit idinaragdag ang tibay at paghihiwalay ng mga virtual machine. Ang bawat container ay tumatakbo sa sarili nitong virtual na kapaligiran, nang hindi ibinabahagi ang kernel sa iba o sa host system, na ginagawang lubhang mahirap ang potensyal na pag-atake ng container o pagtagas sa pagitan ng mga container.

Pagganyak at Background: Mga container sa macOS

Hanggang sa lumitaw ang solusyon ng Apple, ang mga developer na gumamit ng mga Mac at nangangailangan ng mga kapaligiran sa Linux ay gumamit ng mga alternatibo tulad ng Docker, Podman, Orbstack o LimaGayunpaman, ang mga tool na ito ay nagdusa mula sa mga makabuluhang limitasyon sa pagganap, pagkonsumo ng mapagkukunan, at, lalo na, seguridad dahil sa kanilang paggamit ng mga monolitikong VM na nagho-host ng maraming container at masinsinang pagbabahagi ng kernel.

Sa mga sensitibong kapaligiran, Mga problema sa paghihiwalay at posibleng pagtagas ng proseso sanhi ng maraming kumpanya at organisasyon na itapon ang mga sistemang ito para sa produksyon. Sa pamamagitan ng paglulunsad ng sarili nitong balangkas, pinupunan ng Apple ang mga puwang na ito at naghahangad na iposisyon ang sarili bilang isang benchmark sa secure at mahusay na pagpapatupad ng mga lalagyan ng Linux sa Mac.

Mga teknikal na katangian ng balangkas ng Containerization

  • Kabuuang pagkakabukod bawat lalagyan: Ang bawat lalagyan ay tumatakbo sa loob ng isang independiyente, napakagaan na virtual machine, tinitiyak ang pagkakabukod sa antas ng kernel at hinahadlangan ang mga pagtakas o panghihimasok na maaaring makaapekto sa iba pang mga kapaligiran o sa host system.
  • Pag-optimize para sa Apple Silicon: Ang framework ay nakasulat sa Swift at umaasa sa Virtualization.framework, sinasamantala ang hardware acceleration ng mga ARM CPU ng Apple, na nagreresulta sa mga container startup sa mga fraction ng isang segundo at napakababang paggamit ng mapagkukunan.
  • Advanced na pamamahala ng imahe at network: Ang system ay nagbibigay-daan sa pamamahala ng imahe sa ilalim ng pamantayan ng OCI, pakikipag-ugnayan sa mga malalayong rehistro, at pagtatalaga ng mga nakalaang IP address sa bawat lalagyan, na inaalis ang pagiging kumplikado ng port mapping at pinapadali ang pagtuklas at pagbabalanse ng serbisyo.
  • Custom na configuration ng kernel: Maaaring pumili ang mga developer ng mga partikular na configuration ng kernel bawat container, na iangkop ang bawat environment sa eksaktong mga kinakailangan ng kanilang mga application at pinapatunayan ang compatibility sa pagitan ng mga bersyon.
  • Pag-minimize ng base system: Ang bawat VM ay nagpapatakbo ng isang minimal na base system na naglalaman lamang ng vminitd, isang statically compiled init system na walang anumang mga dynamic na library o karaniwang mga utility, na binabawasan ang attack surface.
  • Suporta sa Rosetta 2: Nagbibigay-daan ito sa pagpapatakbo ng mga x86_64 na larawan sa mga ARM na computer nang walang nakikitang parusa, na ginagawang mas madali ang paglipat at pagpapanatili ng mga mixed o legacy na kapaligiran.

Mga kalamangan ng arkitektura na iminungkahi ng Apple

  1. Pinahusay na seguridad: Sa pamamagitan ng hindi pagbabahagi ng mga kernel o dependency, ang bawat container ay ganap na nakahiwalay, na umaayon sa zero-trust na mga prinsipyo sa seguridad. Ang sobrang minimalism ng init system at ang kakulangan ng mga magagamit na tool ay lubhang nakakabawas sa panganib ng pagdami ng pribilehiyo o pagtagas ng data.
  2. Kahusayan sa paggamit ng mga mapagkukunan: Ang mga ultra-lightweight na virtual machine ay kumokonsumo lamang ng mga mapagkukunan kapag sila ay aktibo. Hindi na kailangang magreserba ng RAM o CPU para sa isang container pool na maaaring idle, na nag-o-optimize sa pangkalahatang paggamit ng system.
  3. Pinasimple at nababaluktot na network: Inaalis ng dedikadong IP allocation ang makasaysayang pananakit ng port mapping at internal network management sa mga container, na nagpapadali sa interconnection at horizontal scaling ng mga microservice.
  4. Pagkakatugma at kakayahang dalhin: Ang suporta para sa mga karaniwang OCI na larawan at walang putol na pagsasama sa mga rehistro ay nagbibigay-daan sa parehong CI/CD pipeline at mga asset ng container na direktang gumana sa Mac nang walang anumang pagbabago o pagpapasadya.

Mga Bahagi ng Apple Framework

  • Containerization Swift Package: Ang base library na nagbibigay ng mga API para sa pamamahala ng mga imahe, registry, file system, proseso, at pagsasama sa native init system at custom na kernels.
  • vminitd: Isang minimalist na init system, na nakasulat sa Swift at pinagsama-sama sa Static Linux SDK, na tumatakbo bilang unang proseso sa bawat VM. Hindi ito nangangailangan ng mga dynamic na library o tool ng system at naglalantad ng gRPC API sa vsock upang makontrol ang mga lifecycle ng proseso at configuration ng kapaligiran.
  • Mga na-optimize na kernel: Pinaliit na mga kernel ng Linux, nakatutok para sa mabilis na mga oras ng pag-boot at kaunting paggamit ng kuryente, bagama't posibleng pumili o mag-compile ng mga custom na configuration para sa mga advanced na kaso ng paggamit.
  • Mga Tool ng Gumagamit: cctl Ito ang pangunahing tool ng CLI, na nagbibigay-daan sa iyong pamahalaan ang mga larawan, ilunsad ang mga lalagyan at subukan ang framework API sa simpleng paraan, katulad ng karaniwang mga utos ng Docker.

Paano ito gumagana sa pagsasanay: mula sa code hanggang sa pag-deploy

Nag-aalok ang framework ng mga API at CLI tool para sa mga sumusunod na proseso:

  • Pamamahala at pagmamanipula ng imahe ng OCI.
  • Secure na pakikipag-ugnayan sa mga malalayong rehistro.
  • Paglikha at pag-format ng ext4 file system.
  • Advanced na pamamahala ng network sa pamamagitan ng mga Netlink socket at indibidwal na pagtatalaga ng IP.
  • Pagpapatupad at pagsubaybay ng mga proseso sa loob ng mga lalagyan salamat sa pagmamay-ari na init system.
  • Pamamahala ng mga runtime environment sa bawat VM, na may mga API para sa pagpili ng kernel, bersyon, at mga configuration na partikular sa container.
  • Pagsasama sa Rosetta 2 para sa paggamit ng mga x86_64 na larawan sa mga Apple Silicon system at cross-compatibility verification.

Ang simula ng bawat lalagyan ay kaagad (sub-segundo), na nahihigitan sa maraming pagkakataon ang karanasan sa pagsisimula ng Docker o Podman, at ang pamamahala ng mapagkukunan ay ganap na dinamiko.

Mga kinakailangan at pagiging tugma

Upang magamit ang balangkas ng Apple kailangan mo:

  • Magkaroon ng Mac na may Apple Silicon (M1, M2 serye pasulong).
  • macOS 15 o mas mataas, bagaman upang samantalahin ang lahat ng mga kakayahan at maiwasan ang mga limitasyon, inirerekomenda ang macOS 26 Beta 1.
  • Xcode 26 Beta at na-update na mga tool sa pagbuo ng Swift.

Ang ilang feature, gaya ng komunikasyon sa container-to-container sa loob ng parehong segment ng network, ay ganap na pinagana sa macOS 26 at mas bago.

Mga Detalye ng Developer at Daloy ng Trabaho

Kasama sa karaniwang daloy para sa isang developer na may ganitong framework ang:

  • I-install ang mga inirerekomendang dependency: Swiftly, Swift, Static Linux SDK, at mga tamang bersyon ng grpc-swift at swift-protobuf.
  • I-compile ang package mula sa mga source gamit ang ibinigay na mga script at utility.
  • Paggamit ng cctl upang subukan at manipulahin ang mga larawan, maglunsad ng mga lalagyan, pamahalaan ang mga root file system, at i-automate ang pag-deploy o mga gawain sa pagsubok.
  • I-customize ang kernel kung kinakailangan ang anumang partikular na feature na hindi kasama sa default na configuration, kasunod ng dokumentasyon ng repositoryo.
  • Pagsasama sa karaniwang mga pipeline ng CI/CD at mga rehistro para sa mga collaborative na daloy ng pag-unlad at deployment sa mga pinaghalong koponan.

Ang opisyal na dokumentasyon ay nagbibigay ng sunud-sunod na gabay sa paunang pag-setup, karaniwang pag-troubleshoot, at automation ng mga karaniwang daloy ng trabaho.

Paghahambing sa iba pang mga solusyon: Docker, Podman at ang modelo ng Apple

Manggagawa sa pantalan at iba pang mga solusyon ay nagbibigay-daan sa iyo na magpatakbo ng mga container sa Mac, ngunit ginagawa nila ito sa pamamagitan ng isang Linux VM kung saan nakatira ang lahat ng container, na nangangahulugang:

  • Mas mataas na base resource consumption (VM ay palaging aktibo).
  • Fragmentation at pagiging kumplikado kapag nagbabahagi ng mga file sa pagitan ng host, VM, at mga container.
  • Mas malalaking isyu sa ibabaw ng pag-atake at paghihiwalay, dahil ang pagkabigo ay maaaring makaapekto sa lahat ng mga container ng residente.
  • Nahihirapang magtalaga ng mga natatanging IP at komunikasyon sa pagitan ng mga container at host services.

Ang modelo ng Apple, sa pamamagitan ng paggawa ng mga VM sa bawat container, ay nag-aalis ng mga bottleneck na ito. Bagama't sa una ay tila hindi gaanong mahusay, ang mga ultra-lightweight na VM at piling paggamit ng mapagkukunan ay ginagawa itong isang mahusay na modelo sa mga tuntunin ng seguridad at flexibility, lalo na sa mga kapaligiran kung saan ang paghihiwalay at pagsunod ay isang priyoridad.

Pagkatugma at paglipat ng mga kasalukuyang daloy ng trabaho

Isa sa mga karaniwang alalahanin kapag lumilipat sa mga bagong teknolohiya ay ang pagiging tugma ng mga asset at daloy ng trabaho. Ang balangkas ng Apple ay nagpapanatili ng ganap na pagiging tugma sa mga karaniwang OCI na imahe, ibig sabihin, gagana ang mga kasalukuyang larawan, at ang mga rehistro at pipeline ay maaaring manatiling hindi nagbabago. Mga kasangkapan tulad ng cctl Gumagamit sila ng mga command na katulad ng sa Docker, kaya ang curve ng pag-aaral ay bahagyang.

WizOS
Kaugnay na artikulo:
WizOS: Ang Bagong Secure at Magaang Solusyon para sa Mga Lalagyan ng Enterprise

Mga kontribusyon at komunidad

Ang proyekto ay open source at tinatanggap ang mga panlabas na kontribusyon, pinapadali ang pakikilahok salamat sa isang modular na arkitektura ng Swift at malinaw na mga alituntunin sa kontribusyon. Hinihikayat ng mga tagapangasiwa ng package ang mga kontribusyon sa code, mga iminungkahing pagpapahusay, at pag-uulat ng isyu upang mapabilis ang pagbuo at pag-aampon.

Ginagarantiyahan ng modelo ng pag-bersyon ang binary stability sa pagitan ng mga menor de edad na release, na nagbibigay ng kumpiyansa sa mga gustong gamitin ang framework nang maaga sa lifecycle nito.

Mainam na mga kaso ng paggamit at mga application

Ang balangkas ng Containerization ng Apple ay partikular na kawili-wili para sa:

  • Mga developer na kailangang subukan at i-deploy ang mga Linux application sa Mac nang native at secure.
  • Mga kumpanya at organisasyon kung saan seguridad at paghihiwalay ay ipinag-uutos (sektor ng pananalapi, kalusugan, AI, atbp.).
  • Mga organisasyong namuhunan sa mga pipeline ng OCI at gustong gamitin ang mga kasalukuyang pipeline nang walang mga panganib sa compatibility.
  • Mga pinaghalong koponan na lumilipat mula sa x86 patungo sa mga arkitektura ng ARM at nangangailangan ng maayos na paglipat.
  • Mga proyektong nangangailangan ng iba't ibang kernel o custom na configuration para sa iba't ibang container.

Kakayahang umangkop, likas na seguridad at mababang gastos sa pagpapatakbo gawin ang framework na isang napaka-kaakit-akit na opsyon para sa pag-modernize ng mga workflow at pagpapabuti ng data at proteksyon ng system.

Mga limitasyon at katayuan ng proyekto

Ang balangkas ay nasa bersyon 0.1.0, na nangangahulugan na ito ay nasa paunang yugto nito, bagama't ganap na gumagana para sa eksperimento at mga kontroladong deployment. Ang ilang advanced na feature, gaya ng container-to-container networking sa macOS 15, ay hindi ganap na available maliban sa macOS 26 at mas bago.

Nagbabala ang Apple na ang katatagan ng API ay ginagarantiyahan lamang sa pagitan ng mga menor de edad na paglabas, kaya dapat suriin ng mga naunang nag-adopt ang mga tala ng paglabas at tukuyin ang mga dependency nang tama upang maiwasan ang mga isyu sa mga pag-update sa hinaharap.

Containerization sa iOS mobile environment

Makikita rin ang containerization sa pamamahala at seguridad ng mga iOS device, kung saan maaaring gamitin ng mga administrator ang mga MDM (Mobile Device Management) system para paghigpitan ang komunikasyon sa pagitan ng mga application, pag-access sa ilang partikular na serbisyo, pag-install ng mga configuration at certificate, pati na rin limitahan ang pag-install ng mga hindi awtorisadong app at hindi secure na koneksyon. Ang mga patakarang ito, bagama't iba sa tradisyonal na containerization ng software, ay naghahangad na protektahan ang impormasyon ng kumpanya at maiwasan ang mga pagtagas ng data sa pagitan ng mga app at serbisyo sa loob ng Apple ecosystem.

Ang Kinabukasan ng Containerization Ayon sa Apple

Ang hakbang ng Apple, kasama ang pagbubukas ng framework at ang pag-promote ng sarili nitong mga tool, ay maaaring magmarka ng bago at pagkatapos sa paraan ng mga secure na application na binuo at na-deploy sa Mac ecosystem. Mga kalamangan sa kaligtasan, kahusayan at pagiging tugma Sa bukas na mga pamantayan, sila ay maglalagay ng presyon sa mga tradisyonal na manlalaro at hikayatin ang paglitaw ng mga bagong solusyon at pagpapabuti sa sektor.

DistroShelf
Kaugnay na artikulo:
DistroShelf: Isang bagong interface para sa pamamahala ng iyong mga Linux container nang mabilis at madali.

Ang Containerization ng Apple ay hindi lamang isang alternatibo, ngunit isang ebolusyon ng tradisyonal na modelo, na idinisenyo upang matugunan ang mga pangangailangan sa seguridad at kadaliang mapakilos ngayon, na nagbibigay daan para sa mas secure, mahusay, at madaling mapapamahalaan na mga kapaligiran sa pag-develop at produksyon sa Mac hardware.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.