SlideShare a Scribd company logo
1 of 20
© 2013 Cloud Technology Partners, Inc. / Confidential
1
© 2013 Cloud Technology Partners, Inc. / Confidential
2
Erik.Sebesta@cloudtp.com / Chief Architect and Technology Officer (CATO) / June 12, 2013
API Design for the New Class of
Cloud Enterprise Applications
© 2013 Cloud Technology Partners, Inc. / Confidential
3
{
“Introduction” : “Enterprise Application Maturity Model”,
“Funding” : “Business Case”,
“Design” : “14 API Best Practices”,
“Usage” : “Facilitating Adoption”,
“Management” : “Governance”,
“Audience” : “Questions?”
}
Get Http://cloudtp.com/agenda/06-12-2013
© 2013 Cloud Technology Partners, Inc. / Confidential
4
Four Stages of Line of Business Application Service Maturity
“Introduction” : “The Enterprise Application Maturity Model”
Current application
spaghetti to cloud spaghetti.
No code changes
④ External Shared Services
Deliver and leverage external
shared services
(Advanced PaaS)
③ Portfolio Refactoring② Application Refactoring① Virtualization
Refactor individual applications
into cloud services. Remediate
known violations in current
code and platform
Consolidate portfolio to take
advantage of internal shared
business and technical cloud
services (Basic PaaS)
© 2013 Cloud Technology Partners, Inc. / Confidential
5
“Funding” : “Business Case”
“IT projects are born if
the pain today or in the future
is greater than
the perceived pain of transition”
Chris Perretta
CIO, State Street Bank
© 2013 Cloud Technology Partners, Inc. / Confidential
6
• High cost, tightly coupled, heterogeneous systems
• Redundant functionality
• Lack of agility to innovate
• Slow time to market
• Rising maintenance costs
• Rising regulatory and compliance costs, multiplied by
– heterogeneous systems
– geographic expansion / local laws
• Falling IT budgets
The Pain Today
© 2013 Cloud Technology Partners, Inc. / Confidential
7
Industry-Specific Core and Cross-Business Commodity Shared Services
The Future
To get appropriate attention and funding, successful API programs start
with creating customer or partner focused external shared services.
April 30, 2013
Source: John Musser, Programmable Web
http://blog.programmableweb.com/2012/05/23/which-
apis-are-handling-billions-of-requests-per-day/
© 2013 Cloud Technology Partners, Inc. / Confidential
8
• Be a pessimist – assume everything fails and design backwards.
Love your chaos monkey.
• Put your eggs in multiple baskets – leverage multiple
providers, geographic regions and availability zones to
accommodate for local availability issues. Design for portability.
• Think efficiency - inefficient designs will not scale. Efficient
designs become cheaper as they scale.
• Be paranoid – design for defense in depth and zero tolerance by
building in security at every level and between every component.
Trust no one.
• But not too paranoid – not every application needs the
platinum solution. Architect for different SLA’s, service tiers and
security levels
“Design” : “14 API Best Practices” Part 1/3
© 2013 Cloud Technology Partners, Inc. / Confidential
9
• Divide and conquer - pursue data partitioning and
parallelization wherever possible. Make components as small
and portable as possible including multiple small database
instantiations per services package. Use load balancing
between layers
• Think elasticity - increasing resources should result in a
proportional increase in performance and scalability.
Decreasing resources should have the same effect.
• Hands Off - leverage automation to increase
consistency, quality and reduce response times
• Be dynamic - enable dynamic configuration changes like
autoscaling, failure recovery and resource discovery to adapt to
changing environments, faults and workload volumes
“Design” : “14 API Best Practices” Part 2/3
© 2013 Cloud Technology Partners, Inc. / Confidential
10
• Stay close – reduce latency by moving highly interactive
components and data near each other.
• Don’t talk too much – design service granularity to
minimize chatty network traffic
• Keep it loose - loose coupling, service interfaces, separation
of concerns, abstraction and well defined API’s deliver
flexibility
• Dress for success – separate UI services from functional
services. Provide custom look and feel for popular device
displays
• Be cost aware – autoscaling, data transmission, virtual
software licenses, reserved instances, etc. can rapidly increase
your monthly charges. Monitor your usage closely.
“Design” : “14 API Best Practices” Part 3/3
© 2013 Cloud Technology Partners, Inc. / Confidential
11
Patterns in Successful APIs and API Programs
“Usage” : “Facilitating Adoption”
• Clear API ownership and strong internal evangelism
• Early and consistent vision, strategy, business cases and metrics
• Usage and security policies designed up front. I.e. Content level authorization
• Compelling differentiated API
• Dedicated transformational support staff
– APIs designed for adoption. Easily found by developer community
– Frequent engagement with the developer community
– Clear API documentation to facilitate proper use, avoid misuse
– Easy process to receive feedback to iterate quickly
– Full cloud service development lifecycle (Cloud SDLC) operational support
• Dynamically scalable underlying PaaS and IaaS
Includes some content from: Apigee
http://www.slideshare.net/apigee/10-patterns-in-successful-api-programs-2-8081076
© 2013 Cloud Technology Partners, Inc. / Confidential
12
Provide Great Developer Experience (DX)
Source: John Musser, Programmable Web
http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2
Plus proactive marketing to potential early adopters, SLAs for service
packages and product-level engineering support
© 2013 Cloud Technology Partners, Inc. / Confidential
13
“Management” : “Governance”
Source: John Musser, Programmable Web http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2
© 2013 Cloud Technology Partners, Inc. / Confidential
14
Governance must also recognize and reward
“Management” : “Governance”
Internal teams and partners who create highly valuable shared services
• Public praise
• Compensation commensurate with value created
Internal teams, customers, and partners who reuse shared services
• Praise for adoption by internal business units
• Incentives for adoption by internal business units
• Incentives for adoption by customers and partners
© 2013 Cloud Technology Partners, Inc. / Confidential
15
“Audience” : “Questions?”
Erik.Sebesta@cloudtp.com / Chief Architect and Technology Officer (CATO) / June 12, 2013
© 2013 Cloud Technology Partners, Inc. / Confidential
16
Appendix
© 2013 Cloud Technology Partners, Inc. / Confidential
17
Netflix Blog
http://techblog.netflix.com/
What Makes a Great Open API; John Musser, Programmable Web
http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2
Designing Beautiful REST and JSON APIs; Les Hazlewood, StormPath
http://www.slideshare.net/stormpath/rest-jsonapis?from_search=12
Developer Support Handbook; Pamela Fox, Google
http://developer-support-handbook.appspot.com/intro.html
Suggested Resources for More Details
Great APIs to Emulate list from: Apigee
http://www.slideshare.net/apigee/10-patterns-in-successful-api-programs-2-8081076
© 2013 Cloud Technology Partners, Inc. / Confidential
18
API Protocols
REST vs. SOAP
REST is easier to understand and code against. Less plumbing. Faster
innovation. Http protocol is more portable. SOAP hosted over TCP or pipes
protocols may not translate well between vendor stacks.
© 2013 Cloud Technology Partners, Inc. / Confidential
19
XML= Red, JSON= Blue
XML vs. JSON
Data from Google Trends, June 4, 2013, Internet and Telecom category
© 2013 Cloud Technology Partners, Inc. / Confidential
20

