SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
aptly - Debian repository
management tool
Andrey Smirnov,

DevOps Meetup Moscow Jan’14
Repeatability!
Change!
Environment
Repeatable
Environment
Environment Change
Repetable
Environment Change
Environment is 

a set of packages
Environment Versions
development

staging

testing

production
Environment Control
Debian

repo
apt-sources

apt-get

backports
aptpreferences
3rd-party

repo
Wrong Version!
apt pinning should help!
No…
Our Goal

•

Fixed set of packages (repeatability)

•

Update packet versions in controlled way
(change)
aptly
* isn’t a replacement for apt, dpkg!
Core Concepts
mirror

– remote repository mirror

snapshot

– immutable set of packages

published

repo

– snapshot published as package repo
mirror

take snapshot
pull

snapshot

snapshot

update

diff

take snapshot

local

repo

verify

published

repo

snapshot

publish
merge

snapshot
aptly mirror
$ aptly mirror create wheezy-main http://mirror.yandex.ru/
debian/ wheezy main	
Downloading http://mirror.yandex.ru/debian/dists/wheezy/
Release...	
!

Mirror [mirror1]: http://mirror.yandex.ru/debian/ wheezy
successfully added.	
You can run 'aptly mirror update mirror1' to download
repository contents.
aptly mirror
$ aptly mirror update wheezy-main	
Downloading http://mirror.yandex.ru/debian/dists/wheezy/
Release...	
Downloading & parsing package files...	
Downloading http://mirror.yandex.ru/debian/dists/wheezy/
main/binary-i386/Packages.bz2...	
Downloading http://mirror.yandex.ru/debian/dists/wheezy/
main/binary-amd64/Packages.bz2...	
Saving packages to database...	
Building download queue...	
Download queue: 0 items, 0.00 GiB size	
!

Mirror `wheezy-main` has been successfully updated.
mirror

update
aptly snapshot
$ aptly snapshot create deb-main-250114 from mirror wheezymain	
!

Snapshot deb-main-250114 successfully created.	
You can run 'aptly publish snapshot deb-main-250114' to
publish snapshot as Debian repository.
mirror

update

take snapshot

snapshot
aptly snapshot pull
$ aptly snapshot pull deb-main-250114 percona-250114 deb-wpercona 'percona-server-server (>=5.5)’	
…	
[+]
[+]
[+]
[+]
[-]
[+]
[+]
[+]
[+]
[+]
[-]
[+]

percona-server-server-5.5.35-rel33.0-611.wheezy_amd64 added	
percona-server-server-5.5-5.5.35-rel33.0-611.wheezy_amd64 added	
percona-server-client-5.5-5.5.35-rel33.0-611.wheezy_amd64 added	
percona-server-common-5.5-5.5.35-rel33.0-611.wheezy_amd64 added	
libmysqlclient18-5.5.31+dfsg-0+wheezy1_amd64 removed	
libmysqlclient18-5.5.35-rel33.0-611.wheezy_amd64 added	
percona-server-server-5.5.35-rel33.0-611.wheezy_i386 added	
percona-server-server-5.5-5.5.35-rel33.0-611.wheezy_i386 added	
percona-server-client-5.5-5.5.35-rel33.0-611.wheezy_i386 added	
percona-server-common-5.5-5.5.35-rel33.0-611.wheezy_i386 added	
libmysqlclient18-5.5.31+dfsg-0+wheezy1_i386 removed	
libmysqlclient18-5.5.35-rel33.0-611.wheezy_i386 added
aptly snapshot pull
$ aptly snapshot pull aptly snapshot pull deb-main-250114
back-250114 deb-w-xorg rsyslog	
…	
[-]
[+]
[-]
[+]
[+]
[-]
[+]
[-]
[+]

rsyslog-5.8.11-3_amd64 removed	
rsyslog-7.4.4-1~bpo70+1_amd64 added	
libestr0-0.1.1-2_amd64 removed	
libestr0-0.1.9-1~bpo70+1_amd64 added	
init-system-helpers-1.11~bpo70.1_all added	
rsyslog-5.8.11-3_i386 removed	
rsyslog-7.4.4-1~bpo70+1_i386 added	
libestr0-0.1.1-2_i386 removed	
libestr0-0.1.9-1~bpo70+1_i386 added
mirror

take snapshot
pull

update

snapshot

snapshot

snapshot
aptly snapshot diff
$ aptly snapshot diff deb-main-250114 deb-w-percona	
!
+
+
+
+
!
+
+
+
+

Arch
amd64
amd64
amd64
amd64
amd64
i386
i386
i386
i386
i386

|
|
|
|
|
|
|
|
|
|
|

