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
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
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
510
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
140
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
170
Are APIs Still Relevant in the AI Era?
soyuka
0
440
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
130
AWSに止められる覚悟してますか?
morizo_1984
2
520
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
470
パーソナライズPodcastを作った話
repunit11
0
130
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
880
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Thoughts on Productivity
jonyablonski
76
5.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
New Earth Scene 8
popppiees
4
2.7k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The SEO identity crisis: Don't let AI make you average
varn
0
580
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Making the Leap to Tech Lead
cromwellryan
135
10k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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