Debug School

Rajesh Kumar
Rajesh Kumar

Posted on

What is Microsercies?

  • What is Microsercies?
  • List of Principals of Microsercies?
  • List of Microsercies Models?
  • Top 20 Actions Items to miograte into Microsercies
  • Top 15 tools for Microsercies Implementations?
  • List of Communication Methods and Protocols in Microsercies

Note

  • Please use few images to explain a concept in detailed way.
  • Please write answer in your own word.

Top comments (16)

Collapse
 
durgamun_424 profile image
Durga Prasad M

What is Microsercies?
Microservices are an architectural approach to building applications. As an architectural framework, microservices are distributed and loosely coupled, so one team’s changes won’t break the entire app. The benefit to using microservices is that development teams are able to rapidly build new components of apps to meet changing business needs

List of Principals of Microsercies?

  1. Single concern microservice - This means that a microservice should do one thing and one thing only.
  2. Discrete microservice boundaries - A microservice must have clear boundaries separating it from its environment.
  3. Transportable microservice - A transportable microservice can be moved from one runtime environment to another with little effort.
  4. Carry-its-own-data microservice - A microservice should have its own data storage mechanism that is isolated from all other microservices.
  5. Inherently ephemeral - The principle that a microservice is ephemeral means that it can be created, destroyed, and replenished on-demand on a target easily, quickly, and with no side effects.

List of Microsercies Models?

Actions Items to miograte into Microsercies

  1. Identify logical components.
  2. Flatten and refactor components.
  3. Identify component dependencies.
  4. Identify component groups.
  5. Create an API for remote user interface.
  6. Migrate component groups to macroservices (move component groups to separate projects and make separate deployments).
  7. Migrate macroservices to microservices.
  8. Repeat steps 6-7 until complete.

Top 15 tools for Microsercies Implementations?

**** API Management and Testing

  1. API Fortress
    Both an API test and health tool, API Fortress automates the functional testing, health monitoring, and load testing of enterprise APIs. It’s designed to be practically code-free and is built entirely around modern API architectural practices and patterns.

  2. Postman
    An API development suite for individual devs and teams, Postman allows you to easily run UI-driven API tests. As Postman is a powerful HTTP client, RESTful API exploration becomes a breeze. Users can quickly put together simple and complex HTTP requests to test, develop and document APIs in no time.

  3. Tyk
    Fast, scalable, and modern, Tyk is an out-of-the-box open source API management platform.
    Whether you need to install on-premise, as a cloud service or if you prefer to use a hybrid of both, Tyk is versatile. With Tyk, you gain high availability and low latency, on top of the lowest total cost of ownership.

**** Messaging

  1. RabbitMQ
    RabbitMQ helps you utilize patterns to communicate between your microservices to scale applications and solve most distributed systems’ problems. Connect competing microservices using RabbitMQ in a microservice environment or in any other distributed system. You can also use the tool to exchange events between services.

  2. Amazon Simple Queue Service (SQS)
    Amazon SQS provides robust, flexible, and reliable microservices communication. A message queue service like Amazon SQS solves several developer problems if choosing a publish-subscribe microservices’ communication model. In addition to better security, queues make messaging stronger by providing a reliable place to store pending messages.

  3. Apache Kafka
    Message queuing is necessary within microservices architecture to handle all the inter-microservice and microservices-external-source communications. Whether this is for intensive data processing or API calls, etc. Apache Kafka is a distributed stream processing platform with high fault tolerance and resilience.

  4. Google Cloud Pub/Sub
    A fully-managed real-time messaging service, Google Cloud Pub/Sub allows you to send and receive messages between microservices. Integrating your application with Google Cloud Pub/Sub will help handle all the asynchronous requests you are bound to receive and endeavor to mitigate the time that users wait for a response.

**** Monitoring

  1. Logstash
    You’ve got the microservice deployed, and now you have to monitor it. Many elements go into monitoring though. For example, is a particular microservice responding well or are tweaks needed? Are other system parts working correctly, such as the databases? You'll want to check the logs and to do that, Logstash is a great tool. It’s an open source platform where you can centralize, stash, and transform data.

  2. Graylog
    Use Logstash in conjunction with Graylog as a centralized server. It bills itself as easy to use, interactive, and fast. A user can easily explore data with the system. It’s scalable, and it is designed to grow with a user’s business depending on the needs that develop. Graylog is not free, but it’s affordable.

**** Kube Development

  1. Kubernetes Whilst Kubernetes certainly comes under container orchestration, in the world of microservices, it also deserves a section to itself. Kubernetes has become the gold standard for best deployment practices. When it comes to container scheduling, load balancing, service discovery, and more, Kubernetes is particularly powerful.