Package
libmysqlclient18
percona-server-client-5.5
percona-server-common-5.5
percona-server-server
percona-server-server-5.5
libmysqlclient18
percona-server-client-5.5
percona-server-common-5.5
percona-server-server
percona-server-server-5.5

|
|
|
|
|
|
|
|
|
|
|

Version in A
5.5.31+dfsg-0+wheezy1
5.5.31+dfsg-0+wheezy1
-

|
|
|
|
|
|
|
|
|
|
|

Version in B	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy	
5.5.35-rel33.0-611.wheezy
mirror

take snapshot
pull
snapshot

update

diff

snapshot

snapshot
aptly snapshot verify
$ aptly snapshot verify deb-w-percona	
Missing dependencies (13):	
fenix [amd64]	
fenix-plugins-system [amd64]	
ia32-libs-i386 [amd64]	
ia32-libs-gtk-i386 [amd64]	
vidcontrol [amd64]	
kbdcontrol [amd64]	
libmysqlclient18 (= 5.5.31+dfsg-0+wheezy1) [amd64]	
scsh-0.6 (>= 0.6.6) [amd64]	
scsh-0.6 [amd64]	
mozart (>= 1.4.0) [amd64]	
libmysqlclient18 (= 5.5.31+dfsg-0+wheezy1) [i386]	
vidcontrol [i386]	
kbdcontrol [i386]
mirror

take snapshot
pull
snapshot

update

diff

snapshot

snapshot

verify
aptly snapshot merge
$ aptly snapshot merge deb-w-percona-250114 deb-main-250114
percona-250114	
!

Snapshot deb-w-percona-250114 successfully created.	
You can run 'aptly publish snapshot deb-w-percona-250114'
to publish snapshot as Debian repository.
mirror

take snapshot
pull

snapshot

snapshot

update

diff

snapshot

merge

snapshot

verify
aptly publish snapshot
$ aptly publish snapshot -distribution=wheezy
percona-250114	
Signing file '/Users/smira/.aptly/public/dists/wheezy/
Release' with gpg, please enter your passphrase when
prompted:	
!

…	
!

Snapshot percona-250114 has been successfully published.	
Please setup your webserver to serve directory '/Users/
smira/.aptly/public' with autoindexing.	
Now you can add following line to apt sources:	
deb http://your-server/ wheezy main	
Don't forget to add your GPG key to apt with apt-key.
mirror

take snapshot
pull

snapshot

verify

snapshot

update

diff

published

repo

snapshot

publish
merge

snapshot
Plans
•

Searching

•

Filtering

•

Managing your own package repositories

•

Support for source packages and translations

•

Verifying remote repositories
What doesn’t work yet
•

deletion

•

bash-completion

•

flat-repositories

•

download progress
Competition

•

mirror: ftpsync, reprepro, debmirror, apt-mirror, aptcache…

•

archive generation: dak, mini-dak, reprepro, …
Internals
•

Written in Go

•

Embedded database - LevelDB

•

Package files are stored only once
Internals
•

~/.aptly.conf - configuration file

•

~/.aptly/ - default work directory
•

db/ - database

•

pool/ - package file storage

•

public/ - published repositories
Links
•

http://www.aptly.info/

•

https://github.com/smira/aptly/

•

@smira

•

me@smira.ru

•

Skype: smirnov.andrey

Mais conteúdo relacionado

Mais procurados

Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
Mark Wong
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questions
Kavya Sri
 
Nginx internals
Nginx internalsNginx internals
Nginx internals
liqiang xu
 

Mais procurados (20)

Version control
Version controlVersion control
Version control
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
 
Backend.AI: 왜 우리는 우리 핵심 제품을 오픈소스화 했는가
Backend.AI: 왜 우리는 우리 핵심 제품을 오픈소스화 했는가Backend.AI: 왜 우리는 우리 핵심 제품을 오픈소스화 했는가
Backend.AI: 왜 우리는 우리 핵심 제품을 오픈소스화 했는가
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questions
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Les 05 Create Bu
Les 05 Create BuLes 05 Create Bu
Les 05 Create Bu
 
All about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAll about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdf
 
Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQ
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
 
Disaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFDisaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoF
 
Nginx internals
Nginx internalsNginx internals
Nginx internals
 
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
 
Disk and File System Management in Linux
Disk and File System Management in LinuxDisk and File System Management in Linux
Disk and File System Management in Linux
 
Microsoft Windows Server 2012 R2 Hyper V server overview
Microsoft Windows Server 2012 R2 Hyper V server overviewMicrosoft Windows Server 2012 R2 Hyper V server overview
Microsoft Windows Server 2012 R2 Hyper V server overview
 