More Related Content

What's hot

Cloud Foundry Overview for GITPRO 2013
Cloud Foundry Overview for GITPRO 2013Cloud Foundry Overview for GITPRO 2013
Cloud Foundry Overview for GITPRO 2013Adam FitzGerald
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMatt McLarty
 
Microservices Best Practices
Microservices Best Practices Microservices Best Practices
Microservices Best Practices MuleSoft
 
5 Steps to Developing Push-based Apps in the Age of Connected Devices
5 Steps to Developing Push-based Apps in the Age of Connected Devices5 Steps to Developing Push-based Apps in the Age of Connected Devices
5 Steps to Developing Push-based Apps in the Age of Connected DevicesVMware Tanzu
 
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerHighly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerVMware Tanzu
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftMuleSoft
 
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons LearnedCloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons LearnedVMware Tanzu
 
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityThe Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityMuleSoft
 
Code to Cloud: Three Trends for Faster, Safer Continuous Delivery
Code to Cloud: Three Trends for Faster, Safer Continuous DeliveryCode to Cloud: Three Trends for Faster, Safer Continuous Delivery
Code to Cloud: Three Trends for Faster, Safer Continuous DeliveryVMware Tanzu
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining MicroservicesMatt McLarty
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...MuleSoft
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionMatt McLarty
 
Spring Cloud on Kubernetes
Spring Cloud on KubernetesSpring Cloud on Kubernetes
Spring Cloud on KubernetesVMware Tanzu
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationMuleSoft
 