For microservices developers that build with Kubernetes, here are some other open source tools available.

  1. Telepresence
    Telepresence is a speedy local development for Kubernetes. Waiting for containers to deploy can be aggravating. With Telepresence, a hybrid model can be employed. So, coding of your service is done locally on your laptop with simultaneous connecting of services in your Kubernetes by away of a two-way proxy. Not recommended for production use, but great for development.

  2. Istio
    Istio supports service deployment on Kubernetes. Add reliability, security, and manageability to microservices communications through Istio’s service mesh technology. The service mesh tech allows you to improve the relationships and interactions between your application and microservices.

  3. Minikube
    Minikube is a handy open source tool that lets you run Kubernetes on your laptop without the need for WiFi. For example, this comes in handy when you’re on an airplane and you need to code, but you don’t have WiFi to do so.

**** Orchestration

  1. Conductor Conductor is Netflix’s microservices orchestration engine as part of its Netflix OSS ecosystem. Conductor runs in the cloud and implements a flow orchestrator to carry out tasks through microservices. It also facilitates control and visualization of all interactions between microservices.

**** Programming Languages

  1. Elixir
    Expand your programming repertoire with Elixir; a concurrent, functional, general-purpose programming language that works alongside the bytecode seen on the Erlang VM (also known as BEAM).

  2. Spring Boot
    Simplify the creation of REST-based microservices with Spring Boot frameworks in just a few lines of code. You can use one of the available Spring Boot examples or the Spring Initializr to get started quickly and easily.

**** Toolkits

  1. fabric8
    An open source platform-as-a-service tool, fabric8 helps devs provides configuration management system through git, handles IP address complexity and port mappings, and is able to perform load balancing to services. Fabric8 also offers scalability and high availability.

  2. Seneca
    Build message-based microservice processes with ease through Seneca, a microservices toolkit for Node.js. With this toolkit, you can write clean, organized code and easily systematize the business logic of your app.

**** Google Cloud Functions

  1. Google Cloud Functions Google Cloud Platform’sCloud Functions (BETA) are lightweight, serverless, and easy to deploy and maintain. The console provides real benefit to developers building de-coupled microservice applications through event-driven architecture. Spin up a container and pay on a cost-per-use basis. Plus, chain Cloud Functions to other products through some of Google Compute’s APIs.

**** Architectural Frameworks

  1. goa
    Goa provides a framework for building REST APIs and microservices in the Golang programming language using a design-first approach. With goa, devs can design APIs and then generate everything else to accompany it; from JSON documentation to command line applications and a JavaScript library, etc. All the goadesign services run on top of the Google Cloud Platform.

  2. Kong
    Available for install on multiple operating environments, Kong leverages numerous read-to-deploy plugins to help with the development and deployment of microservices. With Kong, you can leverage microservice and container design patterns to quickly build API-centric applications.

**** Serverless Tools
Serverless tech or Function-as-a-service is a huge part of microservices. It optimizes the methodology of breaking things down into their smallest function.

  1. Claudia
    Get started with Lambda microservices with Claudia and focus on business rather than dealing with AWS deployments. Claudia deals with deployments for AWS Lambda and API Gateway. Claudia also automates error-prone deployment and configuration tasks, working straight out of the box. On top of all this, it contains enhancing tools such as Claudia API Builder and Claudia Bot Builder.

  2. Apache Openwhisk
    As well as being an event-based programming service, Apache Openwhisk is a readily extensible serverless computing platform that supports devs in creating, testing and connecting actions to others as well as helping with debugging. Use OpenWhisk through a Docker installation on Mac, Windows or Linux.

  3. Serverless
    This tool does exactly what it says; a console which combines FaaS/serverless technology with other cloud services to help devs build complicated systems. Serverless also offers scalability, integrated security, and improved operability.

  4. Kubeless
    Kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. Kubeless is aware of Kubernetes resources out-of-the-box and also provides auto-scaling, API routing, monitoring, and troubleshooting. Kubeless fully relies on K8s primitives, so Kubernetes users will also be able to use native K8s API servers and API gateways.

  5. IronFunctions
    IronFunctions is an open source serverless platform or FaaS platform that you can run anywhere. IronFunctions is written on Golang and really supports functions in any language. The main advantage of IronFunctions is that it supports the AWS Lambda format. Import functions directly from Lambda and run them wherever you want.

  6. AWS Lambda
    AWS Lambda provides infrastructure-less servers for your microservices build and you’re charged on a pay-per-use rate. Lambda can also be used in combination with AWS API Gateway which lets you host a REST or API service. The two together allows your API to serve any requests made by users.

  7. OpenFaaS
    An open source serverless software program that promises “Serverless functions made simple.” OpenFaaS helps you package any process or container as a serverless function for either Windows or Linux. As with any serverless technology, the benefits are that developers can concentrate on delivering business value rather than handling day-to-day management of the underlying application structure.

  8. Microsoft Azure Functions
    Event-driven, compute-on-demand functions that enhance Azure’s existing application capabilities. Scale-based and on-demand, you will only pay for the resources you use. Azure Functions helps developers connect to data sources/messaging solutions which makes it easy to process and react to events. Devs can also leverage Azure Functions to construct HTTP-based API endpoints.

