Instalando o GitLab em um cloud – Integrando equipes de desenvolvimento

Instalando o GitLab

Imagem ilustrativa: Instalando o GitLab

O Gitlab é uma ferramenta que unifica a comunicação entre a equipe, auxilia no gerenciamento de projetos, faz revisão de códigos, versionamento, continuous integration e continuous delivery em uma só plataforma. O projeto “similar” ao github oferece a plataforma, em forma de serviço na nuvem. Mas, também libera  a integração gratuita do sistema, em sua estrutura.

Aqui na DialHost, começamos a utilizar esta ferramenta dentro da nossa estrutura cloud. Ele está sendo utilizado para integrar o desenvolvimento de todos os nossos projetos. Com ele conseguimos organizar o que está sendo feito em cada projeto, definir novas metas de lançamento, além de ter facilitado extremamente no versionamento dos produtos e todos os updates que fazemos. Após um bom tempo de uso chegamos à segurança de falar que vale realmente muito a pena contar com esta plataforma em um ambiente cloud próprio.

Dentre as grandes vantagens em ter o GitLab em sua própria estrutura está…

  • Ter a plataforma gratuitamente e sem limitação de escala pelo sistema.
  • Segurança de ter os dados em seus próprios servidores.
  • Instalação bem fácil, através do bash do seu servidor cloud ou dedicado.

Colocando o GitLab para funcionar

Agora que sabemos o básico sobre a plataforma vamos a parte prática. Instalar o GitLab. Neste exemplo utilizarei o DialCloud + 4GB. O pensamento desta instalação é para uma equipe pequena. Caso necessite de uma estrutura para suportar até 100 usuário, por exemplo, o próprio site do GitLab recomenda que se tenha pelo menos 4GB de memória. Para casos ainda maiores eles deixam uma série de recomendações em sua página de requerimentos do sistema

Então nossa estrutura ficou assim

  • 4 GB de RAM (Os 4 GB são recomendados pois teremos uso do sistema operacional além do utilizado pelo GitLab).
  • 2 vCPUs
  • 40 GB de storage (Lembre-se que o espaço em disco deve ser sempre o suficiente para alocar pelo menos todos os projetos em seu repositório).
Tela de instância para o GitLab

Tela de instância para o GitLab

Agora que minha instância está 100% instalada e configurada é importante pegar sua senha de root e o IP público para fazermos um acesso ao bash. No caso vou utilizar a ferramenta MRemote para o acesso.

Com o MRemote aberto vamos às configurações. Você precisa atentar apenas a parte de conexão e protocolo, sendo que em conexão você colocará os dados referentes ao seu servidor.

Configuração do servidor no MRemote

Configuração do servidor no MRemote

Após configurar o acesso basta conectar ao servidor configurado. Este programa é interessante pois uma vez configurado o acesso não preciso mais ficar me preocupando em gravar senhas e etc. E sempre que você precisar atualizar o GitLab você simplesmente conecta novamente e faz o update.

Alterando os hostnames e definindo pingback

Com o acesso ao servidor precisamos adicionar apenas os comandos que vou explicar abaixo e em poucos minutos  seu gitlab estará funcionando.

O primeiro passo aqui é definir um hostname para o seu servidor. Ele será importante mais pra frente, para não surgir erros na instalação das dependências do gitlab.

Dica: Não é necessário colocar um subdomínio ou domínio apontado para o servidor, apenas um hostname válido. Neste exemplo utilizarei o subdomínio gitlab-blog.dialhost.com.br.

 

Em seguida insira o hostname também no arquivo /etc/hostname, com o conteúdo  gitlab-blog.dialhost.com.br

 

Acesse o arquivo /etc/hosts com o vim (assim como foi feito no comando acima) e insira os valores abaixo:

 

Instalando o Ruby

Como o GitLab é baseado no ruby precisaremos ter a última versão dele rodando em nossa VM. Vamos instalar a versão 2.3.1

 

