APIs and Microservices in Digital Transformation

API Academy South Africa 2018

Erik Wilde , API Academy, CA Technologies
March 2018

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde : APIs and Microservices in Digital Transformation

Contents

Erik Wilde : APIs and Microservices in Digital Transformation

(2) Summary

Digital Transformation is the main driver behind the trends of APIs and Microservices. Digital Transformation is the motivation and should provide the business foundation of API and Microservices initiatives and activities. This presentation takes a structured look at the "why", "what", and "how" in that space. One important goal is to prevent a "cargo cult" effect around APIs and Microservices.



Introduction

Outline (Introduction)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
Introduction Erik Wilde : APIs and Microservices in Digital Transformation

(4) About Me



Introduction Erik Wilde : APIs and Microservices in Digital Transformation

(5) @dret on Twitter/GitHub

dret

Introduction Erik Wilde : APIs and Microservices in Digital Transformation

(6) API Academy [http://www.apiacademy.co/]

API Academy

Introduction Erik Wilde : APIs and Microservices in Digital Transformation

(7) Microservice Architecture

Microservice Architecture: Aligning Principles, Practices, and Culture

Why? Digital Transformation!

Outline (Why? Digital Transformation!)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
Why? Digital Transformation! Erik Wilde : APIs and Microservices in Digital Transformation

(9) Why Change IT?



Why Digital Transformation?

Outline (Why Digital Transformation?)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
Why Digital Transformation? Erik Wilde : APIs and Microservices in Digital Transformation

(11) From Cost Center to Enabler

  • IT used to be mostly a cost center (electrified bookkeeping)
    • Best case scenario: IT never gets in the way and just works
    • Worst case scenario: IT is expensive, and extremely hard to change
  • IT has become a competitive advantage (out-innovating competitors)
    • Best case scenario: IT enables fast, cheap, and constant innovation
    • Worst case scenario: IT changes do not result in improved competitiveness


Why Digital Transformation? Erik Wilde : APIs and Microservices in Digital Transformation

(12) API as a Product? Products as APIs!

  • Financing API programs can be a challenge
    • API products can help to generate or drive revenue
    • API readiness is a strategic investment in organization fitness
  • API products can be used as internal or external building blocks
    • Start exposing internal APIs as they are needed for building products
    • Product thinking helps with autonomy and velocity
  • Build for change and growth and evolution


Why Digital Transformation? Erik Wilde : APIs and Microservices in Digital Transformation

(13) API Landscape

API Landscape

Why APIs?

Why APIs? Erik Wilde : APIs and Microservices in Digital Transformation

(15) The Wonders of APIs

API Cargo Cult

Why APIs? Erik Wilde : APIs and Microservices in Digital Transformation

(16) Two Perspectives of API Scope/Focus

  • Internal: Using APIs to break up monolithic systems
    • Focus on systems/software engineering and better modularization
    • Turn a system into an ecosystem.
  • External: Using APIs to build up ecosystems
    • Focus on decentralized systems and better connectivity
    • Enable an ecosystem by loosely coupling systems.
  • Both views are complementary and mostly a difference in perspective
    • The internal perspective tends to gravitate towards building a system
    • The external perspective tends to ignore the complexities of decentralization


Why APIs? Erik Wilde : APIs and Microservices in Digital Transformation

(17) APIs Serve a Purpose

Do not try to find the right business model for your APIs; instead, try to find the right APIs for your business model.

Mehdi Medjaoui [http://www.apiacademy.co/team_member/mehdi-medjaoui/]: [http://twitter.com/medjawii]



Why Microservices?

Outline (Why Microservices?)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
Why Microservices? Erik Wilde : APIs and Microservices in Digital Transformation

(19) The Web Works

  • MSA is about service autonomy in service-oriented landscapes
    • Developer autonomy is the freedom to choose the best tools for the job
    • Operations autonomy means that every service is operated standalone
  • MSA is also about effectiveness in autonomy-focused service-oriented landscapes
    • Rapid provisioning means that getting started is an easy task
    • Basic monitoring establishes visibility into service operations
    • Rapid deployment increases the velocity of service landscape evolution


Why Microservices? Erik Wilde : APIs and Microservices in Digital Transformation

(20) The Web, Industrialized

  • MSA applies Web Architecture's loose coupling [http://dret.net/netdret/publications#pau09a] to the API space
    • Build services with no hidden dependencies
    • Choose the best tool for the job
    • Decouple service provisioning from delivery architecture
    • Monitor service state and usage
    • React quickly when customers or market demand change
    • Experiment ruthlessly and keep experimentation cost low
  • MSA is all about being webby while minimizing the cost


Why Microservices? Erik Wilde : APIs and Microservices in Digital Transformation

(21) Microservices Cargo Cult

Microservices Cargo Cult

Why Microservices? Erik Wilde : APIs and Microservices in Digital Transformation

(22) Separating the What from the How

  • Why do organizations use MSA and what are their goals?
  • Microservices are a pattern for achieving API agility/velocity
    • Loosely coupled services to allow services to evolve independently
    • DevOps to allow services to emerge/evolve faster
    • Infrastructure augmentation for management and visibility of services
  • Focus on the what instead of simply choosing a how
    • Many MSA advantages can be realized in non-MSA architectures
    • More architectural discipline may be required to realize long-term gains


What? Platforms!

Outline (What? Platforms!)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
What? Platforms! Erik Wilde : APIs and Microservices in Digital Transformation

(24) The Platform Dilemma



What? Platforms! Erik Wilde : APIs and Microservices in Digital Transformation

(25) Shared Runtime for Services: ESB



What? Platforms! Erik Wilde : APIs and Microservices in Digital Transformation

(26) Principles/Protocols/Practices (P3): The Web Platform



What? Platforms! Erik Wilde : APIs and Microservices in Digital Transformation

(27) ESB Platforms are Monoliths by Design



What? Platforms! Erik Wilde : APIs and Microservices in Digital Transformation

(28) Landscapes are Decentralized by Design



How? MSA!

Outline (How? MSA!)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
How? MSA! Erik Wilde : APIs and Microservices in Digital Transformation

(30) Microservices and the Web



How? MSA! Erik Wilde : APIs and Microservices in Digital Transformation

(31) Jeff Bezos' Services Rant [https://gist.github.com/chitchcock/1281611]: The Rules



How? MSA! Erik Wilde : APIs and Microservices in Digital Transformation

(32) Jeff Bezos' Services Rant: The Consequences [https://plus.google.com/+RipRowan/posts/eVeouesvaVX]



How? MSA! Erik Wilde : APIs and Microservices in Digital Transformation

(33) Never Stop Evolving



Conclusions

Outline (Conclusions)

  1. Introduction [4]
  2. Why? Digital Transformation! [11]
    1. Why Digital Transformation? [3]
    2. Why APIs? [3]
    3. Why Microservices? [4]
  3. What? Platforms! [5]
  4. How? MSA! [4]
  5. Conclusions [2]
Conclusions Erik Wilde : APIs and Microservices in Digital Transformation

(35) Transformation is a Process



Conclusions Erik Wilde : APIs and Microservices in Digital Transformation

(36) Thanks! Q&A

What's Next?

March 2018 API Academy South Africa 2018