Collapse
 
baffour profile image
Baffour Agyapong-Sebbeh

What is Microservices? Describes the architectural process of building a distributed application from separately deployable services that perform specific business functions and communicate over web interfaces.

List of Principals of Microservices?

  1. Ensure high cohesion and low coupling. 2.Define the scope properly. 3.Adhere to the Single Responsibility Principle. 4.Design for failure. 5.Build around business capabilities. 6.Decentralize data. 7.Gear up process automation. 8.Enable interservice communication.

List of Microservices Models?
Stateless microservices.
Stateful microservices.

Top 15 tools for Microservices Implementations?
Microservice Tools:
Programming Language.
Architectural Frameworks.
Build and assembly.
Message queuing.
Containerization.
Cloud deployment.
Application monitoring.
API Testing and management.

The two commonly used protocols are HTTP request/response and lightweight asynchronous messaging .
List of Communication Methods and Protocols in Microservices.

Collapse
 
rupa profile image
Rupa

Microservices id the way of building the applications and it enables both developers and operations to work together to deliver the quality software.
Principles:

  • Single responsibility principle
  • Built around business capabilities
  • Design for failure
  • Infrastructure Automation Top 15 tools for Microservices Implementations? For API Testing -Postman For Messaging - Apache Kafka ,RabbitMQ For Orchestration - Kubernetes List of Communication Methods and Protocols in Microservices? HTTP communication Event driven communication Message communication
Collapse
 
jhansiranibalu_510 profile image
Jhansirani balu • Edited

Microservices are an architectural approach to building applications. As an architectural framework, microservices are distributed and loosely coupled, o one team's changes won't break the entire app.
Principals of microservices:

  1. Single responsibility principle
  2. Built around business capabilities
  3. Design for failure
  4. Infrastructure Automation
Collapse
 
gannapuramashish1996_960 profile image
Ashish 1234

• What is Microservices?
Microservices are like architectural form in which the application is subdivided into tiny services which achieve the same overall functionality of the application but they are not connected to each other as they run inside the containers which eliminates major security concerns and can be easily scaled up depending up on the demand.

• List of Principals of Microservices?

  1. Microservices should do one task only for which it is designed.
  2. Easy to create and destroy.
  3. Microservices should be encapsulated in an containers so that it access is restricted.
  4. Microservices should able to process the data within it before going to database in an encrypted format.

List of Microservices Models?
Single responsibility one service one functionality.
Cohesion Binding similar functionalities under one cadre.
Loosely bounded independent services no effects on another.

Top 20 Actions Items to migrate into Microservices

  1. Optimizing data cost.
  2. Migration into microservices.
  3. Custom helm charts.
  4. Kubernetes hpa.
  5. Image building of microservices.
  6. Configuration and provisioning is easy.

    Top 15 tools for Microservices Implementations

  7. API Fortress, Postman, tyk for api management and testing

  8. Amazon sns , rabbitmq, Apache kafka for messaging

  9. Logstash and Graylog for monitoring.

  10. Kubernetes, minikube, telepresence for kube development

  11. Kubeless, iron functions , aws lambda for serverless tools

  12. Springboot Elixir for api development languages

Collapse
 
konidalabhagyasri_898 profile image
Bhagyasri

->What is Microsercies?
Microservices are an architectural approach to building applications.
As an architectural framework, microservices are distributed and loosely coupled, so one team's changes won't break the entire app.

->List of Principals of Microsercies?
Single concern.
Discrete.
Transportable.
Carries its own data.
Inherently ephemeral.

->Top 15 tools for Microsercies Implementations?
Operating System
Programming Languages
Tools for API Management & Testing
Tools for Messaging
Toolkits
Architectural Frameworks
Tools for Orchestration
Tools for Monitoring
Serverless Tools

->List of Communication Methods and Protocols in Microsercies
HTTP request/response
lightweight asynchronous messaging

Collapse
 
sridhar02101998_729 profile image
Sridhar Modalavalasa

