Pesquisar neste blog

quinta-feira, 29 de maio de 2014

Arquitetura de Nuvem - Desafios e Oportunidades

O que é computação em Nuvem?


Segundo o Gartner Group (2010), Computação em Nuvem é um estilo de computação no qual recursos de TI, massivamente escaláveis são disponibilizados sob forma de serviços, por meio da Internet, para múltiplos consumidores externos.
De acordo com a Amazon (2006), Cloud Computing (Computação em Nuvem), refere-se a um ambiente de TI distinto que é projetado com o propósito de provisionar remotamente recursos de TI escaláveis e mensuráveis. Qualquer protocolo pode ser utilizado para acesso aos recursos remotos de TI.

Conceito NIST (National Institute of Standards and Technology)



Algumas Pesquisas

Uma pesquisa realizada pela CapGemini, com base em 460 entrevistas com executivos de TI e tomadores de decisões de negócio, através de sete setores e países selecionados por regiões chave, revela os principais motivos da adoção da Computação em Nuvem pelas empresas conforme indicação no gráfico abaixo:

Estratégia de adoção da Nuvem


Quem toma a decisão sobre a Nuvem


Pesquisas feitas pelo Gartner





A primeira pesquisa foi focada nas três principais preocupações que os profissionais de Datacenter têm com a computação em nuvem pública. A pontuação ponderada para "Segurança e Privacidade" foi maior do que a pontuação para as próximas preocupações juntas. 

As próximas pesquisas focam em planos de computação em nuvem pública contra planos de computação em nuvem privada. Três quartos disseram que estavam ou estariam buscando uma estratégia de computação em nuvem privada até 2012 (apenas 4% disseram que não estavam). Três quartos disseram que iriam investir mais em computação em nuvem privada do que na computação em nuvem pública até 2012. 

A pesquisa final focou-se nos desafios com a computação em nuvem privada. "Tecnologia", foi considerado sexto dos sete desafios oferecidos. "Gestão e Processos Operacionais" ficou em primeiro lugar, seguido de "Financiamento / Chargeback Model." 

Os Processos, as pessoas e as mudanças de relacionamento serão os maiores desafios com a computação em nuvem privada do que a Tecnologia.

Alguns exemplos de Cloud Computing

Windows Azure
  • Paas+IaaS;
  • Integração com produtos Microsoft;
  • Concorre com Amazon AWS.

GAE (Google App Engine)

  • PaaS;
  • Permite criar aplicações nos DATACENTERs do Google;
  • Nenhum ajuste de desempenho;
  • Nenhuma administração de sistemas.

OpenStack

  • PaaS
  • Coleção de projetos open source;
  • Inicialmente Cloud Files (RACKSPACE) + plataforma NEBULA (NASA);
  • Instalação e configuração não trivial;
  • Documentação em evolução.
Compatibilidade
  • Plataformas incompatíveis;
  • Tecnologias proprietárias;
  • Mobilidade entre nuvens é cara e complexa.
O que é arquitetura de nuvem ?

Arquitetura
  • Definição de arquitetura resultado de um conjunto de decisões técnicas e de negócios
    • Permite comunicação com stakeholders;
    • Permite antecipar decisões;
    • Múltiplas visões.
  • Arquitetura de Nuvem
    • Arquitetura de referência;
    • Requisitos do negócio;
    • Requisitos técnicos.
Arquitetura de referência
  • O quê  e não fazer ?
  • Ilustra os vários serviços de nuvem e os atores
  • Fornece uma referência para comparação de serviços de nuvem
  • Facilita a análise de padrões.
  • Não é a arquitetura de nuvem.




Atores (pessoas ou organizações)
  • Consumidor de Nuvem (Cloud Consumer) - adquire e utiliza serviços de nuvem.
  • Provedor de Nuvem (Cloud Provider) – responsavel por disponibilizar o serviço de nuvem.
  • Integrador de Nuvem (Cloud Broker) – gerencia o uso, desempenho e entrega dos serviços de nuvem e negocia a relação entre CP e CC.
  • Auditor de Nuvem (Cloud Auditor) – conduz a avaliação dos serviços de nuvem com foco em privacidade, desempenho e segurança.
  • Operador de Nuvem (Cloud Carrier) – Fornece conectividade e transporta os serviços entre CP e CC


