SlideShare a Scribd company logo
API-led DesignMichael Petychakis, The APILama
@mpetyx.
API Athens Meetup: Foss Edition
Why? Avoid fail. Move fast.
What are APIs?
• When we talk about APIs we are talking about “Web” APIs.
• Bits of logic that encapsulate the data they operate on and provide an interface
as the only way to access their functionality.
API-led design means:
1. Starting the solution design process with APIs and
2. Crafting APIs rather than throwing them up.
Back up a bit
API rock-stars
• Increase Agility
• Consume rather than build.
• New business models
• Self-service IT
• Composable Enterprise
• Mobile enablement
• Parallel development
• Governance & Control
Why APIs?
What is Design?
• ‘Making things better for people' - Richard Seymour, Design Council 2002
• Design is a work process which has a user perspective and drives development based on
your specific customers’ needs
Who is the API Customer?
Developers? The Business? Both?
Back up a bit more
We all like good design
Good design:
1. Is innovative
2. Makes a product useful
3. Is aesthetic
4. Makes a product
understandable
5. Is unobtrusive
1. Is honest
2. Is long-lasting
3. Is thorough down to the last
detail
4. Is environmentally friendly(?)
5. Is as little design as possible
10 Commandments of good design
- Dieter Rams. Design legend.
• Alignment between Business, Stakeholders & IT
• APIs are crafted in response to a customer need rather than generated from a developers
code (hide your complexity).
• Quicker and cheaper to make change during design phase.
• Once it’s code it takes longer (even if you have great DevOps)
• Allows engagement with Customers in the creation of the API.
• Prototyping.
• Enables parallel development of front-end and back-end.
• Self-documenting.
Why lead with API Design?
•Typically code your web services and pull them up into an API
specification.
•Focus is on the service developer not on the API consumer.
•Result is an API that shows all of the complexity in your
codebase and domain.
•Result is nasty APIs. Poor engagement. Fail.
What’s the alternative?
5 steps:
1. Create high-level domain model (get the language right).
2. Model the state (get the actions right).
3. Create the API outline in an API specification language.
4. Verify that the specification conforms to domain. Update if needed.
5. Flesh out the specification with low-level “developer” detail.
API Design methodology
• Avoid dumping the whole Domain into the API.
• Avoid “Fat” APIs that cover too many Domains
 eg. /flights, /employees, /invoices all in the one API
 Fat APIs change too frequently. Favour multiple smaller APIs with
fewer owners.
• Avoid inconsistent naming
 eg. resourcename not resourceName, resource-name, resource_name.
 eg. passenger, pax, customer, cust – pick one. “Ubiquitous language”
API Design anti-patterns
12
• RAML stands for RESTful API Modeling Language.
• Based on YAML, so if you like tabs….
• Open specification created by MuleSoft
• Alternatives: Swagger, API Blueprint, WADL(?)…etc
• Mule Anypoint API Designer (free) has great RAML editor.
• Can mock out API once specified.
• Can generate code (eg. JAX-RS, Go) from RAML.
• Generates excellent documentation with live interaction.
RAML
•API-led design isn’t about adding roadblocks.
•It’s about crafting something that will have value.
Conclusion
First Steps
What’s Docker?
• API to provide lightweight containers
• Opensource platform
• Run process isolated in the same host
• It helps to deploy, ship, test, etc. in a fast way
How it works
How it works
How it works
• Dockerfile: set of instructions to build a docker image. Every instructions
creates a new layer and it is assigned to a hash, like a git commit
• Docker Hub: Central repository where docker images are stored
Docker is NOT a Virtual Machine
Docker vs. Virtual Machines
Virtual Machine
Docker vs. Virtual Machines
Docker containers
Advantages
• High level abstraction for containers
• Fast to create images
• Fast to deploy
• Reduce time between development and deployment
• Possible to have several environments isolated in the same host
Example
So… Docker is AWESOME!!!!!!!!!
Well… Not that awesome…
Disadvantages
• Networking limitations
• No support for IPv6
• Uses NAT
• Insecure (Trust Docker Hub)
• No support for old kernels
• Not easy to debug
And more… http://www.boycottdocker.org
Docker in Production
Tools
• CoreOS, RancherOS, boot2docker
• Kubernetes
• Docker Machine
• Docker Compose
• Kitematic
Questions?
Thank you!
Michael Petychakis
@mpetyx
hello@apilama.com
http://apilama.com/

More Related Content

Recently uploaded

Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 

Recently uploaded (20)

Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