Git flow en gitlab
Git flow en gitlabGit flow en gitlab
Git flow en gitlab
 
Windows MSCS 운영 및 기타 설치 가이드
Windows MSCS 운영 및 기타 설치 가이드Windows MSCS 운영 및 기타 설치 가이드
Windows MSCS 운영 및 기타 설치 가이드
 
Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020
 
redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바
 

Semelhante a aptly: Debian repository management tool

Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Simon Boulet
 
Composer for Busy Developers - php|tek13
Composer for Busy Developers - php|tek13Composer for Busy Developers - php|tek13
Composer for Busy Developers - php|tek13
Rafael Dohms
 

Semelhante a aptly: Debian repository management tool (20)

aptly - система управления Debian-репозиториями пакетов
aptly - система управления Debian-репозиториями пакетовaptly - система управления Debian-репозиториями пакетов
aptly - система управления Debian-репозиториями пакетов
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the Cloud
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
Composer - The missing package manager for PHP
Composer - The missing package manager for PHPComposer - The missing package manager for PHP
Composer - The missing package manager for PHP
 
170112
170112170112
170112
 
Composer for busy developers - DPC13
Composer for busy developers - DPC13Composer for busy developers - DPC13
Composer for busy developers - DPC13
 
Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點
 
Composer, putting dependencies on the score
Composer, putting dependencies on the scoreComposer, putting dependencies on the score
Composer, putting dependencies on the score
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
 
Composer: putting dependencies on the score
Composer: putting dependencies on the scoreComposer: putting dependencies on the score
Composer: putting dependencies on the score
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenv
 
Composer for Busy Developers - php|tek13
Composer for Busy Developers - php|tek13Composer for Busy Developers - php|tek13
Composer for Busy Developers - php|tek13
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenv
 

Mais de Andrey Smirnov

Remote Highload
Remote HighloadRemote Highload
Remote Highload
Andrey Smirnov
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
Andrey Smirnov
 
Клиентские приложения под нагрузкой (HighLoad 2014)
Клиентские приложения под нагрузкой (HighLoad 2014)Клиентские приложения под нагрузкой (HighLoad 2014)
Клиентские приложения под нагрузкой (HighLoad 2014)
Andrey Smirnov
 
aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)
Andrey Smirnov
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)
Andrey Smirnov
 
Smirnov twisted-python
Smirnov twisted-pythonSmirnov twisted-python
Smirnov twisted-python
Andrey Smirnov
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
Andrey Smirnov
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
Andrey Smirnov
 

Mais de Andrey Smirnov (17)

Remote Highload
Remote HighloadRemote Highload
Remote Highload
 
Вебинар "Разработка высоконагруженных и надежных систем": Введение
Вебинар "Разработка высоконагруженных и надежных систем": ВведениеВебинар "Разработка высоконагруженных и надежных систем": Введение
Вебинар "Разработка высоконагруженных и надежных систем": Введение
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
 
Клиентские приложения под нагрузкой (HighLoad 2014)
Клиентские приложения под нагрузкой (HighLoad 2014)Клиентские приложения под нагрузкой (HighLoad 2014)
Клиентские приложения под нагрузкой (HighLoad 2014)
 
Консольные приложения на Go
Консольные приложения на GoКонсольные приложения на Go
Консольные приложения на Go
 
Курс высокие нагрузки: сеть (отрывок)
Курс высокие нагрузки: сеть (отрывок)Курс высокие нагрузки: сеть (отрывок)
Курс высокие нагрузки: сеть (отрывок)
 
Курс высокие нагрузки: очереди (отрывок)
Курс высокие нагрузки:  очереди (отрывок)Курс высокие нагрузки:  очереди (отрывок)
Курс высокие нагрузки: очереди (отрывок)
 
aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)aptly: система управления репозиториями пакетов (РИТ-2014)
aptly: система управления репозиториями пакетов (РИТ-2014)
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)
 
Курс высокие нагрузки и надежность: отрывок
Курс высокие нагрузки и надежность: отрывокКурс высокие нагрузки и надежность: отрывок
Курс высокие нагрузки и надежность: отрывок
 
Smirnov twisted-python
Smirnov twisted-pythonSmirnov twisted-python
Smirnov twisted-python
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Доклад на РИТ: Высокие нагрузки (2008)
Доклад на РИТ: Высокие нагрузки (2008)Доклад на РИТ: Высокие нагрузки (2008)
Доклад на РИТ: Высокие нагрузки (2008)
 
pyFMS
pyFMSpyFMS
pyFMS
 
pyFMS
pyFMSpyFMS
pyFMS
 
PGDBObject
PGDBObjectPGDBObject
PGDBObject
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

aptly: Debian repository management tool