Arquitetura de Nuvem Regra de Ouro (Jinesh Varia,AWS) 

Seja um pessimista ao projetar arquiteturas na nuvem, presuma que tudo irá falhar. Em outras palavras, sempre projete, implemente e implante arquiteturas considerando a falha.
  • Aplicação;
  • Infraestrutura.

Tolerância a Falhas

Tolerância a falhas pode ser caracterizada como a capacidade de um sistema de permanecer em operação mesmo que alguns dos componentes utilizados para construí-los venham a falhar. Vale para a infraestrutura e para o aplicativo. 

Infraestrutura
  • No caso da infraestrutura, algumas questões precisam ser levantadas : 
    • O que acontecerá se um nó em seu sistema falhar? Como você reconhece esta falha? 
    • Como eu faço para substituir o nó? 
    • Para quais tipos de cenários eu tenho que me planejar? 
    • Quais são meus pontos únicos de falha? 
    • Se um balanceador de carga está disposto na frente de um pool de servidores de aplicativos, o que acontecerá se o balanceador de carga falhar? 
    • Se não houver mestre e escravos na arquitetura, o que acontecerá se o nó mestre falhar? 
    • Como é que ocorre o failover e como é que um novo escravo é instanciado e colocado em sincronia com o mestre?
Aplicação
  • No caso da aplicação , algumas perguntas podem ser respondidas :
    • O que acontecerá com o meu aplicativo se os seus serviços dependentes mudarem suas interfaces? 
    • E se o serviço de downstream expirar ou retornar uma exceção? 
    • E se as chaves de cache crescerem além do limite de memória de uma instância?
Elasticidade 
  • Projetar arquiteturas inteligentes para nuvens elásticas, para que a infraestrutura seja executada somente quando necessária, é uma arte em si. A elasticidade deve ser um dos requisitos do projeto arquitetônico ou mesmo uma propriedade do sistema. 
  • Algumas perguntas se fazem necessárias: 
    • Quais os componentes ou que camadas em minha arquitetura de aplicativo podem se tornar elásticas? 
    • O que será necessário para tornar esse componente elástico? 
    • Qual será o impacto da implementação da elasticidade na arquitetura geral do sistema?
Desafios e Oportunidades

Riscos da Nuvem (Sidney Chaves, Dissertação USP, 2011)
  • Riscos Operacionais afetam o dia a dia da prestação de serviço;
  • Riscos do Negócio envolvem a riscos associados a atitude do Provedor frente a situações críticas;
  • Riscos Estruturais são riscos que podem afetar a prestação de serviços mas no  médio e longo prazo.

Riscos Operacionais
  • Falta de Privacidade;
  • Falhas de Integridade;
  • Erros;
  • Suporte Inadequado;
  • Baixo Desempenho;
  • Ataques por Saturação;
  • Dificuldade para Escalar;
  • Baixa Interoperabilidade.
Riscos de Negócio
  • Indisponibilidade;
  • Não Continuidade.
Riscos Estruturais
  • Não conformidade;
  • Licenciamento de Software;
  • Aprisionamento;
  • Má Reputação.
Não Conformidade Shared Responsability Model (Iaas, por exemplo)






Aprisionamento
  • Soluções
    • Open APIs (OCCI, Zend Simple Cloud API);
    • Middleware (Middleware Cloud Stratus).


Oportunidades
  • Empresas na nuvem:
    • Pequenas (quase tudo);
    • Médias (muitos serviços);
    • Grandes (alguns).


Fontes:
  • http://www.computerweekly.com/feature/A-history-of-cloud-computing;
  • http://en.wikipedia.org/wiki/Cloud_computing;
  • http://www.nist.gov/manuscript-publication-search.cfm?pub_id=909505;
  • http://www.uk.capgemini.com/thought-leadership/business-cloud-the-state-of-play-shifts-rapidly;
  • http://blogs.gartner.com/thomas_bittman/2010/04/21/polling-data-on-publicprivate-cloud-computing/


