O que são aplicações Servless?

Apesar do termo Servless, significar “sem servidor”, o conceito de aplicação Servless é bem diferente.

Em aplicações Servless, o desenvolvedor cria uma aplicação que atende a eventos, como por exemplo uma request http, enquanto a gestão do Application server, database, container ou VM, fica por conta do provedor de Cloud.

Dessa maneira, o desenvolvedor foca no desenvolvimento da solução, não se preocupando com a infraestrutura. O faturamento também é diferente, pois o provedor de Cloud vai cobrar pelo eventos, do exemplo anterior, pela quantidade de requisições.

Em breve vou postar algumas dicas de como desenvolver, construir, fazer o deploy, manter e ganhos de eficiência de soluções de software construídas com essas modernas tecnologias de cloud.

Por enquanto, listo abaixo alguns dos principais players de cloud e as tecnologias usadas:

Leia também:

Ofertas Gratuitas do Microsoft Azure

Dica bem interessante sobre o Microsoft Azure!

Se você tem uma conta no serviço de Cloud da Microsoft, pode aproveitar algumas opções gratuitas para qualquer tipo de assinatura.

Serviço Oferta
Serviço de Aplicativo Host de 10 aplicações Web ou Mobile
Hub IoT 3000 mensagens por dia, e controle 10 dispositivos IoT
Hub de notificação 1 milhão de push notifications por mês
Azure Active Directory (AD) Até 500.000 objetos no AD e single-sign-on para 10 aplicações por usuário
AD B2C 50.000 usuários para sua aplicação B2C, a aplicação pode ser Web ou Mobile
Rede Virtual 50 redes virtuais
Visual Studio Team Services Até 5 usuários
Application Insights Ilimitado número de Hosts ou Dispositivos
Azure Search 10.000 documentos indexados
Scheduler 3.600 jobs por mês
Log Analytics 500 MB de log para análise por mês

Mais detalhes veja no link https://azure.microsoft.com/en-us/free/pricing-offers/

Leia também:

Download do Orient Me do IBM Connections 6

No post anterior, falei sobre o Connections 6 e a nova homepage, denominada Orient Me, baseada Docker, NodeJs, Redis, MongoDb e Nginx.

A documentação de instalação do Orient Me, no item Installing the IBM Spectrum Conductor for Containers indica que para baixar o arquivo hybridcloud.zip na IBM Fix Central.

Só que a documentação não indica qual item procurar. Conversei com um engenheiro do Connections, e ele me deu a dica.

Você deve procurar por Fixes para o Connections 6.0!!!

Na listagem, você deve baixar o arquivo IC-OrientMe-6.0.0.0.zip (3.05 GB)!!!

Leia também:

Lançamento do Connections 6.0

Em 31 de Março, uma nova versão do IBM Connections foi liberada. Algumas novidades da versão 6.0.

Orient me
Um novo conceito de homepage, onde as pessoas e comunidades mais importantes são apresentadas e priorizando conteúdos mais úteis da rede dos usuários.
Tecnicamente, o Orient Me migra de uma arquitetura baseada em IHS/WAS/DB2, para uma nova arquitetura baseada em Docker Containers (modelo de virtualização), que executam novas tecnologias como NodeJs/Redis/MongoDb/Nginx.
Futuras versões do Connections usarão essas tecnologias e serão atualizadas usando a arquitetura de containers, ao invés de aplicação de Fixpacks, ou migração lado-a-lado.
Enhanced communities
Recursos avançados de personalização de Comunidades fornece aos proprietários da comunidade opções adicionais para personalizar a sua comunidade.
Torna mais fácil organizar as informações e de modo muito mais atraente, dando ao usuário final uma aparência moderna para as comunidades.
Touchpoint
Permite o “onboarding” dos funcionários ao Conecte BB de maneira mais simples. Sugere colegas e comunidades para seguir, a fim de começar a trabalhar de forma mais eficiente.
Sincronização de Arquivos
A versão 6.0 fornece uma interface simples para sincronizar arquivos. Agora, a sincronização de arquivos suporta pastas.

 

Leia também:

Minha Jornada em ser proficiente em JavaScript e Python.

Sempre trabalhei mais com produtos de mercado do que com desenvolvimento, mas sempre procurei conhecer as linguagens utilizadas neste produtos, com o objetivo de solucionar problemas, melhorar integrações e automatizar tarefas.