1.What is Microservices?
Microservices are an architectural style that develops a single application into set of small services and each service runs in its own process. The services communicate with clients using lightweight protocol.

2.List of Principals of Microservices?
1.Easy to create and destroy.
2.Microservices should be encapsulated in an containers so that it access is restricted.
3.Microservices should able to process the data within it before going to database in an encrypted format.
4.Single responsibility principle
5.Built around business capabilities
6.The time constrains must be low and have low latency.
7.Every micro services should have its own storage units where it is different from other micro service.
8.Distributed data.
9.Event Sourcing.
10.Microservices allow a large application to be separated into smaller independent parts, with each part having its own realm of responsibility.

3.List of Microservices Models?
1.Single responsibility one service one functionality.
2.Cohesion Binding similar functionalities under one cadre.
3.Loosely bounded independent services no effects on another.
4.Microservices allow a large application to be separated into smaller independent parts, with each part having its own realm of responsibility.

4.Top 20 Actions Items to migrate into Microservices?
1.Optimizing data cost.
2.Migration into microservices.
3.Data migration
4.Network migration
5.Security migration
6.Fast to create and delete
7.security is best
8.one service communicates with other but independent to each other

5.Top 15 tools for Microservices Implementations?
1)API Fortress
2)Postman
3)tyk for api management and testing
4)Amazon sns
5)Rabbitmq
6)Apache kafka for messaging
7)Logstash and Graylog for monitoring.
8)Kubernetes, minikube, telepresence for kube development
9)Kubeless, iron functions , aws lambda for serverless tools
10)Springboot Elixir for api development languages

6)List of Communication Methods and Protocols in Microservices?
The two commonly used protocols are HTTP request/response with resource APIs (when querying most of all), and lightweight asynchronous messaging when communicating updates across multiple microservices)

Collapse
 
phanichand0007_373 profile image
phanichand0007@gmail.com

What is Microservice?

Micro service is a step by step procedure for deploying or performing the services by using wed interfaces

List of principle of Micro services?

  • It works only for one single thing only.
  • It should have its own evn.
  • The time constrains must be low and have low latency.
  • Every micro services should have its own storage units where it is different from other micro service .
  • the main service of this micro service is that it should create ,destroy as well as remove
Collapse
 
pantalabhanuprakash_8008 profile image
BhanuPrakash

What is Microservices?
Microservices are an architectural and organizational approach to software development where software is composed of small independent services that communicate over well-defined APIs. These services are owned by small, self-contained teams.

List of Principals of Microservices?

  • Single responsibility principle
  • Built around business capabilities
  • You build it, you own it!
  • Infrastructure Automation
  • Design for Failure

Top 15 tools for Microservices Implementations?

  • Operating System
  • Programming Languages
  • Tools for API Management & Testing
  • Tools for Messaging
  • Toolkits
  • Architectural Frameworks
  • Tools for Orchestration
  • Tools for Monitoring
  • Server-less Tools
Collapse
 
bharathsrinivas profile image
Bharath Srinivas

What is Microservices?
Micro services means dividing one application into small services and each service will run it's own process that means if a service got effected others run without any issue.

List of Principals of Microservices?
Microservices are designed to run on service in it
microservices are using containers to create isolated environments
they are easy to create

Top 20 Actions Items to migrate into Microservices
Fast to create and delete
security is best
one service communicates with other but independent to each other

Top 15 tools for Microservices Implementations?
Kubernetes
Postman
Istio
Minikube
Rancher

List of Communication Methods and Protocols in Microservices
http based
message based

Collapse
 
saicharanpavan_698 profile image
saicharan
  • What is Microsercies?
    It is an architectural approach to building applications. As an architectural framework, microservices are distributed and loosely coupled, so one team's changes won't break the entire app.

  • List of Principals of Microsercies?
    Microservices do one task only for which it is designed.
    Easy to create and destroy.
    Microservices be encapsulated in an containers so that it access is restricted.
    Microservices able to process the data within it before going to database in an encrypted format.

  • List of Microsercies Models?

    • Microservices Pattern: Database per service.
    • Distributed data.
    • Event Sourcing.
    • Event Sourcing pattern - Cloud Design Patterns.
    • Microservices Pattern: Event sourcing. bliki: CQRS.
    • CQRS pattern - Azure Architecture Center.
    • Microservices Pattern: Command Query Responsibility Segregation (CQRS)
  • Top 20 Actions Items to migrate into Microservices

    • Optimizing data cost.
    • Migration into microservices.
    • Custom helm charts.
    • Kubernetes hpa.
    • Image building of microservices.
    • Configuration and provisioning is easy.
  • Top 15 tools for Microservices Implementations

