Micro Services? what are they? do you use them? where do you deploy them?

Proposed By
Darryl Dieckman
Summary
Microservices seem to be a frequently used buzzword with more than their fair share of Hello World applications. What is your definition of a microservice? What is your experience with microservices? Do you already have experience with microservices but you don't know it? Beats me. I'm pretty clueless. Join the session and we can try to figure out what these are together.
Notes

Introductions... and have you ever written one?

What is the definition of a micro-service?

  • Robert C. Martin coined the term single responsibility principle which states “gather together those things that change for the same reason, and separate those things that change for different reasons.”
  • A microservices architecture takes this same approach and extends it to the loosely coupled services which can be developed, deployed, and maintained independently. Each of these services is responsible for discrete task and can communicate with other services through simple APIs to solve a larger complex business problem.

What could be a micro-service? 

  • Everything is a micro-service 
    • Things like validating a SUNetID to simply two lines of code.
    • A  smaller part of a larger service
    •  “Hello World” - JavaScript

How do you decide what is a micro-service?

  • Start with a monolith and carve out a piece that can be independent, reusable, and loosely coupled
  • Find functionality that has been repeated many times in your organization

How do you access a micro-service?

  • Usually by a REST API, but not necessarily, that just happens to be the most common way.

How are they deployed and managed?

  • Often in a container
  • Often in the cloud
  • Sometimes completely manually 

What does a good micro-service do?

  • one thing very well
  • it should be discoverable and accessible

What might a micro-service consumer do to your micro-service?

  • be evil
  • send data that isn't true (from the consumer's perspective)
  • which is ok,

What is an example of a micro-service

  • Cardinal Key
  • UIT Vault Service
  • DNS
  • Stanford Profiles API

Conclusion

  • They aren’t really a thing, they are just small sharp tools.  You may not even know you have been writing them.

 

Additional Reading:


  1. Isolation or fault-tolerant is one of the most important goals when designing a Microservices. ... Therefore, Microservices is more about architectural and design style, and you may be able to implement a Microservices without RESTful API. However, RESTful API makes it easy to build a loosely coupled MicroservicesRESTful API vs Microservice - Eric Huang - Medium

 

  1. What are the disadvantages of Microservices? The biggest disadvantage of using microservices are of course that there is a higher chance of failure during the communication between the different services. The usage of microservices usually only starts paying off when your application is getting too big to maintain as a monolithic application.Jan 21, 2016 ; https://stackoverflow.com/questions/34903605/microservices-what-are-pros-and-cons/34904942
Year
2019