PaaS for App Dev and Deployment
PaaS for App Dev and DeploymentPaaS for App Dev and Deployment
PaaS for App Dev and DeploymentProgress
 
Deloitte & Mulesoft : The Right Mix
Deloitte & Mulesoft : The Right MixDeloitte & Mulesoft : The Right Mix
Deloitte & Mulesoft : The Right MixDavid Graham
 
Anypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric worldAnypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric worldKen Ng
 
Cloud Native Runtime Platform
Cloud Native Runtime Platform Cloud Native Runtime Platform
Cloud Native Runtime Platform VMware Tanzu
 
Modern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyModern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyDevOps Indonesia
 

What's hot (20)

Cloud Foundry Overview for GITPRO 2013
Cloud Foundry Overview for GITPRO 2013Cloud Foundry Overview for GITPRO 2013
Cloud Foundry Overview for GITPRO 2013
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo Presentation
 
Microservices Best Practices
Microservices Best Practices Microservices Best Practices
Microservices Best Practices
 
5 Steps to Developing Push-based Apps in the Age of Connected Devices
5 Steps to Developing Push-based Apps in the Age of Connected Devices5 Steps to Developing Push-based Apps in the Age of Connected Devices
5 Steps to Developing Push-based Apps in the Age of Connected Devices
 
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerHighly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
 
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons LearnedCloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
 
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led ConnectivityThe Payer of the Future: Modernizing Health Insurance with API-led Connectivity
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
 
Code to Cloud: Three Trends for Faster, Safer Continuous Delivery
Code to Cloud: Three Trends for Faster, Safer Continuous DeliveryCode to Cloud: Three Trends for Faster, Safer Continuous Delivery
Code to Cloud: Three Trends for Faster, Safer Continuous Delivery
 
Defining Microservices
Defining MicroservicesDefining Microservices
Defining Microservices
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
 
Spring Cloud on Kubernetes
Spring Cloud on KubernetesSpring Cloud on Kubernetes
Spring Cloud on Kubernetes
 
How API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy ModernizationHow API Enablement Drives Legacy Modernization
How API Enablement Drives Legacy Modernization
 
PaaS for App Dev and Deployment
PaaS for App Dev and DeploymentPaaS for App Dev and Deployment
PaaS for App Dev and Deployment
 
Deloitte & Mulesoft : The Right Mix
Deloitte & Mulesoft : The Right MixDeloitte & Mulesoft : The Right Mix
Deloitte & Mulesoft : The Right Mix
 
Anypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric worldAnypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric world
 
Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service
 
Cloud Native Runtime Platform
Cloud Native Runtime Platform Cloud Native Runtime Platform
Cloud Native Runtime Platform
 
Modern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyModern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API Friendly
 

Viewers also liked

Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...Amazon Web Services
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce Developers
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentationsflynn073
 
API Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceAPI Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceCapgemini
 
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...CA Technologies
 

Viewers also liked (9)

Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
Getting Started with Serverless Architectures - August 2016 Monthly Webinar S...
 
Why API Management is Not Enough
Why API Management is Not EnoughWhy API Management is Not Enough
Why API Management is Not Enough
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Deep-Dive: Secure API Management
Deep-Dive: Secure API ManagementDeep-Dive: Secure API Management
Deep-Dive: Secure API Management
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinar
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
 
API Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceAPI Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation Experience
 
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...
Pre-Con Ed: CA Live API Creator: How to Create, Deploy, Secure and Scale an E...
 
API Management and Kubernetes
API Management and KubernetesAPI Management and Kubernetes
API Management and Kubernetes
 

Similar to Cloud service api design rules presentation

HP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudHP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudBart Blommaerts
 
Value of Enterprise DevOps
Value of Enterprise DevOpsValue of Enterprise DevOps
Value of Enterprise DevOpsMike Kavis
 
CloudExpo NY 2014: Moving Mission Critical Applications to the Cloud
CloudExpo NY 2014: Moving Mission Critical Applications to the CloudCloudExpo NY 2014: Moving Mission Critical Applications to the Cloud
CloudExpo NY 2014: Moving Mission Critical Applications to the CloudKacy Clarke
 
Implementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsImplementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsTechWell
 