API Fortress, Postman, tyk for api management and testing
Amazon sns , rabbitmq, Apache kafka for messaging
Logstash and Graylog for monitoring.
Kubernetes, minikube, telepresence for kube development
Kubeless, iron functions , aws lambda for serverless tools
Springboot Elixir for api development languages

  • List of Communication Methods and Protocols in Microsercies The two commonly used protocols are HTTP request/response with resource APIs (when querying most of all), and lightweight asynchronous messaging when communicating updates across multiple microservices
Collapse
 
akhilesh_k profile image
Akhilesh K

- What is Microservices?
Microservices is an effective design approach to build an application into several small services. These services have separate processes, and they interact with other services via a specific interface, such as an HTTP-based API.

- List of Communication Methods and Protocols in Microservices?

  1. Aggregator
  2. API Gateway
  3. Chained or Chain of Responsibility
  4. Asynchronous Messaging
  5. Database or Shared Data
  6. Event Sourcing
  7. Branch
  8. Command Query Responsibility Segregator
  9. Circuit Breaker
  10. Decomposition

- List of Microsercies Models?

  1. Independent & Autonomous Services
  2. Scalability
  3. Decentralization
  4. Resilient Services
  5. Real-Time Load Balancing
  6. Availability
  7. Continuous delivery through DevOps Integration
  8. Seamless API Integration and Continuous Monitoring
  9. Isolation from Failures
  10. Auto -Provisioning
Collapse
 
pindisaidurgadevi_956 profile image
Sai durga devi • Edited

1.what is Microservices?
Micro services is an architecture to divide one application into set of small services and each service run it's own process if one service having any issue the other services was not effected .

2.List of Principals of Microservices ?
->Single concern
->Discrete
->Transportable
->Carries its own data
->Inherently ephemeral

3 List of Microservices Models?
->Aggregator
->API Gateway
->Chained or Chain of Responsibility
->Asynchronous Messaging
->Database or Shared Data
->Event Sourcing
->Branch
->Command Query Responsibility Segregator
->Circuit Breaker
->Decomposition.

4.Top 20 Actions Items to migrate into Microservices
->Identify logical components.
->Flatten and refactor components.
->Identify component dependencies.
->Identify component groups.
->Create an API for remote user interface.
->Migrate component groups to macroservices (move component groups to separate projects and make separate deployments).
->Migrate macroservices to microservices.
->Deployment and Testing.

5.Top 15 tools for Microsercies Implementations?
1. API Fortress
2. Postman
3. Tyk
4. RabbitMQ
5. Amazon Simple Queue Service (SQS)
6. Apache Kafka
7. Google Cloud Pub/Sub
8. Logstash
9. Graylog
10. Kubernetes
6.List of Communication Methods and Protocols in Microservices ?
->HTTP
->REST
->AMQP

Collapse
 
prudhvins562_157 profile image
Navana Sai Prudhvi

What is Microservice?
Micro service is a step by step procedure for deploying or performing the services by using wed interfaces.

List of Principals of Microservices?
Agility and speed in releasing new functionality.
Scalability
Flexibility in changing the implementation
Independence between functional units

List of Microservices Models?
API REST-based topology
Application REST-based topology
Centralized messaging topology.

Top 20 Actions Items to migrate into Microservices
Identify logical components.
Flatten and refactor components.
Identify component dependencies.
Identify component groups.
Create an API for remote user interface.

Top 15 tools for Microservices Implementations?
WireMock
Docker
API Fortress
RabbitMQ
Apache Kafka

List of Communication Methods and Protocols in Microservices
The two commonly used protocols are HTTP request/response with resource APIs (when querying most of all), and lightweight asynchronous messaging when communicating updates across multiple microservices)

Collapse
 
johnsonkn45_890 profile image
Johnson

What is Microservices?
Micro services is an architecture to divide one application into set of small services and each service run it's own process if one service having any issue the other services was not effected.

List of Principals of Microsercies?

  • Carry-its-own-data microservice
  • Transportable microservice
  • Single concern
  • Discrete

List of Microsercies Models?
Microservices allow a large application to be separated into smaller independent parts, with each part having its own realm of responsibility.

Top 20 Actions Items to miograte into Microsercies
Data migration
Network migration
Security migration

Top 15 tools for Microsercies Implementations?

  • Kubernetes
  • Minikube
  • Istio
  • Amazon Simple Queue Service (SQS)
  • Postman
  • Spring Boot
  • Google Cloud Functions

List of Communication Methods and Protocols in Microservices?
HTTP request
lightweight asynchronous messaging