Instalando o PostGreSQL

Para gerenciar todas as informações do sistema o GitLab utiliza o banco PostGreSQL. Assim, precisaremos instalar e configurar o banco de dados para funcionar na plataforma.

 

Tudo certo… vamos iniciar o serviço

 

Agora vamos criar o usuário e o banco de dados para o gitlab ser instalado corretamente

 

Pronto… o banco de dados está configurado agora vamos a parte que interessa realmente.

Instalando de fato

Agora precisamos instalar as dependências do sistema. Mas não se preocupe isto pode ser facilmente resolvido com o comando

 

A última dependência a ser instalada é o postfix. Esta aplicação é responsável por enviar e-mails de notificação do GitLab. Ela pedirá algumas configurações que seguem abaixo.

Na primeira tela selecione a opção “Internet Site”.

Instalação do servidor de e-mail do GitLab

Selecionando a opção de instalação do servidor de e-mail

Por fim, configure o do hostname responsável por enviar os e-mails que o GitLab utiliza. Coloque o seu domínio para isto. No caso irei cadastrar o domínio gitlab-blog.dialhost.com.br e dar ok.

Cadastro do domínio para o servidor de e-mail

Cadastro do domínio para o servidor de e-mail

O processo demorará menos de um minuto e assim que instaladas as dependências vamos instalar o package do GitLab.

Viu como é fácil instalar… Para finalizar você só precisa dar início ao serviço no servidor e fazer as configurações iniciais. Para isto utilize o comando

 

Finalizada a parte do bash, podemos ir para o browser digitar o endereço apontado para o seu cloud. No caso vou utilizar o IP da minha máquina. Mas, caso você tenha configurado um domínio é possível acessá-lo por ele. Eu fui direcionado a tela abaixo pedindo para resetar a senha inicial da conta de administrador do GitLab(root).

Tela para resetar senha de root do GitLab

Tela para resetar senha de root do GitLab

Coloquei a nova senha desejada e confirmei. Prontinho… agora estou na tela de login onde posso fazer o primeiro acesso ao meu GitLab.

Tela de login do GitLab

Tela de login do GitLab

Como administrador eu posso mudar o nome do meu usuário root e criar novos usuários para toda a equipe. Além disto eu posso definir permissões diferenciadas entre os usuários de forma geral e por projeto. O que facilita para o gerente definir quem cuidará de qual projeto e o que ele poderá fazer em cada projeto.

Integrando as equipes

Ao entrar no GitLab, é possivel ver um painel bem intuitivo e cheio de recursos para cada usuário. Mas ao meu ver, o mais interessante é a capacidade que ele tem de integrar toda a comunicação da equipe de desenvolvimento. Você pode criar Issues que receberão toda a discussão da equipe referente a ela. O versionamento em git é mostrado de forma extremamente intuitiva e a todo momento temos explicações de como agir para comitar, darmos os merge-request e etc.

Então… espero que tenham gostado deste post e que vocês consigam ter melhores resultados ao integrar esta ferramenta a metodologia de desenvolvimento de sua equipe.

DialHost
DialHost

Contamos com nosso DataCenter no Brasil de alta qualidade, estabilidade e confiança para hospedar seu site. Utilize poderosas ferramentas para otimizar o uso do seu serviço e seja sempre atendido de forma rápida e clara pelo nosso atendimento 24h.

Separando sua aplicação do Banco de Dados com instâncias cloud

Instância cloud

Imagem ilustrativa: Separando o banco de dados e aplicação em instâncias cloud  – Freepik

Há algum tempo atrás nós trouxemos para você uma forma avançada de se separar responsabilidades do sistema através do Cluster de banco de dados. Em resumo, esta arquitetura separava seu projeto em instâncias cloud. A ideia é criar um grupo de banco de dados com responsabilidades semelhantes (leitura e escrita) ou não (Só leitura, só escrita) e através de um load balancer podemos balancear a carga de processos em cada servidor.

Hoje explicarei de uma forma mais prática, uma arquitetura que pode encaixar melhor em projetos médios. São comuns exemplos, os mais diversos blogs e lojas virtuais que, apesar de não serem uma americanas, um submarino ou um globo.com, começaram a enfrentar problemas pelo alto fluxo de consultas nos bancos de dados. Estes por sua vez estão trazendo demora ou instabilidade na aplicação web.

Quando fazer a separação em instâncias cloud

Reuni algumas perguntas que você deve se fazer antes de sair contratando ou separando novas instâncias cloud. Afinal, a ideia é otimizar seu sistema mas, não sair separando tudo por mero luxo certo.

  1. Sua aplicação está mais lenta que o normal?
  2. Ela está sofrendo com picos de instabilidade ou até mesmo saindo do ar em determinados momentos do dia?
  3. Durante estes picos e estas demoras, os processos envolvidos são relacionados a uma consulta no banco, ou em salvar algum dado neste?
  4. Ao executar o comando top em seu bash, as estatísticas de uso de recursos estão bem altas e o processo relacionado ao banco de dados está entre os maiores?

Você deve ter percebido que se seu projeto está nesta situação é melhor tomar uma atitude. Então tendo tudo analisado vamos a parte prática.

Mão na massa! Colocando meu Banco de dados em outra instância cloud

Para isto, utilizarei o painel do DialCloud+. Com ele você conseguirá configurar cada instância com os recursos necessários a cada projeto.

Para ilustração deixo este esquema de como funcionará este exemplo de arquitetura. Basicamente estamos deixando seu banco dados dedicado em uma instância com seus recursos próprios.

Banco de dados dedicado em uma instância cloud

Arquitetura com banco de dados dedicado

Com esta imagem em mente, podemos seguir ;).

Abaixo podemos ver que toda a aplicação se encontra em apenas uma instância. Nesta instância temos instalados o SO, o apache, o MySQL, PHP e entre diversas outras aplicações. O caso é que, como citado acima, eu identifiquei que meu banco de dados começou a consumir grande parte da minha memória e acaba por utilizar minhas 4 vCPUs disponíveis o que deixa todo o meu sistema em cheque.

 

instâncias cloud

Tela de instâncias do DialCloud +

É claro que neste exemplo terei de optar por aumentar um pouco meus recursos. Mas, simplesmente aumentá-los não seria suficiente já que isto não evita que meu banco de dados, em um momento de desespero, acabe por utilizar 6vCPUs. Por isto, a ideia aqui é pegar este banco de dados e migrar ele para outro servidor.

Para que seu sistema não fique fora durante todo o tempo da migração e para minimizar todo e qualquer impacto, vamos pegar os novos recursos e montar uma instância de banco de dados mínima. Esta estrutura servirá de base para configurarmos o que virá a ser nosso servidor final.

Nova instância

Tela de nova instância do DialCloud +

Como pode ver montei uma pequena instância com os recursos mínimos para que eu pudesse configurar meu novo servidor de banco de dados.

Migrando meu banco de dados

E ai vem a grande dica! Como agora tenho um servidor que será responsável apenas por receber e responder consultas de banco, posso simplesmente ignorar a instalação de vários módulos e aplicações de servidor que acabam por consumir um pouco do meu processamento e instalar apenas por exemplo o MySQL. Menos recurso para aplicações, mais recurso para o banco.
Ao terminar a instalação da nova instância eu preciso exportar o banco que está em produção e então importar no servidor novo. Apesar de rápido, este é o momento que exige maior atenção, pois terei que colocar meu serviço em manutenção momentânea para que não perca nenhum dado no meio do processo. Afinal enquanto faço isto, meus usuários estariam utilizando meu app.

Outra dica é não fazer isto em um dia ou horário de pico de acesso, assim você terá mais tranquilidade para fazer o processo.

Agora eu preciso fazer minha aplicação comunicar com este novo banco de dados, mas não se preocupe. Com a criação da nova instância minha tela de network mostra uma nova rede interna que foi criada entre estas 2 instâncias cloud. Basta eu pegar o ip interno referente ao servidor de banco de dados e colocar no host das configurações de banco de dados da minha aplicação.

Tela de rede interna no DialCloud +

Tela de rede interna no DialCloud +

Para garantir mais proteção aos meus dados, vou configurar o acesso do ip externo apenas para a instância de aplicação. Faço isso configurando o Port forwarding e no caso do serviço do DialCloud+ libero o acesso externo no firewall (Esta é uma proteção a mais disponibilizada na DialHost gratuitamente) através do Outbound Firewall.

Tela de Port Forwarding no DialCloud +

Tela de Port Forwarding no DialCloud +

Realocando recursos

Tá mas, meu processo que exigia mais recursos tem bem menos recursos. Bem, como eu disse antes, esse era um servidor base para a migração. Agora é só ir nas configurações das instâncias e escalonar os recursos. Assim, você poderá destinar mais para seu banco de dados e menos para sua aplicação.

Concluindo

Esta arquitetura possui uma distribuição mais simples se comparada com a de cluster de dados. Por ser mais simples, ela pode ser mais comum para o dia a dia de diversos projetos. Ainda assim, ela é uma ótima opção pois propicia:

  • Menor custo com recursos de máquina.
  • Melhor distribuição das responsabilidades do servidor o que falicita seu escalonamento.
  • Maior segurança dos dados, já que seu banco de dados não terá acesso por outro lugar que não sua aplicação.
Tenha controle e flexibilidade nos seus recursos com DialCloud +. Servidores em cloud com load balancing, VPN e todo o controle de rede que você precisa. Saiba Mais.

 

DialHost
DialHost

Contamos com nosso DataCenter no Brasil de alta qualidade, estabilidade e confiança para hospedar seu site. Utilize poderosas ferramentas para otimizar o uso do seu serviço e seja sempre atendido de forma rápida e clara pelo nosso atendimento 24h.

Cluster de banco de dados – Eficiência em projetos de grande tráfego

Cluster de banco de dados

imagem ilustrativa

No mês de fevereiro abordamos sobre a mudança de uma hospedagem compartilhada para uma hospedagem cloud e quais fatores devem ser levados em conta para esta decisão. Agora vamos para um assunto mais avançado e focado no desempenho de consultas e escritas em banco de dados. A criação de cluster de banco de dados.

A arquitetura de cluster de banco de dados é formada pela redundância do seu banco de dados em 2 instâncias ou mais instâncias. Estas instâncias, então, são balanceadas de forma a dividir com eficiência a quantidade de requisições ao banco. Mas, vamos por partes. Neste artigo pretendemos mostrar como funciona esta arquitetura.

Cluster de banco de dados

Exemplo 1 – Arquitetura simples de cluster com configuração Master-Master

Camada de Aplicação

A camada de aplicação é a parte que terá contato com o usuário e ela deverá ser inteligente para disparar requisições de escrita e leitura para as instâncias responsáveis por cada ação.

No diagrama exemplificado acima temos uma estrutura mais simples, onde todo o cluster faz leitura e escrita (configuração master-master). Neste caso apenas a camada de load balancing será o suficiente para balancear a carga.  Mas em um projeto de alto fluxo isto ainda pode gerar gargalos de requisição e assim é melhor dividir as responsabilidades ainda mais.

No exemplo abaixo podemos ver uma arquitetura que divide o banco de dados em 4 instâncias, sendo 2 responsáveis por leituras e 2 responsáveis por escrita.

Cluster de banco de dados

Exemplo 2 – Arquitetura dividida de cluster com Load Balancer para banco de leitura e escrita.

Camada Load Balancer

A camada Load Balancer será responsável por receber a requisição da aplicação e balancear a carga de forma efetiva para seus respectivos bancos de dados. No caso do exemplo 1, a aplicação vai simplesmente mandar a requisição e o load balancer vai dividir cada requisição para cada instância de banco de dados sem nenhuma interferência da aplicação.

No exemplo 2, a camada de aplicação irá trabalhar em conjunto com 2 load balancer. Sendo, um dividindo as cargas com os bancos de leitura e o outro com os bancos de escrita.

Assim, a camada Load Balancer será responsável por nunca deixar uma instância de banco de dados sobrecarregada enquanto a outra estiver ociosa. Com isto, seus serviço mantém maior disponibilidade para um momento de alto fluxo de processos.

Aqui na Dialhost, por exemplo, você consegue fazer esta configuração do Load Balancer através do painel de controle do DialCloud +

Camada do cluster de banco de dados

Esta é a camada principal da arquitetura e se não for bem planejada tudo pode ir por água abaixo. A primeira coisa a se pensar é qual o nível de gargalo seu sistema se encontra hoje. Caso seja um gargalo geral de requisições porque seu banco de dados encontra-se todo em apenas uma instância o primeiro exemplo pode ser o suficiente para você. Mesmo tendo uma divisão mais básica onde todas as instâncias leem e escrevem, o fato de ter uma nova instância para dividir a carga de processos já irá equilibrar o uso de recursos.

Vale aqui, analisar o nível de complexidade do sistema em questão. Para um portal com muito conteúdo, como por exemplo globo.com, esta arquitetura do exemplo 1 pode ser ineficiente, dada a quantidade de dados que lidos e inseridos a todo momento.

Após escolher entre o exemplo 1 ou o exemplo 2 é necessário configurar todas as instâncias para que elas mantenham sincronismo de dados. Qualquer falha de sincronismo aqui pode acabar com a estabilidade do seu sistema. Isto porque, um dado inserido no banco da instância X não conseguirá ser lido na instância Z ou Y. A falta de sincronismo na verdade, é um dos grandes contras desta arquitetura.

Finalizando

O cluster de dados se bem montado otimiza bastante as requisições ao seu banco de dados. Mas, como podemos ver ele possui prós e contras em sua utilização.

Prós

  • Melhora a performance de escrita no banco de dados, já que elas podem ser espalhadas em infinitos bancos de dados;
  • Permite que seu sistema escalone em seu cloud sem limitações;
  • Pode ser ainda mais otimizado, disponibilizando bancos somente para leitura e outros para escrita;

Contras

  • A aplicação deve ser inteligente para saber balancear a carga entre as instâncias;
  • Se a sincronização de dados for assíncrona, é possível que os dados estejam fora de sincronia por questões de segundos;
  • Se o banco de dados master (central) falhar, é preciso arrumar-lo para que o cluster volte a funcionar;
Tenha controle e flexibilidade nos seus recursos com DialCloud +. Servidores em cloud com load balancing, VPN e todo o controle de rede que você precisa. Saiba Mais.

 

DialHost
DialHost

Contamos com nosso DataCenter no Brasil de alta qualidade, estabilidade e confiança para hospedar seu site. Utilize poderosas ferramentas para otimizar o uso do seu serviço e seja sempre atendido de forma rápida e clara pelo nosso atendimento 24h.

Será que meu site está precisando de um cloud?

Seu site está precisando de um cloud - Padaria exemplo

Imagem ilustrativa

Os fatores necessários para sair da hospedagem compartilhada e partir uma estrutura cloud envolvem, analisar o crescimento do seu site e uso de recursos. Este é o primeiro assunto que vamos abordar nesta série sobre Cloud computing. Vamos iniciar a abordagem desta tecnologia que chegou há alguns anos e vem tomando conta do mercado web, para diversas soluções.