Becomming a cloud governance ninja linthicum interop fall 2013
Becomming a cloud governance ninja linthicum interop fall 2013Becomming a cloud governance ninja linthicum interop fall 2013
Becomming a cloud governance ninja linthicum interop fall 2013David Linthicum
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native ApplicationsHTS Hosting
 
From Workspace Empowering Employees
From Workspace Empowering EmployeesFrom Workspace Empowering Employees
From Workspace Empowering EmployeesCapgemini
 
Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013David Linthicum
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationesebeus
 
PaaS in the Real World
PaaS in the Real WorldPaaS in the Real World
PaaS in the Real WorldAngie Hirata
 
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfImprove_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfمنیزہ ہاشمی
 
Applying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationApplying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationKacy Clarke
 
Accelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneAccelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneBenjamin Grubin
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experienceEric Cattoir
 
The Many Faces of PaaS
The Many Faces of PaaSThe Many Faces of PaaS
The Many Faces of PaaSMike Kavis
 
IRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET Journal
 
Developing applications for the cloud
Developing applications for the cloudDeveloping applications for the cloud
Developing applications for the cloudBart Blommaerts
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1David Linthicum
 

Similar to Cloud service api design rules presentation (20)

HP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudHP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloud
 
Value of Enterprise DevOps
Value of Enterprise DevOpsValue of Enterprise DevOps
Value of Enterprise DevOps
 
CloudExpo NY 2014: Moving Mission Critical Applications to the Cloud
CloudExpo NY 2014: Moving Mission Critical Applications to the CloudCloudExpo NY 2014: Moving Mission Critical Applications to the Cloud
CloudExpo NY 2014: Moving Mission Critical Applications to the Cloud
 
Implementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsImplementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile Projects
 
Becomming a cloud governance ninja linthicum interop fall 2013
Becomming a cloud governance ninja linthicum interop fall 2013Becomming a cloud governance ninja linthicum interop fall 2013
Becomming a cloud governance ninja linthicum interop fall 2013
 
Cloud Customer Architecture for Hybrid Integration
Cloud Customer Architecture for Hybrid IntegrationCloud Customer Architecture for Hybrid Integration
Cloud Customer Architecture for Hybrid Integration
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
 
From Workspace Empowering Employees
From Workspace Empowering EmployeesFrom Workspace Empowering Employees
From Workspace Empowering Employees
 
Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentation
 
Cloud Customer Architecture for API Management
Cloud Customer Architecture for API ManagementCloud Customer Architecture for API Management
Cloud Customer Architecture for API Management
 
PaaS in the Real World
PaaS in the Real WorldPaaS in the Real World
PaaS in the Real World
 
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfImprove_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
 
Applying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migrationApplying systems thinking to AWS enterprise application migration
Applying systems thinking to AWS enterprise application migration
 
Accelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneAccelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLane
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
The Many Faces of PaaS
The Many Faces of PaaSThe Many Faces of PaaS
The Many Faces of PaaS
 
IRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud ServicesIRJET- Proficient Business Solutions through Cloud Services
IRJET- Proficient Business Solutions through Cloud Services
 
