Building API ecosystems on top of a stable cloud environment

Lately I’ve been exploring the future of smart computing (social, mobile, and predictive models) and how they relate to enterprise cloud.  In one recent article, I describe why “It’s Time for Enterprise Cloud to Enable the Amazing.” For the enterprise world, cloud computing can create differentiation and promote innovation inside the company. In a second article, I offer “Guidance for Combining Cloud and Social to Enable the Amazing,” providing  insight into why the most important benefit of cloud technology is the ability to move your business to where it has never been before. In this article, I will focus on a final critical component for success: why enterprise businesses must consider building APIs on top of a stable cloud environment to enable these transformative new use cases.

After years of poor software reuse, complex system integration processes, lame and heavyweight protocols and bad service-oriented architecture “patterns,” I think we have finally found an effective way to overcome these problems: APIs. As defined by Kleber Bacili (Sensedia CEO), an API (Application Programming Interface) is “data or business services exposed in the web to other applications. It’s the most popular approach used to allow data exchange between connected devices.” That’s true. This approach completely reinvented Service Oriented Architecture (SOA – and actually, I don’t even like to use this acronym anymore) and is responsible for much of the success of companies like Google, Apple, Twitter and Facebook. Today, these companies handle billions of API requests every single month, and most of the apps we love exist only because of them.

That said, businesses looking to stay competitive in the rapidly changing digital age need to keep two things in mind:

[1] There is absolutely no way for enterprise business to enable these amazing new use cases combining all the critical components of smart computing that will transform their businesses without APIs.

[2] It’s pointless to have an API strategy without a reliable cloud infrastructure strategy supporting it.

Regarding the first statement, using APIs is the best, the easiest, and by far the most effective way to foster innovation. Actually, you can not only gain agility but also outsource innovation. Outsourcing innovation means that by exposing services as APIs, you allow other developers or companies to create innovative software that integrates with your platform. Consider, for example several products and apps that integrate with Facebook or Twitter today. They are only possible because both social networks have several APIs that allow developers to create this ecosystem. Creating a system or application is good, but creating an ecosystem that allows partners, channels, and the developer community to contribute and integrate with your business is amazing. Huge companies such as eBay, Amazon and all social networks have already realized that and they are doing prospering from the new ecosystem. Retail stores, insurance companies and even traditional businesses like banks are planning and executing their roadmap to take advantage of this connected world. By the way, have you ever heard about the “Internet of Things” and “Machine-to-Machine (M2M)?” Although they sound like buzzwords right now, they will undoubtedly play a significant role in our lives in the near future. And guess what: APIs are the foundation that are making these connections and communications happen.

So now, how does cloud computing fit into this scenario? Well, here is a list of benefits and tools that explain why it’s crucial to consider a cloud platform for your API strategy:

  • Scalability: if you are going to create an ecosystem or expose your APIs to the external world, you must be prepared to scale on-demand. The few requests you have right now may become thousands or millions in the next few days. I really like the idea of using Platform-as-a-Service (PaaS) to host the services because it’s more reliable, easier to maintain and less expensive than Infrastructure-as-a-Service (IaaS).

  • Globalization: make sure that you can handle API requests as close, geographically, to the client as possible to avoid latency issues. World-class cloud providers like Google can help address this challenge.

  • Accelerators: there are some really nice tools and libraries that help you to generate APIs and clients that can be used by many devices and programming languages. One of the most exciting and promising technologies in that sense is Google Cloud Endpoints, which simplifies backend services creation for web and mobile clients.

  • Services Composition:  cloud computing can help your API strategy not only in the sense of creating new services, but also by providing you with several different ones that you can use to enhance your application. That includes: geo-localization, language translation/detection, sentiment analysis, authentication, social listening and a variety of other APIs offered by the most popular cloud vendors that are available for your company to use.

For Enterprise businesses to survive the digital disruption, they need to be where their users are, they need to allow them to use the device they want to, and they need to profoundly understand their needs to provide them with the best service possible. In this journey to “enable the amazing” new use cases and services that can transform enterprise businesses, connecting the dots is key to reaching new levels of integration, automation and innovation. Readily available APIs built on top of a stable cloud computing environment are the most important components to make this happen. It has been said, there is no social or analytics without cloud, and there is no mobile without APIs. Well I say, most importantly, there is no transformation without both cloud and APIs.

Google Prediction API: novas possibilidades…

Olá!

Uma das coisas mais bacanas de cloud computing é poder utilizar serviços prontos que são extremamente interessantes. Um desses serviços é o Google Prediction API. Trata-se de um algoritmo de máquina de aprendizado (learning machine algorithm) que pode ser utilizado para fazer predições. Vamos dar uma olha o que é isso na prática.

Quando a Google apresenta esse serviço, ela dá o seguinte exemplo: ela envia um texto em inglês para a API e diz que o texto está em “inglês”. Depois, pega um texto em português e diz que o texto está em “português”. Depois de algumas vezes alimentando o processo, é possível pegar um texto qualquer (em inglês ou português, logicamente) e perguntar para o serviço: em que lingua está esse texto? E ele devolve o resultado correto para vocês.

À primeira vista pode não parecer nada extraordinário, mas é preciso pensar nas possibilidades. Por exemplo: imagina que você está desenvolvendo um site de e-commerce. A cada nova compra, você pode alimentar o mecanismo passando todos os dados do usuário (idade, endereço, sexo etc) e os produtos que ele comprou. Quando um usuário qualquer logar no sistema, será possível perguntar à API quais são os produtos que esse usuário se interessaria em comprar. Outro exemplo pode ser em um sistema de logística. Utilizando os dados da rota e alimentando com os problemas que foram encontrados nessa rota, será possível avaliar os riscos de uma determinada entrega no momento da criação de uma nova rota.

Trazendo esse tipo de possibilidade para o seu consciente, é possível pensar em várias possibilidades para vários sistemas. Formalmente, a Google coloca as seguintes possibilidades:

  • Sistemas de recomendação
  • Detecção de SPAM
  • Análise de sentimento de cliente
  • Oportunidades de marketing, up e cross-selling
  • Decisão de roteamento de mensagens
  • Diagnóstico
  • Classificação automática de documentos e e-mails
  • Identificação de atividades suspeitas
  • Análise de churn
  • Identificação de linguagem
  • etc
Mais informações em: http://code.google.com/apis/predict/
Abraços!