A utilização de sites em empresas se tornou abrangente ao ponto de você ver aquela boa e velha padaria ter um site para você ver fotos maravilhosas de pães, ver horários de funcionamento e alguma forma de contato com ela. Estes sites conhecidos como sites institucionais, são vastamente atendidos pela hospedagem compartilhada de sites. Este serviço mais, comum pelo custo benefício, traz uma ótima forma de lançar seu negócio online sem pesar o orçamento da empresa.

Este exemplo acima pode ser um pouco básico para uma hospedagem compartilhada que comporta o uso de muitos sites mais complexos como pequenos blogs e pequenas lojas virtuais. Digo pequenas pois uma mesma plataforma pode variar bastante o uso de recursos de acordo com fatores como quantidade de acessos, fluxos de processos do site, Como compras, geração de notas fiscais e etc, que podem consumir o recurso mais limitado de uma hospedagem compartilhada.

Vamos voltar ao nosso exemplo básico da padaria? Esta padaria que até então deixava apenas dados para contatos e imagens estáticas resolve criar mais interação com seu público disponibilizando horários das fornadas dos seus pãezinhos quentes. Ok, até então são apenas dados estáticos e que não influenciaria em muita coisa para mudar para uma estrutura cloud. O fato é que esta simples ação muda suas visitas de uns 200 usuários para 1.200 diariamente.

Com o aumento do volume de visitas a padaria acredita que está na hora de lançar um serviço que facilite a encomenda destes pãezinhos e lança um Delivery online de pãezinhos e itens de padaria para a região onde ela atende. Agora, ela conta com seu site todo em Magento com controle dos preços entregas etc… Com alguns meses investindo em divulgação do novo serviço os antigos 1.200 usuários diários são agora clientes diários e o número de usuários já passa dos 12.000 e ela começa a distribuir para mais de 5 bairros da região.

Opa! Agora começamos a falar de complexidade de processos. Mesmo sendo um modelo de comércio eletrônico teoricamente simples, o volume de processos e usuários que acessam esta padaria já não suportam mais dentro de uma hospedagem compartilhada. O número de interações e serviços que antes eram simples telas estáticas com um telefone e horários do pãozinho, começam a forçar os limites da sua hospedagem compartilhada. E mesmo que ela não seja bloqueada por tráfego seu site começará a cair constantemente por atingir recursos físicos da máquina.

Agora a menos que você esteja disposto a desembolsar em um servidor dedicado, apostar em uma estrutura cloud pode ser uma solução bem mais atrativa. E ai temos uma bifurcação…

Escolhendo o cloud que se adequa ao seu negócio

Se neste momento a nossa padaria já possuir uma equipe de desenvolvimento para gerenciar este cloud ou o projeto já estiver demandando uma divisão de recursos entre instâncias que controlem áreas como: banco de dados, arquivos estáticos e a plataforma em si, seria recomendado entrar com uma solução de cloud computing como o DialCloud +. Entre as grandes vantagens de ir para este modelo cloud estão:

  • Mais recursos que uma hospedagem compartilhada, além destes recursos serem dedicados a sua aplicação;
  • Melhor possibilidade de crescer os recursos com o crescimento do negócio;
  • Melhor flexibilidade e controle dos recursos e instâncias;
  • Acesso remoto direto ao servidor (acesso SSH);

Por outro lado, esta flexibilidade deixa por conta do cliente/desenvolvedor a responsabilidade de realizar configurações e não oferece serviço de e-mail, padrão de uma hospedagem.

Agora para uma solução que mantenha a mesma estrutura que esta padaria tinha, mas que otimize os recursos e o processo do site, existe a opção da Hospedagem Cloud. As grandes vantagens deste modelo são:

  • Mais recursos que uma hospedagem compartilhada, além destes recursos serem dedicados a sua aplicação;
  • Melhor possibilidade de crescer os recursos com o crescimento do negócio;
  • Não é necessário se preocupar com configurações de servidor. Eles já vêm configurados no padrão de uma hospedagem compartilhada;
  • Serviço de e-mails já inclusos

