Consulting


Are you currently working with microservice APIs, or planning to adopt microservice APIs? If you'd like to have guidance at any stage of your microservice APIs journey, you can arrange a consulting session with Jose Haro Peralta.

A consulting session is tailored to your specific needs and use cases, and it can cover any number of topics related to microservice APIs, including the use of API technologies, API designs, testing and validation, and cloud solutions. If you work with Python, we can also evaluate your use of Python libraries and frameworks, implementation patterns, and best practices. We can also cover microservice API security, authorization, and authentication. Below is a more detailed breakdown of the modules we usually offer in a consulting engagement:

  1. Evaluation of API designs and technologies
    In this module, we evaluate which API technologies you're currently using or planning to use, and whether your API designs are optimized for your technology of choice. Are you using documentation standards to design your APIs? Are your schemas useful for data validation? Are they too flexible and full of optional parameters? The result of this module is to evaluate whether you're using the right API technology, or whether you'd benefit from changes in the technology that you're using or how you use it.
  2. Evaluation of API development workflows
    Are you API-first, implementation-first, or something in the middle? We assess your current API development workflow, API documentation practices, and implementation strategy. We focus on both the client and the server implementation strategy. The result of this module is to either confirm that you're using the right documentation standards and the most optimal API development workflow for your requirements, or to recommend changes that will improve your development process.
  3. Evaluation of API testing and validation strategies
    Are you testing your APIs? If so, how? Do you have unit tests and integration tests? Are you using API testing automation frameworks like Dredd and schemathesis? Do you use property-based testing? Do you test the API layer in isolation? What about the client? How do you ensure the client will integrate seamlessly with the API? Do you use mock data, mock servers, or something similar? How do you generate your mock data and servers? The goal of this module is to ensure that you're using an effective and up to date testing strategy for your APIs to make sure they're reliable in production.
  4. Evaluation of service implementation patterns and use of Python frameworks
    Which frameworks are you using and how do you use them? Are you using frameworks that can generate documentation from code? Are your validation models correctly implemented? What's your software and application architecture? Do you have clearly differentiated boundaries? Do you have loosely coupled layers? Which patterns are you using? This is a Python specific module, and its goal is to ensure you're using the best Python frameworks to build microservice APIs, and to ensure that you're using them correctly. We also aim to ensure that you have a clean and maintainable code base, and where applicable we'll recommend the adoption of software design patterns that will make your software more robust.
  5. Evaluation of API authentication and authorization
    If there's one thing you must get right in your API implementation, that's authorization and authentication. The smallest vulnerability in this area can make your services an easy target for hackers. We'll evaluate your authentication solution and which authorization protocols you're using, and how you're using them. We'll then evaluate whether your current solution is adequate for your needs, and if not, we'll recommend changes.
  6. API change management
    How do you manage changes to your API? Are your changes backwards-compatible? Do you maintain various versions of your API running at the same time? How do you deprecate old versions of the API? How do you coordinate the release of a new major version of the API with the client applications?
  7. Evaluation of infrastructure, operations, and deployments solution
    There're many different ways to deploy microservices, including serverless, Kubernetes, Heroku, and many others. The point of this module is to ensure that you're using the most efficient way to deploy microservices given your setup, and that the deployment is done correctly and following best practices.
  8. Evaluation of API logging, alerting, tracing, monitoring, and visibility
    Are you logging everything into a central, visible place? Do you have monitors and alerts on those logs? When something goes wrong, do you have instant visibility of it? Are you tracing distributed transactions - can you follow the journey of a request across different services and see what, when, and how it went wrong? Do you have API visibility? Can you catch API breaking changes from your traffic?
  9. Evaluation of Continuous Integration (CI) and Continuous Delivery (CD) practices
    Do you use Continuous Integration and Continuous Delivery to release your APIs? Do you test and validate your APIs in the CI server before releasing them? Do you test them again after deployment and roll back automatically if something goes wrong? The goal of this module is to ensure that you follow best practices in Continuous Integration and Continuous Delivery to make sure your microservice APIs are reliable and that you can release them often.

Every engagement begins with a review of requirements, where we analyze your requirements and decide what we want to focus on during the engagement. Based on this analysis, we agree on a program and decide the expected duration of the engagement.

You can choose which modules you want to get, and we can customise them to your needs and preferences. Each module takes between 1 and 3 days to complete, depending on the scope and the methodology. A module can consist of a combination of analysis, lectures, and katas. The standard price of a one-day engagement is $3,500 for engagements of two weeks or less, but there're discounts for longer engagements. Please contact us for more information.


Offline Office Hours


Got a specific question about microservices, APIs, or Python? You can book a 1 hour consultation to discuss your needs with Jose Haro Peralta. The price of a 1 hour consultation is $700. Click here to arrange the consultation: https://calendly.com/joseharoperalta/offline-office-hours

You can book as many hours as you need. Payment by credit card. Payment by invoice available from $3,500.


Learn more about my consulting services on microapis.io