Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Arquiteturas Executáveis
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Everton Ribeiro
November 08, 2014
Programming
130
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Arquiteturas Executáveis
Everton Ribeiro
November 08, 2014
More Decks by Everton Ribeiro
See All by Everton Ribeiro
DSLs JavaScript
nuxlli
5
310
Arquiteturas Executáveis - WeOp Summit
nuxlli
3
120
Other Decks in Programming
See All in Programming
自分的「カンファレンスの楽しみ方」
syumai
0
200
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
210
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.4k
高専キャリア LT 発表内容
crysta1221
6
5.6k
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
38k
信頼性の目標を誰も求めてない
shubox
0
500
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
340
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
5
1.3k
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
So, you think you're a good person
axbom
PRO
2
2.1k
Building an army of robots
kneath
306
46k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Being A Developer After 40
akosma
91
590k
Building AI with AI
inesmontani
PRO
1
1.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Claude Code のすすめ
schroneko
67
230k
Transcript
Arquitetura Executável ÉVERTON RIBEIRO
@nuxlli manutenção, operação, desenvolvimento, pesquisa e empreendimento
None
A batalha!
desenvolvimento vs. operação
Entregar para ontem a solução que atenda todos os requisitos
funcionais. Garantir que seja lá o que o dev entregue: rode, seja seguro e escale. (ontem)
Arquitetura da aplicação
Arquitetura do sistema
None
Se a comunicação falhar, a aplicação falhará e todos perdem.
Soluções?!?
Wikis, playbooks, chats, café… Documentação
O principal problema das documentações de arquitetura é que ninguém
atualiza.
Chef, puppet, ansible, vagrant, terraform, monit, god… Ferramentas
Devem ser parte da solução, mas são apenas partes mesmo.
Lembre-se: desenvolvedores estão focados em desenvolver. E deveriam estar mesmo!
Vagrant, terraform, monit, god…
si, pero no mucho Boas práticas
Se boas práticas fossem fáceis de adotar a documentação estaria
em dia ;)
Arquitetura executável
Linguagem de alto nível, que diferente de fluxogramas…
… pode ser interpretada para implantação e automação de sistemas.
systems({ api: { image: "ruby", depends: [ "mysql" ], //...
}, mysql: //..., });
A "documentação" da arquitetura se torna parte da solução, sendo
essencial na sua execução.
É resultado do fluxo de trabalho do desenvolvedor e do
arquiteto de sistemas.
fluxo de trabalho
fluxo de trabalho arquitetura
AZK
Ferramenta open source para orquestração de ambientes de desenvolvimento…
Configuração DNS Instalação Monitoramento Logs Webservices Dependências AZK Receitas
…através de arquivos manifesto de alto nível.
É uma descrição sucinta dos componentes que formam a arquitetura
da aplicação.
Bem como da relação entre esses componentes e de que
forma eles são acessados.
systems({ api: { image: "ruby", depends: [ "mysql" ], //...
}, mysql: //..., }); arquitetura executável
Exemplificando:
small.io - Web (Rails) - Database (Mysql)
$ cd ~/blog $ azk init azk: System ruby/rails detected:
‘blog’ azk: Required system mysql detected in ‘blog' azk: ‘Azkfile.js’ generated ! Tip: Adds the `.azk` in .gitignore echo ‘.azk’ >> .gitignore
// Azkfile.js (JavaScript DSL) systems({ blog: { depends : [
"mysqldb" ], image : "azukiapp/ruby", provision : [ "bundle install vendor/bundler" ], command : "rackup -s thin", mounts : { "/azk/#{manifest.dir}": path(".") }, scalable : { default: 3 }, http: { domains: [ "#{system.name}.#{azk.defaul_domain}" ], }, env : [ RUBY_ENV: "dev" ], }, mysqldb: { image : "azukiapp/mysql", mounts: { "/data/db": persistent("data") }, }, });
$ azk start ! Get images: - azukiapp/mysql - azukiapp/ruby
! Starting: - db - blog (instances: 3) (linked with: db)
E PRONTO! Basta acessar http://blog.dev.azk e sua aplicação já esta
rodando.
Apenas 3 passos simles: - Instalar o azk - $
azk init - $ azk start
Sistemas
Um projeto ou aplicação, mesmo simples, pode ser visto como
um System of Systems (SoS).
Em outras palavras um arquitetura de microsistemas.
small.io - Web - Database
big.com - Front - Databases: - Mysql - Redis -
Workers - API - Proxy payment - Facebook auth - etc…
"Ambientes podem ser complexos só não podem ser desordenados" (@fnando)
Resumindo
A comunicação se dá por meio do manifesto e da
ferramenta.
Uma lingua franca é estabelecida para comunicação do time.
None
Lembre-se: arquiteturas de aplicações e de sistemas devem vivas e
vividas no seu projeto.
Status do azk
Versão 0.6.1 estável disponível online em http://azk.io
Para mac e linux, windows em breve.
Documentação Hoje: apenas o README e exemplos. Temos mais a
caminho.
Github issues, Hipchat e e-mail. Suporte
Éverton Ribeiro // @nuxlli
[email protected]
! Slides: bit.ly/gurusp35_arquitetura_executavel