A algum tempo, tenho investido bastante do meu tempo em JavaScript e Python. Alguns  motivos para isso são:

  • Os principais fornecedores de Cloud (Amazon AWS, Microsoft Azzure, Google Cloud, IBM Bluemix, …) tem serviços baseados nestas linguagens;
  • Produtos como IBM Connections, estão deixando a plataforma Java/IHS/WAS/DB2 e migrando para Javascript/Nginx/Node.JS/MongoDB.
  • Soluções em Analytics e Big Data de mãos dadas com Python.
Três Homens em Conflito ou O Bom, O Mau e o Feio!!!
O Bom O Mau O Feio
JavaScript
  • JavaScript me faz lembrar da aulas de Programação Funcional!!! Idêntico as recursões da linguagem Scheme.
  • JavaScript é uma escolha natural para quem usa APIs baseadas em Json.
  • JavaScript/Node.JS/MongoDB é uma combinação muito poderosa, onde tratamos objetos de apenas uma maneira, isto é, no formato Json.
  • Assincrônia. Saiba o que são funções “blockantes”, para evitar sustos nos resultados do seu código.
  • Fuja dos Callbacks Hells!
Python
  • Python me faz lembrar das aulas de Pascal da faculdade! Uma linguagem simples e sem burocracia. Programar procedural ou orientado à objeto, fica a escolha do programador.
  • Python é um “trator” no que se fala em tratamento de dados.
  • Python 2.7 e Python 3.x gera confusão de qual devo usar.
  • Uso de Json através de bibliotecas.
  • Alguns artigos que li sobre o Python 3, questionam sobre os problemas de performance devido ao novo I/O stack e o suporte a Unicode.

Em ambos as linguagens, tenha noção de:

  • “Para prego use Martelo, para parafuso use Chave de Fenda”, saiba quando utilizar uma linguagem ou outra.
  • Escolha um bom editor, como sugestão Atom, Sublime e Visual Studio Code.
  • Bibliotecas são instaladas com facilidade usando npm/JavaScript ou pip/Python.
  • Aprenda a fazer chamadas via Rest para APIs estamos na era da Economia das APIs.
  • Você precisa utilizar dados JDBC, SAP, Aplicações Legadas, etc. Crie APIs em Java Servlets, e utilize dentro do Javascript e Python usando Rest/HTTP, com isso você reduz a necessidade de instalação de novas bibliotecas.

Nunca deixe de aprender coisas novas e pratique, pratique, pratique.

Leia também:

Migre o seu Domino do AIX/Windows para o Linux

Trabalhei com o IBM Domino em diversas plataformas (AIX/Windows/Linux/zLinux). Em todas o Domino tinham ótima performance e um uptime muito alto.

Mas quais seriam os motivos pra recomendar isso?

Vendo a apresentação “Notes Domino 2016 Roadmap.pptx”, a mesma apresentava como plataformas estratégicas para o Domino o Microsoft Windows Server e RedHat Enterprise Linux (RHEL).

Além dessa questão de estratégia, vejo outros motivos para migrar de AIX/Windows para Linux:

  • Ferramentas DevOps, como shell e puppet, padronizam o ambiente Domino, melhorando a performance, uptime e reduzindo o TCO.
  • SmartCloud usa esta plataforma.
  • Verse On-Premises para Linux, já está disponível para essa plataforma desde Janeiro/2017
  • Traveler na mesma plataforma
  • IBM mail support for Microsoft Outlook (IMSMO) na mesma plataforma
  • Flexibilidade entre a quantidade de Domino Partitions (DPAR) por VM, isto é, melhor uso de recursos ou maior isolamento. Uma DPAR é semelhante a uma instância Oracle,Melhorar o isolamento.

Apesar de atualmente não ser suportado, vejo como futuro o uso de containers Docker para execução do Domino ao invés de Virtual Machines (VM). Sobre Domino em Docker, sugiro dar uma olhada nessa apresentação feita  Matteo Bisi and Daniele Vistalii, e ver o artigo How to Run IBM Domino Server in Docker Container.

Leia também:

Usando as APIs dos produtos IBM Social

Abaixo veja os links de APIs dos produtos da IBM Social

IBM Watson Work Services

IBM Connections

IBM Domino

IBM Traveler

IBM Sametime

IBM Docs

  • IBM Docs JavaScript API
    In order to integrate IBM Docs with third-party systems, a solution has been implemented to enable browser-side integration by releasing one IBM Docs JavaScript SDK and making some public JavaScript APIs available.
  • REST APIs
    IBM Docs provides REST APIs, allowing developers to create third-party applications that integrate editing and viewing capabilities.

Leia também: