• Designing Cloud Native RESTFul Microservices APIs


    Start Time:

    Feb 8, 2018 6:00 PM

    End Time:

    Feb 8, 2018 9:00 PM

    Location:
    Constant Contact Reservoir Place
    1601 Trapelo Road Waltham MA 021451
    1


    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.orgiana.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.

    Speaker Biography

    Rohit Bhardwaj is a Chief 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.

    Rohit loves to connect on http://linkedin.com/in/rohit-bhardwaj-cloud or using Twitter at rbhardwaj1




NEJUG Calendar

Recent Events
    • Kotlin: Beyond the Basics

      Attended: 154
      Thursday August, 08, 2019 06:00 PM
      Microsoft
      5 Wayside Rd Burlington MA 01803
      1

    This talk will examine features of Kotlin at a greater depth than most tutorials. Higher order functions will be covered, as well as reduction operations like reduce and fold, and lambdas with receivers. Those topics progress toward building DSLs and builders in Kotlin. Terms like “apply”, “let”, “use”, “also”, and “with” will be covered along with their typical use cases. Finally, an introduction to Kotlin coroutines will be included.

    Details of the type system, including the Any, Unit, and Nothing classes, will be covered. Examples will be provided on how to define extension functions, infix operators, and inlining functions for efficiency.

  • Java is a language in evolution. There are a handful of language changes in Java 9 and 10 plus several JDK changes in 9, 10, 11, and 12. Some of these changes are significant in that they allow us to do things more effectively than before. The difference can be anywhere from reducing code to avoiding errors that come from verbosity. In this presentation we will explore the language changes first. Then we will visit the additions to the JDK. Along the way we will also look at a few things that have been removed from Java as well.

  • You’ve probably heard of MicroProfile, but how do you go from buzz to production? In this code-heavy, interactive presentation, we’ll describe how to use OpenTracing (http://opentracing.io/) with Jaeger (https://www.jaegertracing.io/)  and annotations in MicroProfile and other Microservice architectures to reliably improve and deploy updated versions your applications to OpenShift and Kubernetes in the cloud.  Topics include best practices for performance analysis, maintaining delivery pipelines using the Linux command line, plus tips on the best free OpenTracing tools and SDKs available on GitHub.

     

    NOTE: This meeting is NOT on our normal "second-Thursday" schedule.

     

  • The popularity of Amazon's Alexa and Google Home has been inspiring both developers and businesses to think about Voice computing. From a banking assistant on your phone to grocery shopping on your TV - it is truly exciting to see how Voice Interfaces could be used. The challenge, however, is that most Voice Apps are fairly limited in what they can do.

    In this talk, Vineet shares experiences from prototyping and building over a dozen Voice Apps. He shows how practical decisions can make implementing great apps easy, reviews existing tools that have been built and talks about Violet (http://helloviolet.ai/) an Open-Source Voice App Framework designed to help developers create Voice Apps. Violet uses an approach inspired by Angular and React to simplify the complexity needed when manually building using other lower-level frameworks, while providing for more flexibility than the drag-and-drop non-technical tools on the market.