API Athens Meetup - Foss Edition

  • 1. API-led DesignMichael Petychakis, The APILama @mpetyx. API Athens Meetup: Foss Edition
  • 2. Why? Avoid fail. Move fast.
  • 3. What are APIs? • When we talk about APIs we are talking about “Web” APIs. • Bits of logic that encapsulate the data they operate on and provide an interface as the only way to access their functionality. API-led design means: 1. Starting the solution design process with APIs and 2. Crafting APIs rather than throwing them up. Back up a bit
  • 5. • Increase Agility • Consume rather than build. • New business models • Self-service IT • Composable Enterprise • Mobile enablement • Parallel development • Governance & Control Why APIs?
  • 6. What is Design? • ‘Making things better for people' - Richard Seymour, Design Council 2002 • Design is a work process which has a user perspective and drives development based on your specific customers’ needs Who is the API Customer? Developers? The Business? Both? Back up a bit more
  • 7. We all like good design
  • 8. Good design: 1. Is innovative 2. Makes a product useful 3. Is aesthetic 4. Makes a product understandable 5. Is unobtrusive 1. Is honest 2. Is long-lasting 3. Is thorough down to the last detail 4. Is environmentally friendly(?) 5. Is as little design as possible 10 Commandments of good design - Dieter Rams. Design legend.
  • 9. • Alignment between Business, Stakeholders & IT • APIs are crafted in response to a customer need rather than generated from a developers code (hide your complexity). • Quicker and cheaper to make change during design phase. • Once it’s code it takes longer (even if you have great DevOps) • Allows engagement with Customers in the creation of the API. • Prototyping. • Enables parallel development of front-end and back-end. • Self-documenting. Why lead with API Design?
  • 10. •Typically code your web services and pull them up into an API specification. •Focus is on the service developer not on the API consumer. •Result is an API that shows all of the complexity in your codebase and domain. •Result is nasty APIs. Poor engagement. Fail. What’s the alternative?
  • 11. 5 steps: 1. Create high-level domain model (get the language right). 2. Model the state (get the actions right). 3. Create the API outline in an API specification language. 4. Verify that the specification conforms to domain. Update if needed. 5. Flesh out the specification with low-level “developer” detail. API Design methodology
  • 12. • Avoid dumping the whole Domain into the API. • Avoid “Fat” APIs that cover too many Domains  eg. /flights, /employees, /invoices all in the one API  Fat APIs change too frequently. Favour multiple smaller APIs with fewer owners. • Avoid inconsistent naming  eg. resourcename not resourceName, resource-name, resource_name.  eg. passenger, pax, customer, cust – pick one. “Ubiquitous language” API Design anti-patterns 12
  • 13. • RAML stands for RESTful API Modeling Language. • Based on YAML, so if you like tabs…. • Open specification created by MuleSoft • Alternatives: Swagger, API Blueprint, WADL(?)…etc • Mule Anypoint API Designer (free) has great RAML editor. • Can mock out API once specified. • Can generate code (eg. JAX-RS, Go) from RAML. • Generates excellent documentation with live interaction. RAML
  • 14. •API-led design isn’t about adding roadblocks. •It’s about crafting something that will have value. Conclusion
  • 16. What’s Docker? • API to provide lightweight containers • Opensource platform • Run process isolated in the same host • It helps to deploy, ship, test, etc. in a fast way
  • 19. How it works • Dockerfile: set of instructions to build a docker image. Every instructions creates a new layer and it is assigned to a hash, like a git commit • Docker Hub: Central repository where docker images are stored
  • 20. Docker is NOT a Virtual Machine
  • 21. Docker vs. Virtual Machines Virtual Machine
  • 22. Docker vs. Virtual Machines Docker containers
  • 23. Advantages • High level abstraction for containers • Fast to create images • Fast to deploy • Reduce time between development and deployment • Possible to have several environments isolated in the same host
  • 25. So… Docker is AWESOME!!!!!!!!!
  • 26. Well… Not that awesome…
  • 27. Disadvantages • Networking limitations • No support for IPv6 • Uses NAT • Insecure (Trust Docker Hub) • No support for old kernels • Not easy to debug And more… http://www.boycottdocker.org
  • 29. Tools • CoreOS, RancherOS, boot2docker • Kubernetes • Docker Machine • Docker Compose • Kitematic

Editor's Notes

  1. Salesforce released APIs to enable partners to extend the capabilities of their platform and now generates half of their annual revenue through those APIs.
  2. 6. Is Honest : doesn’t do unexpected things. Behaves as expected. 10. As little design as possible. Don’t throw meta-models and over-cooked concepts into API.