Developing applications for the cloud
Developing applications for the cloudDeveloping applications for the cloud
Developing applications for the cloud
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Cloud service api design rules presentation

  • 1. © 2013 Cloud Technology Partners, Inc. / Confidential 1
  • 2. © 2013 Cloud Technology Partners, Inc. / Confidential 2 Erik.Sebesta@cloudtp.com / Chief Architect and Technology Officer (CATO) / June 12, 2013 API Design for the New Class of Cloud Enterprise Applications
  • 3. © 2013 Cloud Technology Partners, Inc. / Confidential 3 { “Introduction” : “Enterprise Application Maturity Model”, “Funding” : “Business Case”, “Design” : “14 API Best Practices”, “Usage” : “Facilitating Adoption”, “Management” : “Governance”, “Audience” : “Questions?” } Get Http://cloudtp.com/agenda/06-12-2013
  • 4. © 2013 Cloud Technology Partners, Inc. / Confidential 4 Four Stages of Line of Business Application Service Maturity “Introduction” : “The Enterprise Application Maturity Model” Current application spaghetti to cloud spaghetti. No code changes ④ External Shared Services Deliver and leverage external shared services (Advanced PaaS) ③ Portfolio Refactoring② Application Refactoring① Virtualization Refactor individual applications into cloud services. Remediate known violations in current code and platform Consolidate portfolio to take advantage of internal shared business and technical cloud services (Basic PaaS)
  • 5. © 2013 Cloud Technology Partners, Inc. / Confidential 5 “Funding” : “Business Case” “IT projects are born if the pain today or in the future is greater than the perceived pain of transition” Chris Perretta CIO, State Street Bank
  • 6. © 2013 Cloud Technology Partners, Inc. / Confidential 6 • High cost, tightly coupled, heterogeneous systems • Redundant functionality • Lack of agility to innovate • Slow time to market • Rising maintenance costs • Rising regulatory and compliance costs, multiplied by – heterogeneous systems – geographic expansion / local laws • Falling IT budgets The Pain Today
  • 7. © 2013 Cloud Technology Partners, Inc. / Confidential 7 Industry-Specific Core and Cross-Business Commodity Shared Services The Future To get appropriate attention and funding, successful API programs start with creating customer or partner focused external shared services. April 30, 2013 Source: John Musser, Programmable Web http://blog.programmableweb.com/2012/05/23/which- apis-are-handling-billions-of-requests-per-day/
  • 8. © 2013 Cloud Technology Partners, Inc. / Confidential 8 • Be a pessimist – assume everything fails and design backwards. Love your chaos monkey. • Put your eggs in multiple baskets – leverage multiple providers, geographic regions and availability zones to accommodate for local availability issues. Design for portability. • Think efficiency - inefficient designs will not scale. Efficient designs become cheaper as they scale. • Be paranoid – design for defense in depth and zero tolerance by building in security at every level and between every component. Trust no one. • But not too paranoid – not every application needs the platinum solution. Architect for different SLA’s, service tiers and security levels “Design” : “14 API Best Practices” Part 1/3
  • 9. © 2013 Cloud Technology Partners, Inc. / Confidential 9 • Divide and conquer - pursue data partitioning and parallelization wherever possible. Make components as small and portable as possible including multiple small database instantiations per services package. Use load balancing between layers • Think elasticity - increasing resources should result in a proportional increase in performance and scalability. Decreasing resources should have the same effect. • Hands Off - leverage automation to increase consistency, quality and reduce response times • Be dynamic - enable dynamic configuration changes like autoscaling, failure recovery and resource discovery to adapt to changing environments, faults and workload volumes “Design” : “14 API Best Practices” Part 2/3
  • 10. © 2013 Cloud Technology Partners, Inc. / Confidential 10 • Stay close – reduce latency by moving highly interactive components and data near each other. • Don’t talk too much – design service granularity to minimize chatty network traffic • Keep it loose - loose coupling, service interfaces, separation of concerns, abstraction and well defined API’s deliver flexibility • Dress for success – separate UI services from functional services. Provide custom look and feel for popular device displays • Be cost aware – autoscaling, data transmission, virtual software licenses, reserved instances, etc. can rapidly increase your monthly charges. Monitor your usage closely. “Design” : “14 API Best Practices” Part 3/3
  • 11. © 2013 Cloud Technology Partners, Inc. / Confidential 11 Patterns in Successful APIs and API Programs “Usage” : “Facilitating Adoption” • Clear API ownership and strong internal evangelism • Early and consistent vision, strategy, business cases and metrics • Usage and security policies designed up front. I.e. Content level authorization • Compelling differentiated API • Dedicated transformational support staff – APIs designed for adoption. Easily found by developer community – Frequent engagement with the developer community – Clear API documentation to facilitate proper use, avoid misuse – Easy process to receive feedback to iterate quickly – Full cloud service development lifecycle (Cloud SDLC) operational support • Dynamically scalable underlying PaaS and IaaS Includes some content from: Apigee http://www.slideshare.net/apigee/10-patterns-in-successful-api-programs-2-8081076
  • 12. © 2013 Cloud Technology Partners, Inc. / Confidential 12 Provide Great Developer Experience (DX) Source: John Musser, Programmable Web http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2 Plus proactive marketing to potential early adopters, SLAs for service packages and product-level engineering support
  • 13. © 2013 Cloud Technology Partners, Inc. / Confidential 13 “Management” : “Governance” Source: John Musser, Programmable Web http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2
  • 14. © 2013 Cloud Technology Partners, Inc. / Confidential 14 Governance must also recognize and reward “Management” : “Governance” Internal teams and partners who create highly valuable shared services • Public praise • Compensation commensurate with value created Internal teams, customers, and partners who reuse shared services • Praise for adoption by internal business units • Incentives for adoption by internal business units • Incentives for adoption by customers and partners
  • 15. © 2013 Cloud Technology Partners, Inc. / Confidential 15 “Audience” : “Questions?” Erik.Sebesta@cloudtp.com / Chief Architect and Technology Officer (CATO) / June 12, 2013
  • 16. © 2013 Cloud Technology Partners, Inc. / Confidential 16 Appendix
  • 17. © 2013 Cloud Technology Partners, Inc. / Confidential 17 Netflix Blog http://techblog.netflix.com/ What Makes a Great Open API; John Musser, Programmable Web http://www.slideshare.net/jmusser/what-makes-a-great-open-api?from_search=2 Designing Beautiful REST and JSON APIs; Les Hazlewood, StormPath http://www.slideshare.net/stormpath/rest-jsonapis?from_search=12 Developer Support Handbook; Pamela Fox, Google http://developer-support-handbook.appspot.com/intro.html Suggested Resources for More Details Great APIs to Emulate list from: Apigee http://www.slideshare.net/apigee/10-patterns-in-successful-api-programs-2-8081076
  • 18. © 2013 Cloud Technology Partners, Inc. / Confidential 18 API Protocols REST vs. SOAP REST is easier to understand and code against. Less plumbing. Faster innovation. Http protocol is more portable. SOAP hosted over TCP or pipes protocols may not translate well between vendor stacks.
  • 19. © 2013 Cloud Technology Partners, Inc. / Confidential 19 XML= Red, JSON= Blue XML vs. JSON Data from Google Trends, June 4, 2013, Internet and Telecom category
  • 20. © 2013 Cloud Technology Partners, Inc. / Confidential 20