quarta-feira, 28 de maio de 2014

Como deletar regras no iptables por line-number

Olá amigos leitores,
uma dica simples e de grande valia para algumas aplicações é a exclusão de determinadas regras do iptables, isso é possível através da identificação de cada regra por um id que o iptables fornece, a partir do parâmetro line-number.


Inserindo uma nova regra
# iptables -I FORWARD -s 1.1.1.1 -p tcp --dport 80 -j ACCEPT

Buscando o ID da regra inserida
# iptables -nv -L FORWARD --line-number |grep 1.1.1.1
1

Excluindo a regra inserida, com base no ID
# iptables -D FORWARD 1

Bom proveito

Abraços.


terça-feira, 27 de maio de 2014

Como escolher o melhor software Antivírus

Olá Amigos,
para aqueles que estão na dúvida cruel, no momento da renovação da licença ou uma nova aquisição de software antivírus, vou lhes indicar dois sites super importantes, onde você vai poder escolher qual o melhor performático, o mais eficiente, o que protege melhor seu computador e tem melhor análise de falsos positivos.


Segue abaixo a indicação dos sites de duas organizações sem fins lucrativos, que tem como objetivo avaliar e comparar uma série de itens entre as ferramentas: 

  1. http://www.av-comparatives.org/
  2. http://www.av-test.org/en/home/?avtest[type]=0

Façam bom proveito.

Abraços

quarta-feira, 21 de maio de 2014

Configurando as Filas no Asterisk

Configurando as Filas no Asterisk

Agora iremos editar o arquivo queues.conf e conhecer seu funcionamento.
# vim  /etc/asterisk/queues.conf
[general] ; Chave general, configurações gerais
persistentmembers = yes ; se usamos agentes dinámicos suas configurações  estarão no banco de dados do Asterisk. Desta forma se o Asterisk for reiniciado cada agente será colocado na sua fila respectivamente.
keepstats = no ; mantém as estatisticas das filas durante um reload do Asterisk.
autofill = yes ; normalmente uma fila funciona da seguinte maneira. Existem alguns usuarios esperando para ser atendido pelos agentes. Quando o usuario está em primeiro da fila e é atendido o segundo se torna o primeiro da fila e será atendido pelo próximo agente disponível. Este comportamento ignora o fato de que pode haver muitos agentes disponíveis, mas cada usuário vai ter que esperar para se tornar o primeiro na lista para o seu atendimento. Este parâmetro define um outro tipo de comportamento, os usuários serão tratados em paralelo, até que você tenha agentes disponíveis durante o tempo de espera.
monitor-type = MixMonitor ; se vamos gravar as conversações, com esse parametro os arquivos de audio dos canais serão mesclados em um só.
shared_lastcall=yes ; no caso dos agentes pertencerem a mais de uma  fila e o parametro estiver como yes os tempos de espera entre as filas distintas se repeitaram.
[vendas] ; é o nome da fila
musicclass = default ; é classe utilizada para a música de espera
;announce = queue-vendas ; podemos configurar um anuncio para indicar aos agentes (quando atendem uma chamada) a que fila pertenece o usuario que estão atendendo (util para os agentes que atendem mais de uma fila).
strategy = ringall ; é definido o tipo de estratégia que será utilizada pelas filas.
As opções são:
  • Leastrecent: Atribui a chamada para o agente que está a mas tempo sem atender uma chamada
  • Fewestcalls: Atribui a chamada para o agente que menos atendeu chamadas
  • Random: Atribui a chamada aleatóriamente para qualquer agente disponível
  • Ringall: Chama todos os agentes de uma unica vez e os primeiros a escolher é que irão atender as chamadas
  • RRMemory: Distribui as chamdas  entre os agente e lembra o utilimo agente que tentou chamar.
  • Linear: Distribui as chamadas de acordo com as configurações desse arquivo.
  • Wrandom: Atribui a chamada aleatoriamente usando uma métrica baseada em penalidaes
