IT organizations can be benefitted from a microservices approach to application development with more agile and accelerated time to market. However, there is a catch in order to break an app into fine-grained services.
Artificial intelligence in the post-deep learning era
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
1. A Guide on What Are
Microservices: Pros, Cons, Use
Cases, and More
2. Agenda
What are microservices?
Microservices vs Monolithic
Microservices vs SOA
The benefits of microservices?
The challenges of microservices?
Best practices for implementing a microservices architecture
Key enabling technologies and tools
How do microservices enable and require DevOps?
Real-world examples of microservices
3. Microservice is an architectural style where an extensive software
application is constructed as a suite of individual, loosely coupled
services.
What Are
Microservices?
4. Has a separate database layer, independent codebase, and
CI/CD tooling sets.
Responsible for preserving data or external state.
Is independently deployable and can be tested in isolation.
Internal communication happens via well-defined APIs or any
lightweight communication protocol.
Can select the technology stack, libraries, and frameworks best
suited for its use cases.
Services should implement Retry functionality.
Characteristics of
Microservices
5. “Micro” means small
Microservices entirely eliminate complexity
Microservice can “easily” scale systems
Microservices work for all applications
Misconceptions
About
Microservices
10. The first essential step before working on the best practices is to
determine whether microservices architecture is a good fit for
your requirements
Here are the primary practices you should follow for organizing,
designing, and implementing microservices architecture:
Have a dedicated infrastructure
Have a dedicated database
Attempt the migration in steps
Align the right technology with the right microservice
Deploy in containers
Best Practices for
Implementing a
Microservices
Architecture
11. Containerization platforms
Docker
Container orchestration platforms
Kubernetes (K8s)
API management tools
API gateways
Messaging tools
RabbitMQ
Kafka
Data stores
Redis
Memcached
Service mesh
Istio
Key Enabling
Technologies and
Tools
12. You have to manage a network of interrelated components to
ensure overall reliability.
Prometheus and Grafana have emerged as a popular
combination for monitoring microservices.
Prometheus works well with Kubernetes, and its inherent
simplicity makes it ideal for mission-critical microservice-based
applications.
How to Monitor
Microservices?
13. When combined, DevOps and microservices offer greater agility
and operational efficiency.
The services-based approach of microservice architecture allows
organizations to break down the application into smaller services.
As a result, delivery teams can handle individual services as
separate entities and simplify development, testing, and
deployment.
By combining microservices and DevOps, you can:
Develop cloud-native applications
Move developments to a flexible architecture
Increase productivity and quality of the application
Simplify monitoring and observability for developers
Accelerate innovation and reduce software development
costs
Streamline the DevOps process
How do
Microservices
Enable and Require
DevOps?
14. Netflix
The streaming giant started setting up its microservice
architecture on AWS in 2009. Within two years, Netflix
migrated from a monolith into microservices in phases.
Amazon
World’s largest online retailer used to run on an extensive
monolithic application with many modular yet tightly-coupled
components.
Best Buy
In 2010, Best Buy started transforming its eCommerce
platform to break the monolithic, tightly coupled application
into microservices.
Real-world
Examples of
Microservices
15. When you want your monolithic application to adopt agility,
scalability, manageability, and delivery speed
When you have to update your legacy applications in today’s
programming languages or tech stacks
When developers are unable to predict the types of devices on
which the app is going to run
When your data management team is skilled enough to support
the incorporation
When you have standalone modules that you want to use across
diverse channels
If you’re developing a highly agile application
When Should You
Use Microservice
Architecture?
16. If your business does not have complex issues
If your application is simple by its nature and functionality
If you do not have the proper tools and technologies like CI/CD
pipeline in place
If you do not have a robust system for monitoring and detecting
issues for microservices
If your team is not mature and is not willing to adapt the technical
skills
If you have a risk of running too many microservices
When Should You
Not Use
Microservice
Architecture?
17. Microservices are a nearly perfect solution to the
modern software world’s need to deliver faster
functionality and reliability.
However, the transition from monolithic to
microservices can be lengthy and tedious.
Concluding
18. Contact Us
Reach out to us for inquiries or comments.
Email Address
contactus@simform.com
Website
www.simform.com
Social Presence
twitter.com/simform
facebook.com/simform
linkedin.com/company/simform/