Editor's Notes

  1. Be a pessimist – assume everything fails and design backwards. Love your chaos monkey Graceful error handling and retry logic is a must! Make your applications/APIs robust! (sorry for the rhyme.)Expect and handle scenarios like “what if this disk my application is writing to suddenly wasn’t there?”… or is writing to disk even necessary? Maybe a form of cloud storage is a better option.Put your eggs in multiple baskets – leverage multiple providers, geographic regions and availability zones to accommodate for local availability issues. Design for portabilityFor portability between clouds, design your apps/APIs to be loosely coupled. At a minimum, interactions with proprietary cloud APIs implementations should be wrapped and injected. As a developer this is necessary so when your boss wants you to migrate an API to a different platform (or support multiple cloud providers) you can actually pull it off.“What’s that? I need to migrate my service’s caching layer to use a different distributed cache? No problem! I properly decoupled the layers of my application so I can easily swap in an implementation that makes use of the new platform’s cache API.”Think efficiency - inefficient designs will not scale. Efficient designs become cheaper as they scale. Also, inefficient designs cost more money to run in the cloud because they consume more resources, and are therefore more likely to force elastic scale out to occur sooner. It is more important than ever for developers to pay attention to following best-practice with regards to memory and resource management in code.But not too paranoid – not every application needs the platinum solution. Architect for different SLA’s, service tiers and security levels(The above point ties back to your slides regarding maturity model: Ideally, as an organization, your first foray into cloud application development should not be with an application that requires a “platinum solution”. Walk before you run.)
  2. Divide and conquer - pursue data partitioning and parallelization wherever possible. Make components as small and portable as possible including multiple small database instantiations per services package. Use load balancing between layersSmall portable components can help get better utilization of instance resources because you can more densefaster startup times when scaling out new component instancesThink elasticity - increasing resources should result in a proportional increase in performance and scalability. Decreasing resources should have the same effect. Stateless services are important here. Stateless services scale easier, and applications not originally developed with cloud in mind can have trouble effectively maintaining state across elastically scaling instances/environments.
  3. Keep it loose - loose coupling, service interfaces, separation of concerns, abstraction and well defined API’s deliver flexibilityFrom a developers perspective, this may be the most key point. SOA may be turning into a four letter word nowadays, but following these good practices will reap benefits in the cloud. For devs, this is still where a lot of the magic happens. It helps enable many of the other bullet points in this list.
  4. Discuss Service Bus & Service Registries
  5. why REST is winning the battle for API supremacy:Easy to understand and code against  Faster innovate, and faster to market. Less time with plumbing.Http protocol  No proprietary protocols means more portable(Although SOAP service stacks support Http, SOAP services are also often hosted over TCP or pipes protocols that don’t always translate well between vendor stacks. HTTP is well known to all.)