timeout = 15 ; é o tempo em segundos que será passada a próxima chamada para o agente se essa não for considerada contestada pelo mesmo
retry = 5 ; é o tempo em segundos antes de voltar a chamar os agentes
weight=0 ; cada fila pode ter um peso. Filas de maior valor terão prioridade sobre as de menor valor
autopause=no ; Se um agente não responder a uma chamada será colocada em espera
maxlen = 0 ; com este parâmetro define o número máximo de usuários que podem entrar na fila (0 = sem limite)
announce-frequency = 90 ; A cada quantos segundos o usuario será informado em que posição está na fila e o tempo estimado de espera
min-announce-frequency = 15 ; para evitar que cada vez que a posição /e o tempo estimado de um usuario mude a ele se apresente um anuncio, este parametro define o tempo  (em segundos) que se esperará antes de comunicar sua nova posição/tempo estimado
;periodic-announce-frequency=60 ; este parametro representa os segundos que um usuario ouvira um anuncio durante a espera (pode ser algo relacionado a novos produtos da empresa).
announce-holdtime = once ; anunciar junto a posição da fila o tempo estimado de espera. Pode ser yes, no, e once (uma só vez)
announce-position = yes ; periódicamente será anunciado ao usuario da fila sua posição na mesma
announce-round-seconds = 10 ; o tempo estimado de espera será arredondado as dezenas
reportholdtime = yes ; antes do agente atender uma chamada ele será informado do tempo que o usuario ficou na fila de espera
ringinuse = no ; com este parametro como no não se ringam as extensões dos agentes que estão em uso (só protocolo SIP)
Para terminar a configração desta fila definiremos os agentes que fazem parte dela. Podemos fazer de duas maneiras:
· Indicando um agente por linha
· Indicando um grupo de agentes
Um agente por linha:
member => Agent/2001
member => Agent/2002
Um grupo de agentes:
; member => Agent/@1 ; por hora deixamos comentado
Agora que a configuração terminou, salvamos as mudanças no arquivo e adicionamos as seguintes linhas no arquivo extensions.conf para configurar a fila em seu plano de discagem:
nano /etc/asterisk/extensions.conf
No contexto internas colocamos as linhas:
exten => 3000,1,Queue(vendas)
exten => 3000,n,Hangup
Salvamos as mudanças e atualizamos as configurações do Asterisk:
/etc/init.d/asterisk reload
Agora podemos a partir de um softphone se conectar a central e digitar a opção 3000 para ver como funciona a fila de espera.
Abraços,

Fonte: mestreasterisk por Adriano Roncaglia

How To Setup Squid Authenticate with Radius on CentOS 6

In this how to, I assume you already have a setup running FreeRADIUS server. I am going to share how to install and setup Squid 3.1.10 on CentOS 6.4 version. This how to has been tested on Windows 7 and Chrome as a client.
First, we must ensure everything are up to date by running the following commands: -
yum check-update
yum -y update
Next, start installing Squid by running the following command: -
yum -y install squid
Now, add the following auth_param and http_access config below in /etc/squid/squid.conf file after line 6: -
# Radius Authentication
auth_param basic program /usr/lib64/squid/squid_radius_auth -f /etc/squid/squid_radius_auth.conf
auth_param basic children 5
auth_param basic realm My-Squid-Server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl radius-auth proxy_auth REQUIRED
# Allow Radius Authorized Users
http_access allow radius-auth
Next, include the following config below in /etc/squid/squid_radius_auth.conf file: -
# Radius server and secret
server 1.2.3.4
secret my-secret-here
Now, start Squid service and create a system startup links for Squid so it starts automatically whenever the system boots up: -
service squid start
chkconfig squid on
Now you can test the helper, execute and then type your radius username/password on the same line separated with space, on successful authentication it will give “OK” otherwise “ERR login failure”
[leo@srv01 leo]# /usr/lib64/squid/squid_radius_auth -f /etc/squid/squid_radius_auth.conf
mylogin mypassword
OK
Next, setup your favourite web browser to use port 3128. You will be prompted to enter username and password to start web browsing.
Finally, with all the configuration above I hope you are able to use and enjoy your Squid proxy server. Thank you.

Source: wingloon