Neste caso você perde um pouco da flexibilidade como o controle de instâncias e o acesso direto a servidor.

Como podemos ver, em termos de recurso as duas opções serão semelhantes, assim tudo vai depender de precisar de mais flexibilidade e controle dos recursos ou ter tudo pré-configurado para simplesmente realocar o site  para um ambiente que tenha mais recursos.

Concluindo

Neste artigo pontuei um exemplo simples de um site institucional que passou por uma mudança simples de interação, cresceu para um e-commerce pequeno e que ao crescer como negócio online precisou sair de uma hospedagem compartilhada para uma solução em cloud computing pois vinha perdendo estabilidade e desempenho devido ao fluxo e complexidade de processos. O mesmo caso ocorre em blogs que crescem em termos de conteúdo e movimento de usuários ou em portais.

Tenha todo o desempenho para o seu site com a Hospedagem Cloud DialHost. Servidores em cloud prontos para receber sites em PHP. Saiba Mais ou veja nossos produtos.

 

DialHost
DialHost

Contamos com nosso DataCenter no Brasil de alta qualidade, estabilidade e confiança para hospedar seu site. Utilize poderosas ferramentas para otimizar o uso do seu serviço e seja sempre atendido de forma rápida e clara pelo nosso atendimento 24h.

Download de todos os anexos e outras novidades no Webmail

Caixa de entrada do Webmail

Tela do Webmail

Alguns dias atrás lançamos nosso novo update com novidades no Webmail DialHost. Ele agora conta com 3 novas funcionalidades para facilitar o gerenciamento dos seus e-mails, baixar anexos e criar novas mensagens.

Escopo de Buscas

Busca com escopo

Busca com escopo

Agora ao utilizar a busca do webmail é possível passar escopos de busca para procurar mensagens apenas na pasta atual, na pasta atual e suas subpastas ou em todas as suas pastas de e-mail. Conte com esta nova funcionalidade e traga mais facilidade para encontrar aquele e-mail que você não lembra mais onde colocou.

Se estiver com alguma dúvida, não esqueça de entrar em nossa wiki para conferir como utilizar este recurso

Download de anexos

Baixar anexo

Baixar anexos

Outra funcionalidade que lançamos é a possibilidade de fazer o download de todos os anexos de uma vez só. Abaixo das mensagens você encontra o botão “Baixar todos os anexos” para fazer o download dos seus anexos em um ZIP.

Se estiver com alguma dúvida, não esqueça de entrar em nossa wiki para conferir como utilizar este recurso

Imagens no corpo da mensagem

Imagens na mensagem

Imagens na mensagem

Por fim, agora é possível adicionar mensagens, do seu computador, no corpo do e-mail com poucos cliques. Assim fica mais fácil compartilhar aquela foto ou imagem com outras pessoas.

Se estiver com alguma dúvida, não esqueça de entrar em nossa wiki para conferir como utilizar este recurso

Estamos trabalhando todos os dias para melhorar nossos serviços e produtos. Procuramos constantemente formas de melhorar a experiência de cada cliente com nossas ferramentas e trazer novas funcionalidades para facilitar o seu dia-a-dia no trabalho. Esperamos que tenham gostado destas novas funcionalidades.

Tenha todo o desempenho para o seu site com a Hospedagem Cloud DialHost. Servidores em cloud prontos para receber sites em PHP. Saiba Mais ou veja nossos produtos.

 

DialHost
DialHost

Contamos com nosso DataCenter no Brasil de alta qualidade, estabilidade e confiança para hospedar seu site. Utilize poderosas ferramentas para otimizar o uso do seu serviço e seja sempre atendido de forma rápida e clara pelo nosso atendimento 24h.