para empresasmaio 18, 2018

WaaS: Novidades de Maio de 2018

Este mês está repleto de novidades, especialmente por dois fatores: as novidades anunciadas no inicio do ano e pela migração da nossa hospedagem. Sim, no início do ano, anunciamos várias novidades interessantíssimas para você e que elas iriam chegar gradualmente. Hoje apresento a última etapa dessas novidades, e as que mais irão impactar no seu negócio!

Backup, Backup e Backup

Estamos aplicando uma nova política de backup que em breve estará nos nossos termos de aceite:

  • Sites institucionais (planos I1, I2): Backups automáticos e sob demanda todas as sextas-feiras as 20:30, da base de dados e do site, os backups ficarão armazenados por 30 dias.
  • Site institucional no plano I3: Backups diários.
  • Sites e-commerce (planos E1, E2, E3): Backups automáticos e sob demanda todos os dias as 18:00, da base de dados e do site, os backups ficarão armazenados por 30 dias. Ah, estamos estudando a opção de colocar backup em tempo real para o plano E3, fique atento!

P.S.: Os backups estão sendo oferecidos para sites hospedados com a Vítor Norton, dentro das próximas semanas entrarei em contato com sites hospedados por terceiros para fazer a migração.

Hospedagem com o Azure App Service

Vish, três termos técnicos em um título só? Sim, mas não entre em pânico, isso significa que o seu site esta hospedado agora em um App Service do Azure e não mais em uma máquina virtual. Existem diversos benefícios, como o controle de acesso, testes, integração com outras plataformas, segurança, disponibilidade e integridade de cada site. Decorri melhor sobre esse assunto em uma das minhas recentes postagens aqui no blog!

Produtos recentemente visualizados

Foi adicionado na página principal do site uma sessão nos sites de e-commerce, onde irá apresentar para os usuários os produtos recentemente visualizados pro ele dentro dos últimos 30 dias, sendo que não será exibido produtos gratuitos, ou fora de estoque nem produtos que já foram comprados. Além disso, se o usuário não fizer login nos últimos 7 dias, o sistema irá enviar um e-mail oferecendo estes produtos para o cliente.

Fila de espera

Uma das opções mais interessantes no e-commerce é para avisar aos consumidores os produtos que saíram de estoque. Durante o último mês adicionamos esta opção para todos os e-commerces. O cliente irá receber por e-mail quando o produto voltar a ter estoque.

Uma nova forma de finalizar as compras

Testes A/B mostraram que páginas de finalização de compras (analises feitas para descobrir que estrutura de finalização de compras funcionam melhor em sites de e-commerce) mostraram que a melhor escolha para uma experiência do usuário aprimorada durante a compra é fazer ela por passos, sendo guiada pelo site. Por isso, durante o último mês trabalhamos para que todos os e-commerces do site tivessem essa estrutura de finalização de compra.

Outras mudanças interessantes

Além de todas as mudanças destacadas algumas menores também chegaram neste mês.

  • Listas de e-mail aprimoradas: Agora todos os clientes que finalizarem uma compra terão o e-mail salvo automaticamente no MailChimp e com todos os dados analisados. Isso também permitirá o MailChimp de entregar estatísticas mais relevantes sobre a vendagem do seu produto.
  • Lembrete de review: As pessoas gostam de ler um review de um produto – não é atoa que vídeos de unboxing fazem muito sucesso! – então a partir deste último mês os usuário que efetuarem uma compra, irão receber um e-mail pedindo para escrever um review sobre o produto, incentivando assim novos comentários.
  • Edição rápida de vários produtos: Utilizando o Bulk Product Editing você pode editar rapidamente vários produtos de uma única vez. Para fazer isso no painel, vá em YITH Plugins > Bulk Product Editing.
  • Histórico do consumidor: Adicionamos no painel administrativo, para e-commerces, a parte chamada de “Customer History” onde você consegue visualizar o histórico de cada cliente na loja. Saber o que cada um está buscando, pelo nome, é importantíssimo para direcionar o marketing!
  • Comprado junto: Agora na página de produto será mostrado uma sessão de produtos que foram comprados juntos nas últimas vendas. Essa função vai melhorando a cada nova compra do site!
  • Combate ao spam: Mais um passo – grande – foi dado no combate ao spam, e agora todos os comentários são filtrados automaticamente para impedir spams de chegarem no seu blog/site/e-commerce!
para empresasmaio 10, 2018

Ontem foi louco: correndo para lançar um serviço enquanto estava no carro indo pra reunião

