• 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 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




NEJUG Calendar

Recent Events
    • An Introduction to Domain Driven Design

      Attended: 172
      Thursday September, 13, 2018 06:00 PM

      0

    Today’s enterprise applications are complex, distributed and mission critical. In this session we want to share how the concepts, tools and patterns introduced by Domain Driven Design helped us in enterprise application architecture and design. DDD is invaluable in strategic architectural decision making. DDD was instrumental for us to layout our microservices architecture. We learned to speak DDD and adopted that as our medium of communication to build our team. DDD made our communication with outside teams and integration within the enterprise easier. It made us conscious about implications of enterprise integration at strategic and implementation level.

     

    This presentation will include concepts of strategic and tactical DDD. It is also organized in such a way to encourage discussion rather than follow a strict lecturing mode.

  • Michael Carducci is frequent speaker on a range of advanced topics in the modern application development space. With this NEJUG presentation , he draws on both his serious technical background, as well as his deep experience dealing with software culture. It's going to be a magical event!

    With such a strong set of available talks, it was difficult to choose just one - so we've decided to pick two topics that Michael is most passionate about: The Micronauts Framework, along with The Influential Engineer. 

    Micronaut is a modern, JVM-based, full-stack framework for building modular, easily testable microservice applications. In this session he'll give a solid overview of Micronaut - it's strengths, capabilities and best practices when building & testing services, functions and reactive apps. Even if you don't use Micronaut itself, you'll get a clear understanding about what's possible with a well engineered micro-service framework.

    Being The Influential Engineer is a dream of seasoned professionals, thumb-sucking nubies, and many in between. After pure technical competency, the most important set of skills we have are social. During this part of the meeting, Michael will share with us clear and simple techniques that we can use to effect culture change in our organizations, lead the transition toward a new technology, or simply ask for - and recieve - better tools. How awesome is that!?

     

    More information about these and his many other presentations is available at he No Fluff, Just Stuff web site, at his about the speaker page.

    • NEJUG Annual Business Meeting

      Attended: 20
      Thursday July, 12, 2018 06:00 PM
      Constant Contact Reservoir Place
      1601 Trapelo Road Waltham MA 021451
      0

    Every July, the NEJUG Production Team (formerly known as the NEJUG Advisory Group) gathers to discuss various business items. The meeting is open to all members, as usual, there will be food and drinks. Meeting format, however, will be different. There will be no external/guest speakers, rather, there will be roundtable discussions by NEJUG production team members.

    • K8s - Kubernetes

      Attended: 150
      Thursday June, 14, 2018 06:00 PM
      Constant Contact Reservoir Place
      1601 Trapelo Road Waltham MA 021451
      1

    So you have some code and it is in a bounded context with a REST API. You are on your way to Microservices. Next you wrap it in a container and now it is an image that others can run. Simple. Now what? No service is an island. Your service needs to log information, needs to scale and load balance between its clones. Your service needs environment and metadata way outside its context. What about where the service will run? Who starts it? What monitors its health? What about antifragility? Updates? Networking? Oh my.

    Services live in clusters and clusters live in data centers. There are hybrid solutions that span data centers. Many concepts overlap with the features of cloud management. But don't get too flustered since, fundamentally, services are managed by clusters. There are several approaches to cluster management such as Docker Swarm, Mesos with Marathon and Kubernetes.

    Minikube with Kubernetes is an approachable technique to set up a local cluster that is easy to understand and get started. Whether you have a simple service or a Web application with a set of services, you can develop much of it on Kubernetes with Minikube. We will run some practical examples. Once you understand the mechanics of the tools, we will explore how it works, sort through the terminology and share ideas about practical uses for this technology.

    Afterward you will understand how to run your personal cluster with your Linux, OS X or Windows laptop to further enjoy unravelling the mysteries of running applications in a cluster.