Microservices Management Platform
Copyls Microservices Management Platform helps you go from monolithic architecture to microservice architecture.
Microservice architecture means new opportunities for most organizations. Faster development and faster time-to-market. Independent, loosely coupled, services that can be released/updated at any time. The team is responsible for the application roadmap and for developing and maintaing the microservice. The team also has the freedom to use any technology within each service.
The biggest challenges with microservice architecture
We know from our own experience and from helping other companies that implementation of microservice architecture means new challenges that needs to be addressed for a successful implementation.
- Hundreds, maybe thousands, of microservices is difficult to overview.
- Defining clear boundaries for each service.
- Difficult to make a service really independent (loosly coupled).
- A lot of communication between the services.
- Sharing data transfer objects (DTO) is difficult.
- Managment want to manage decisions made in the many small, independent, development teams.
- Organization model will likely need to change.
Copyls Microservices Management Platform is the solution for the biggest challenges. Not just the technical challenges with microservices but also management challenges. We usually recommend our customers to start working with OKRs if they aren't doing that already. Copyl has OKR functionality for the organization, teams and individuals.
How do microservices communicate with each other?
The absolute most common communication between microservices are via REST API. It's done over https and requires no or very little configuration on the network.
We recommend to use the standard methods for your api requests; GET for fetching data, POST for saving new data, PUT for updating and DELETE for deletion. PATCH can also be used for updating, it's a matter of taste.
One common way of describing the microservice's methods is to use an OpenAPI/Swagger that will create an HTML-page with all methods and data models described. Swagger documentation will be created automatically if you use e.g. Swashbuckle in your .net project. Our free microservice template uses Swashbuckle to describe the microservice api.
gRPC is another a common protocol to use for communication between microservices. It's faster than http.
gRPC and HTTP REST are both ways to transfer data over a network, but they have some differences.
gRPC is a modern, open source, high-performance RPC framework that can run in any environment. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as bidirectional streaming and flow control, cancelling long-running operations, and authentication.
On the other hand, HTTP REST is a architectural style for building distributed systems that can be used with any application protocol running over any transport. It is based on the idea of representing a system's resources as a set of interconnected nodes, and using HTTP verbs (such as GET, POST, PUT, DELETE) to manipulate these resources. REST is widely used because it is simple and flexible.
In general, gRPC is better suited for situations where performance and efficiency are important, while REST is more widely adopted and easier to use in a variety of situations.
How to secure your microservices
There are multiple levels of security that you can implement on your microservices. First you should make sure that you have some kind of Web Application Firewall. That could be managed by your cloud provider (Azure, AWS, Google, Alibaba, Oracle etc) or by a third-part like Cloudflare. This service will make sure that the requests that are coming in to your microservice is of good intentions.
We also recommend you to use an API Managment tool that will hide your api:s addresses, minimize requests, help you with versioning and also documentation.
Copyls Microservices Management Platform and integrations
Both the Microservices Management Platform and the Integration Platform are using the same core functionality. That means that you can setup integrations between your different microservices without writing any code. The Copyl Integration Platform uses the information from the Swagger files to define actions that you can start from different triggers and schedules.
Features and Pricing : Microservice Management
When are microservices a bad design choice?
If you are building a small application, or just building a prototype, it's much easier to build a monolithic application. If the application doesn't need to scale to multiple server instances it's ok with a monolith.
A middleway is to build a loosly coupled monolith that communicates internally via SOAP.
Copyl runs on Azure
Copyl is scales automatically depending on the workload so there is always a service ready for you.
The technology we are using can manage 5.000 requests per second. We can also enable higher throughput if you have even higher demands. Please contact us to discuss this.