Arquitetos especializados em adaptação para SaaS.

Estamos nos aproximando do momento em que as empresas se tornarão conjuntos de serviços de software independentes, unidos por coalizões de pessoas que cumprem promessas digitais. Você está preparado?

A mudança para o modelo de SaaS é motivada por razões tanto empresariais quanto tecnológicas. Do ponto de vista dos negócios, as empresas de software estão interessadas em obter receitas recorrentes estáveis em vez de investir em pesquisa e desenvolvimento inicialmente e depender da compra ou atualização dos clientes posteriormente.
Do ponto de vista da tecnologia, os clientes de software frequentemente não possuem o conhecimento nem os meios necessários para manter a infraestrutura exigida para operar um produto de software complexo, como um banco de dados distribuído. Em troca de pagamentos regulares, o desenvolvedor assume a responsabilidade de operar e manter o software para o cliente.
De forma evidente, a adoção do modelo SaaS é altamente vantajosa para a empresa que produz um banco de dados distribuído. No entanto, caso a sua empresa não esteja diretamente relacionada à área de software, mas atue na fabricação, logística, seguros ou outro serviço de negócios, a aplicação de SaaS também se mostra benéfica. Isso é o que se chama de SaaSificação.
A fronteira entre software e serviços de negócios tem se tornado cada vez mais difusa. Empresas como Uber, Grubhub e Amazon são vistas como empresas de tecnologia, mesmo oferecendo serviços semelhantes a empresas como Yellow Cab, Domino e Walmart, que também possuem presença online. Por outro lado, a maioria das empresas de serviços de negócios não são consideradas empresas de tecnologia, embora possam utilizar software para entregar seus serviços.
Tradicionalmente, as empresas costumam se ver como consumidoras ou fornecedoras de tecnologias e serviços, mas é possível que sejam ambas. Embora haja muita pesquisa sobre esse novo cenário em desenvolvimento, ele ainda está se consolidando. Até o momento, não existe um mercado estabelecido para empresas adquirirem serviços além dos relacionados à tecnologia da informação, como é o caso do AWS Marketplace. As tentativas de criar esse mercado ao longo das décadas têm sido desafiadoras. Portanto, ainda é possível se posicionar à frente dessa mudança.
Mesmo que uma empresa não se concentre em vender sua experiência interna para outras empresas como um serviço, a SaaSification oferece vantagens. A capacidade de testar novas ideias, introduzir novos serviços e falhar rapidamente é crucial para o sucesso de empresas como Uber e Grubhub. Para lançar, falhar ou ter sucesso rapidamente, é essencial que a mudança seja fácil. A evolução pode ser rápida e simples se as capacidades de negócio forem encapsuladas como microsserviços que se auto-escalaram, nativos na nuvem e geridos através da automação de processos de negócios e impulsionados por um modelo devops.
Transformando-se em um serviço de software como serviço tanto interna quanto externamente.
As empresas devem considerar transformar seus sistemas internos em serviços, mesmo que esses serviços não sejam direcionados para os clientes. Essa reestruturação permite que a empresa possa oferecer seus serviços internos para o público externo ou até mesmo substituir um serviço interno por um prestado por terceiros. Para aproveitar ao máximo essa ideia, a empresa precisa migrar para a automação de processos de negócios em vez de adotar o gerenciamento tradicional de processos. Em essência, isso implica que, com base em determinadas condições no sistema, as pessoas tomem ações de maneira consistente, repetível e documentada.
A distinção entre o gerenciamento convencional de processos e a automação de processos de negócios pode ser comparada à diferença entre uma empresa de táxis e a Uber. Em uma empresa de táxi, um despachante direciona os motoristas sobre quem pegar, onde e quando. Já na Uber, basta solicitar um passeio e o aplicativo se encarrega de informar a um motorista a sua localização. Neste caso, o despachante é substituído por um software.
Um autêntico serviço de software como serviço (SaaS) não só deve ser uma inovação tecnológica, mas também uma inovação em automação. Em um cenário ideal, não há necessidade de intervenção humana de despachantes ou gerentes nas operações diárias, apenas processos de negócios baseados em algoritmos e indivíduos tomando decisões. Essa automação não implica na exclusão dos seres humanos do processo.
Significa entender as políticas e práticas de uma empresa e transformá-las em procedimentos operacionais por meio de um sistema de gestão integrado, com apoio de decisões baseadas em dados e com um sistema de consciência situacional integrado.
Empresas que realizam essa transição são naturalmente mais valiosas. O valor de uma empresa inclui seu preço teórico em uma fusão ou aquisição, mas essas transações são arriscadas, com a maioria não atingindo suas expectativas. Segundo a Harvard Business Review, de 70% a 90% das fusões e aquisições falham. A transparência dos sistemas e gestão da empresa adquirida, juntamente com um plano claro de integração, são fundamentais para o sucesso de uma aquisição. Empresas que combinam serviços e algoritmos de processos de negócios devem ser mais fáceis de fundir.
As empresas que adotam o modelo SaaS também devem ser mais flexíveis para se ajustar às demandas do mercado. Por exemplo, se um serviço interno não estiver atendendo às expectativas ou se um concorrente estiver oferecendo algo melhor, é possível otimizar ou substituir esse serviço por uma opção de terceiros. Da mesma forma, se um serviço interno, como a logística, estiver se destacando, pode ser oferecido a terceiros, possivelmente por meio de uma simples chamada de API.
Qual é o impacto da SaaSification na área de Tecnologia da Informação?
A transição para modelos baseados em SaaS traz desafios distintos para as empresas de tecnologia da informação. Prestar um serviço demanda uma abordagem diferente da gestão tradicional de TI e do controle de acesso. Com uma demanda que flutua, é essencial garantir a confiabilidade contínua do serviço, mesmo diante das mudanças.
Para realizar essa transição, é necessário identificar e desacoplar os serviços. Cada serviço precisa operar com uma qualidade de serviço claramente definida em relação à eficiência e confiabilidade. É essencial que cada serviço seja capaz de se adaptar e crescer, pois as exigências e a procura certamente irão variar. Por fim, essa mudança possivelmente implica não apenas a migração para a nuvem, mas também a adoção de novas tecnologias em áreas que vão desde autenticação de usuários até gerenciamento de bancos de dados.
Considere um cenário comum no departamento de TI, que possui um servidor Active Directory (AD) e várias instâncias de bancos de dados, como Oracle, MySQL, MariaDB e SQL Server, que suportam diversos aplicativos. Essas aplicações, ou possíveis serviços futuros, dependem de software cliente-servidor que tem limitações de escalabilidade e redundância. Dependendo do banco de dados SQL em uso, é possível migrar para um banco de dados SQL distribuído compatível, como o Azure AD da Microsoft, embora a migração nem sempre seja simples.
Essa mudança costuma ser uma oportunidade para simplificar e integrar serviços. Em vez de ter várias instâncias do AD para diferentes áreas da empresa ou diversas bases de dados separadas, muitas vezes é mais vantajoso unir dados e sistemas relacionados. Por exemplo, o inventário pode estar armazenado em um banco de dados Oracle, enquanto o serviço de preços ou catálogo pode estar em MariaDB. Pode haver uma instância do AD para o oeste e outra para o leste. No entanto, manter essa divisão ao migrar para serviços pode não ser a melhor opção, especialmente na nuvem. É mais prático administrar, manter e proteger menos sistemas e dados.
Quando se trata do teste de carga, não basta apenas atender às demandas atuais e futuras projetadas. Agora, os serviços precisam seguir um padrão de escalabilidade, mantendo-se o mais linear possível e reduzindo a capacidade e custo quando a demanda diminui. Essa capacidade de escala garante que os serviços e negócios possam crescer juntos, proporcionando mais flexibilidade para oferecer novos produtos e serviços aos clientes.
Por fim, os serviços devem ser capazes de ser localizados e movidos globalmente. Isso implica que o serviço e seus dados devem ter a capacidade de abranger várias regiões. A expansão para diferentes regiões pode ser feita através da replicação de regiões cruzadas. No entanto, para empresas com presença global, a capacidade de abranger diversas regiões demanda independência na nuvem, uma vez que nenhum provedor de serviços em nuvem é perfeito em todas as regiões do globo.
Possuímos o conhecimento técnico.
A boa notícia é que a tecnologia necessária para isso já está disponível. A maior parte dessas funcionalidades pode ser alcançada utilizando recipientes, Kubernetes, computação em nuvem e bancos de dados distribuídos. No entanto, será preciso adotar uma mentalidade e cultura diferentes. A arquitetura de serviços baseada na nuvem deve ser considerada como padrão para todos os projetos e operações de TI. Esses serviços devem atender aos requisitos para a SaaSificação, incluindo escalabilidade para cima, para baixo e global. Em muitos casos, é necessário integrar e acoplar serviços centrais, como segurança e bancos de dados, para torná-los mais sustentáveis.
As empresas devem priorizar a abordagem de serviços e processos em vez de hierarquias, integrando a tecnologia de forma abrangente em todos os aspectos do negócio. É crucial que tanto profissionais de TI quanto de negócios adotem uma mentalidade voltada para a modularização de serviços nativos em nuvem, abrangendo diferentes áreas como sistemas específicos do setor, sistemas de engajamento, registros, bancos de dados e segurança. A adoção das inovações tecnológicas recentes é importante, mas a mudança de mentalidade é ainda mais essencial.