O título deste textão já diz tudo, ontem foi um dia louco em que eu corri pra lançar um serviço enquanto estava no carro indo para a reunião de apresentação. Como você já deve ter percebido – se você já me segue a um tempo -, eu não bato muito bem da cabeça, não tenho medo de arriscar e definitivamente acredito que a vida é curta demais para viver sem estar em beta.

O que isso significa? Significa estar a uma hora de uma grande apresentação e resolver instalar uma nova versão do Windows que acabou de sair para quem está no Windows Insider. Quais as chances de dar erro, você me pergunta? Muitas. Pra começar o timing, só Deus sabe quanto tempo meu computador vai demorar para atualizar para o novo Windows, e ainda tem o tal do Morphy que criou uma tal lei que fazia o ambiente da padaria, sem bateria e sem internet, ser o ambiente perfeito para dar merda.

Ontem, entretanto, cheguei no ápice. Me orgulho disso? Sim. Deveria? Provavelmente não. Mas no fim deu tudo certo, pareceu uma cena de um filme onde tudo acontece no último minuto. Como é bom esse sentimento. Pra explicar um pouco, deixe-me dar um pouco de background técnico para você.

Eu estou em uma startup chamada Olá Wolff e nela nós estamos construindo um chatbot para facilitar a abertura de empresas. Esse chatbot está ficando cada dia maior e cada vez mais irá crescer, então para que tudo flua bem precisei criar um ambiente/servidores/DevOps que colaborassem para o crescimento exponencial que está por vir.

Isso significa que na última semana eu montei três ambientes para o nosso bot: o ambiente de Produção, de Testes e Apresentação e o ambiente de desenvolvimento. Mais do que isso, a integração contínua destes ambientes e as regras e políticas de negócios para cada um deles. Como o próprio nome diz, o ambiente de testes e apresentação será destinado ao que daqui a pouco vai chegar para o ambiente de produção.

Ok, só pra dar nomes aos bois, ambiente de produção é onde o serviço/aplicativo está. Ele é onde o usuário entra e ali é um lugar sensível e tudo precisa ser feito com precisão cirúrgica pois não queremos que o aplicativo saia do ar nem que haja problemas nele. Esse é o ambiente de produção e não queremos problemas nele, então, antes de chegar um código novo com aquela função hipermega legal, ela precisa passar por um ambiente de testes.

Para o nosso projeto, no Olá Wolff, o ambiente de testes é o mesmo do ambiente de apresentação. É isso mesmo, é o mesmo ambiente que usamos para mostrar o produto para possíveis investidores, para parceiros, para empresas interessadas e até semostrações ao vivo – assim a gente consegue esconder o que estamos desenvolvendo do que você está vendo… Temos sempre uma carta na manga.

Agora que você já entendeu como o projeto está organizado, entenda a minha loucura. Ontem foi o dia da entrega do MVP. Não, não é a entrega do prêmio… Bem que poderia ter um cerimônia do tipo Oscar, mas não é sobre esse MVP que eu estou falando. Estou falando do menor produto viável (ou MVP). Esse MVP chegou para o ambiente de testes e apresentações ontem.

O código estava pronto – em partes, faltava só a publicação dele. 30 minutos antes da mega importante reunião, eu comecei a configurar o ambiente de apresentação (e o Release do Visual Studio Online). Que na verdade foi 10 minutos após terminar de ajustar o ambiente de desenvolvimento. Ótimo, o site do desenvolvimento está rodando, falta agora a beta.

Todas as configurações feitas, estava revisando e encontrei um problema – se eu publica-se ali o banco de dados não funcionaria. Meu telefone toca, o CEO do projeto já está no carro me esperando para ir para a reunião. Peço mais 5 minutos. 5 minutos concedido, iriamos atrasar na reunião. Muda a string de conexão, clica em salva e sai correndo. Ainda não estava pronto.

Chegamos na tal reunião, e eles iriam atrasar um pouco, ufa! Pelo menos vou ter um tempo de finalizar isso daqui. Roteei a internet do meu celular, abri meu computador, comecei a digitar feito um louco, dei merge de duas branches na branche da beta, removi o código que não seria publicado. Liguei para o outro desenvolvedor do projeto e pedi para que ele fizesse isso na branche que ele estava mexendo. 5 minutos e estava tudo ok. Hora de jogar para o servidor. O código chega no VSO, compila sem problema, mas na hora da publicação foi o contrário.

Então, no Visual Studio Online, nós temos algumas releases/publicações, todas elas trabalham somente com um contexto (Enviroment), mas nessa, que é junção de todos os contextos do nosso chatbot (API, Chat, Web e outras coisinhas), nós temos 4 contextos com 2 artefatos vindo de dois repositórios diferentes. Organizar isso não foi fácil em 30 minutos, e é óbvio que iria dar problema na hora da publicação. Dois contextos estavam com problemas. Conserta rápido. A secretária diz que a nossa reunião iria começar em menos de 5 minutos. Clica em Publicar/Release e roga pelo melhor.

A reunião se inicia, o CEO está comentando alguns pontos importantes do nosso serviço. Enquanto isso vejo a notificação no meu celular dizendo que, e eu cito: “A publicação (versão 1.1805.3_prerelease) foi enviada com sucesso para o ambiente beta”. Foi um alívio e ao mesmo tempo não. Toda a publicação foi feita, mas estamos falando de um código novo, com uma publicação feita nessa correria, o medo? De ter quebrado o bot.

Usamos essa expressão no escritório para informar quando a web não consegue conversar com o bot, geralmente é por não ter passado a string de conexão correta para a API ou a API não ter ligado bem com os serviços cognitivos (LUIS + Azure). Não tinha como saber, não havia ainda criado o teste para validar isso.

Chegou a hora de apresentar. Minha vez de falar. Abro o navegador e digito a URL do nosso serviço, e bum! [para efeitos de suspense, segure a leitura por alguns segundos]

Estava funcionando lindamente.

para empresasmaio 03, 2018

Disponibilidade, segurança, praticidade e tudo o que um produto como serviço pode me oferecer

Se você chegou neste texto acreditando que ele irá te ajudar a organizar a sua bagunça, tenho uma notícia não muito boa para você: ele não foi feito com esse intuito. Mas é claro, você pode tirar bons insights da forma como eu organizo tudo o que preciso e como isso agrega aos meus clientes e a mim.

Durante os últimos meses eu precisei criar mecanismos para focar no que realmente importa: entregar um produto de qualidade para os meus clientes. Focar em inovação, criatividade, mas principalmente, estabilidade. Estabilidade para poder evoluir. Como uma empresa de uma pessoa só com várias áreas de atuação: consultoria, desenvolvimento de aplicativos, desenvolvimento de websites para empresas, líder em uma comunidade técnica e que quer desesperadamente ensinar a cada pessoa no planeta a programar, eu necessito de ter estabilidade.

Durante as últimas semanas venho trabalhando em ter essa estabilidade por três pontos:

1 – Organizando as finanças

Um dos pontos mais chatos de lidar: finança. É uma bagunça! Gerir datas, cobranças, formas e meios de pagamento, entre outros fatores é desgastante.

Gerar boleto, cobrar, pagar boleto, datas de vencimento chegando e cadê o pagamento? Clientes que pagam no dia 10, outros no dia 15, outros no dia 30, dia 8, pagamento pelo PagSeguro, pelo GerenciaNet, por depósito, pagamento em dinheiro vivo. Taxas, a quantidade de taxas sendo pagas é de eu não saber mais o quanto está sendo pago em taxas e se estou trabalhando só para pagar elas ou se estou recebendo algo no fim do mês. É uma bagunça!

Outro desafio na finança é a estabilidade de quem trabalha por conta própria – freelancers, precisamos garantir que mês que vem vamos receber um valor que irá pagar pelo que precisamos. O que custa um cliente cancelar o contrato e você ficar na mão? É preciso controlar bem uma reserva, claro! Mas que tal um pouco de estabilidade?

Para organizar essa enorme bagunça e gastar menos tempo pensando em cobranças e pagamentos, e gastar mais tempo pensando em inovação, nos próximos 3 meses estarei trabalhando junto com os meus clientes, para que todos os pagamentos venham de assinatura no cartão de crédito. Estarei pagando mais em taxas, porém terei certeza do pagamento em tempo real, sem precisar ficar cobrando. É mais fácil para mim e é mais fácil para meus clientes. Também optei por receber esse dinheiro só 30 dias após o pagamento, assim eu consigo ter um pouco mais de estabilidade nessa confusão toda.

Para ajudar nesse ponto, não estarei recebendo novos contratos com o plano I2 e o E1 nem permitindo contratos que pagarão somente por boleto ou depósito.

2 – Fazendo tudo o que precisa ser feito

Ok, esse é grande!

Listas. Eu amo listas. Fiz uma lista de tarefas do que precisa ser feito, separei os itens desta lista por diversas categorias, entre elas: Apps, Parcerias, Outsiderz, Para Empresas, Vítor Norton e Olá Wolff. Com isso consegui descobrir que eu tenho 24 vezes mais tarefas para os clientes de website do que qualquer outro projeto/lista. Sabendo disso eu resolvi separar um tempo para fazer cada um destes itens.

Reservei um tempo – alguns dias – somente para fazer esses itens. Gastei toda a minha energia ali, e não brinco em relação a isso, as pessoas que estavam do meu lado não me suportaram pois eu não fui muito socializável enquanto estava focando tudo o que tinha nessas tarefas. Foi algo como descobrir que você tem que fazer um trabalho gigantesco pra entregar no dia seguinte que vale metade da nota do semestre. Você simplesmente senta e faz, sem discussão, você já procrastinou tudo o que poderia. Por sorte nada estava atrasado. Irei compartilhar mais sobre esse trabalho ainda esse mês.

Mas o fato de ter removido uma quantidade gigantesca de tarefas da minha mente me fez ficar louco. Meu estagiário estava comigo quando completei a última tarefa e fiquei por três horas – sem brincadeira, perguntando a ele se tudo estava completo mesmo ou se eu estava ficando louco? Ao completar mais de 200 itens, eu demorei dois ou três dias para encontrar um outro conjunto de tarefas.

Então acabou esse conjunto de tarefas com a lista de tudo o que estava na sua cabeça? Aguarde um pouco que outro conjunto de tarefas irá aparecer e entrarão para a sua lista. São itens que você falou que iria fazer, que planejou, que até começou a fazer, mas por conta da correria do dia a dia e por prioridade em outros projetos acabou sempre ficando para depois. É como uma grande caixa de uma mudança recente, que você abre e guarda tudo no lugar, e quando você pensa que acabou, vê outra caixa maior ainda.

Do lado de cá já estamos na terceira grande caixa de tarefas, e estamos vasculhando a fundo cada item, cada cliente, cada projeto, cada área, para garantir que não exista nada escondido, pendente, aguardando, desenvolvendo. No downtime for Hustle-as-a-Service, é o que eu chamo! A energia exposta nessa missão é igual a de alguém que faz um TCC dois dias antes de entregar o trabalho e ainda tira 10 – se é que me entende. Claro que não estamos correndo, nem fora do prazo, só estamos falando da quantidade de energia gasta, ok?

Excelente história – ou não – mas como isso me auxilia a ficar focado? Simples, em um exemplo que pode ou não ter acontecido comigo, você sai para comprar algo para comer, você precisa de dinheiro então vai no banco e enquanto está indo no banco descobre que a gasolina está baixa e vai no posto, aproveita e faz um checkout do veículo, acaba agendando também o médico que você está adiando a séculos e já que está passando perto da casa da Maria, então porque não entregar aquele livro? Entregou o livro, pegou outro, leu. Voltou pra casa, já é 18 horas e você não almoçou. Foi perda de foco? Sim, totalmente! No fim do dia achei produtivo? Sim. Como ficar produtivo e ainda assim ficar focado? Acabando com essas tarefas pendentes para liberar espaço para novas.

Ainda há itens pontuais nessa lista a serem feitas e ela continua gigante em relação as outras listas, mas foi um começo.

3 – Migrando para um produto como serviço – a parte técnica que todos esperavam

Eu já te disse que eu tenho 24 vezes mais tarefas em relação a sites de clientes do que em qualquer outro projeto? O que me fez perguntar, o que motivou isso. Será que é o número de clientes? Estou esgotado com o meu trabalho? De forma alguma. Muitas destas tarefas são problemas técnicos que precisam de tempo para serem resolvidos, precisam ser pensados, precisam ser testados.

Eu vendo sites como serviço, e a plataforma de hospedagem dos meus sites está em uma máquina virtual. O poder de gerenciamento que eu tenho, de controle, de processamento, é gigante! Mas isso causa alguns problemas, que logo após ter migrado para Serviços de Aplicativos no Azure eu tive a solução imediata, listo alguns:

Atualização de software: Ao contratar uma máquina virtual no Azure eu tenho a certeza de ter os hardwares mais novos do mercado trabalhando comigo. Mas não o software. É preciso instalar novas versões dos serviços do Linux. E instalar essas versões podem ser um problema se não forem suficientemente testadas e você não configurar da forma correta. Apesar de amar o Linux, eu não sou nenhum expert nele e não consigo fazer muito.

Ao ter migrado para serviços de aplicativos no Azure, eu garanti que todas as atualizações do sistema hospedeiro sejam instalados após devidos testes que os maiores especialistas no assunto realizaram. Eu tenho certeza que os sites não irão cair por isso, nem sofreram mal funcionamento devido a uma configuração mal feita da minha parte.

