Feb 8, 2018 6:00 PMEnd Time:
Feb 8, 2018 9:00 PMLocation:
Constant Contact Reservoir Place
1601 Trapelo Road Waltham MA 021451
Speaker: Rohit Bhardwaj
Ten steps methodology for designing superior Cloud Native RESTFul Microservices APIs
In most of the Monolithic applications business objects and data, model designs are already present. As part of moving to cloud, companies miss out of the use-cases the REST APIs need to support. Implementing cloud solutions on top of existing models may lead to performance issues with APIs and cause scalability issues. Clients need to rewrite code due to a new version of APIs.
In this talk, we will explore ten steps methodology for designing superior Cloud Native RESTFul Microservices APIs. Firstly, define the business domain objects and how they relate to use cases. If the use-case is to support <500 ms response time and availability of 99.99%, design the application for Consistency, Availability, and Partition tolerant. Next, Create an ideal design which solves the use-cases, refer to the industry standard JSONs and designs from schema.org, iana.org, and microformats.org. Later, find the fail points in the process and go back to the first step to resolving the pain points: Go back to Define the problem. Question to ask is what can go wrong? When can it go wrong? Next, create Facade pattern to connect to either existing Monolithic App or create a new App to support the new cloud use-cases. Create API Gateway, so other companies can build software and create more offerings. Next, design common Layers for error handling, logs, and security. For API security, perform Threat Modeling to find security vulnerabilities and plan for mitigation of risks. Use generic authentication using SAML, OAuth, and JWT to support Authentication and Authorization. Next, create API Versioning strategy so that the REST API can evolve with minimal client changes. Apply Cloud Native design patterns for Resiliency. In the end, test APIs using contract driven testing and PACT files.
Rohit Bhardwaj is a Principal Cloud Architect/Consultant expert with extensive experience in architecting multi-tenant cloud-native solutions for enterprise customers. Rohit has proven ability in designing solutions and executing and delivering transformational programs that reduce costs and increase efficiencies. As a trusted advisor, leader and collaborator Rohit applies problem resolution, analytical, and operational skills to all initiatives. Recognized for developing strategic requirement and solution analysis through all stages of the project lifecycle, as well as product readiness to execution.
Recently, Rohit has developed solutions for lambda architecture solutions using Apache Spark, Cassandra, and Camel for real-time analytics and integration projects. Rohit excel in designing scalable cloud microservice architectures using Spring Boot and Netflix OSS technologies using AWS and Google clouds. As a Security Ninja, Rohit looks for ways to resolve application security vulnerabilities using ethical hacking and threat modeling. Rohit is excited about architecting cloud technologies using Dockers, REDIS, NGINX, RightScale, RabbitMQ, Apigee, Azul Zing, Actuate BIRT reporting, Chef, Splunk, Rest-Assured, SoapUI, Dynatrace, and EnterpriseDB.
Rohit has done MBA from Babson College in Corporate Entrepreneurship. Rohit did his Masters in Computer Science from Boston University and Harvard University. Rohit is a regular speaker at No Fluff Just Stuff, UberConf, RichWeb, GIDS and other international conferences. Recently Rohit created Microservices architecture pattern group for discussing latest solutions/issues with microservices implementations. https://www.linkedin.com/groups/12090057
Rohit loves to connect on http://linkedin.com/in/rohit-bhardwaj-cloud or using Twitter at rbhardwaj1