Segurança dos dados: Um segundo ponto para ter migrado todos os sites para esse novo tipo de hospedagem, é que eu não preciso me preocupar com configurações que possam facilitar o acesso de informações sensíveis. Segurança é um ponto crucial para mim, então, de novo, eu estou deixando na mão de especialistas muito mais capazes do que eu. Eu não preciso me preocupar mais com certas configurações, ou ficar na dúvida se algo está ou não funcionando da forma que deveria.

Devidas configurações para o servidor: Agora está tudo configurado certinho, nas boas práticas, com segurança e eficiência. O que isso possibilitou? A resolução de diversas tarefas de forma instantânea somente com essa migração. Coisa simples, como a configuração correta que permite que eu faça uma atualização de um plugin do WordPress, até algo mais complicado, como os e-mails que estavam sendo disparados do servidor chegar sempre nas caixas de spam.

Praticidade: Sabe qual a dificuldade de configurar um site WordPress em um servidor Ubuntu? Baixa, mas é preciso ter um conhecimento do ambiente em que você está, das tecnologias que você está utilizando, e pode ser que no fim, você acabe por destruir o seu servidor se fizer alguma besteira. Hoje eu consigo subir um site WordPress com muito mais facilidade (um clique e bum! Instalado, configurado e atualizado!) – qualquer um vai poder subir um site agora, em produção! Esse é o nível de praticidade que estou falando!

Subir um WordPress como serviço no Azure, me facilita conectar com o banco de dados externamente, de fazer devidos backups – no serviço e na base de dados; de ter o armazenamento de arquivos estáticos – como imagens e vídeos – em outro serviço, de ter acesso mais seguro e organizado pelo FTP além de trabalhar com implementação contínua (Se você está lendo esse texto até aqui é porque interessa nesse assunto e a Implementação Contínua é perfeita para você).

Disponibilidade: Ao utilizar um serviço você garante a disponibilidade do mesmo. Então, graças a isso, se os serviços que eu estou utilizando começarem a alcançar marcas de acesso mais altas – como por exemplo um e-commerce no período da Black Friday – eu tenho a confiança de que o sistema não irá cair e que irá se escalonar para aguentar o tranco.

Ainda sobre disponibilidade, refiz a arquitetura de todos os sites disponibilizados possibilitando inclusive a integridade dos dados. Esse é um assunto para outro post.

Perceba que a forma de criar um site e dar a devida manutenção nele ficou mais fácil assim. E é por isso que nos próximos três meses estarei migrando todos os sites que estão em hospedagem de terceiros para estarem hospedados sobre o mesmo guarda-chuva, eliminando assim gastos do cliente mas principalmente para mim: ter que lidar com o suporte de terceiros, com ambientes que não estou familiarizado nem com tecnologias antigas. Não é esse o foco.

4 – Tudo em um lugar somente

Esse é bem simples, até pela forma como a minha empresa é construída: estamos com tudo na nuvem!

PowerBI: Mas não adianta só ter tudo na nuvem, estamos com dados crescendo a cada dia de forma esporádica, é preciso ter acesso as informações que o Big Data te provê. Ter a possibilidade de ver TODOS os dados em um único lugar, como o PowerBI é genial.

Gerenciamento: Se você me pedir para listar os sites que eu fiz, eu vou gaguejar, vai demorar um tempo pra eu lembrar de todos e eu definitivamente vou esquecer alguns – falando nisso preciso atualizar o portfólio aqui do site. Sites que estão aguardando algo, que estão em desenvolvimento, que estão concluídos. É um desafio manter organizado essas informações e continuar produtivo sem entrar em colapso. Deste então estou reunindo no mesmo lugar tudo.

Assim como a forma de pagamento será alterada, a hospedagem dos sites, nos próximos meses também estarei transferindo todos os domínios de todos os clientes para o mesmo serviço, assim conseguirei manter um controle maior do que está acontecendo e resolver de forma mais prática todos os conflitos. A parte complicada? Fazer isso sem downtime.

Além disso, estamos gerenciando todos os sites de um único portal agora, permitindo automatizar backups do WordPress, atualizar o core, plugins, temas com um clique, além de monitorar tudo o que está acontecendo. Assim eu gastarei 5 minutos em tarefas que levariam horas. E ainda posso automatizar isso!

Conclusão

Sendo uma empresa de uma única pessoa, ter esses quatro pontos alinhados realmente facilitam a minha vida e principalmente permite focar no que realmente importa. Permite viver o momento, tomar decisões melhores, sentir-se seguro do seu trabalho e ter uma garantia maior sobre ele.

Obrigado por ler um texto deste tamanho, espero que tenha sido útil de alguma forma, e se tiver ideias sobre esses pontos, sou todo ouvidos!