Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views7 pages

Micro Services

Microservices are an architectural approach to software development that involves building applications as small, independent services that communicate via APIs, allowing for easier scaling and faster development. This architecture contrasts with monolithic systems, which can be complex and risky due to tightly coupled processes. AWS provides a comprehensive platform with integrated tools and services to support microservices, enhancing agility, flexibility, and resilience in application development.

Uploaded by

Philip Kitheka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views7 pages

Micro Services

Microservices are an architectural approach to software development that involves building applications as small, independent services that communicate via APIs, allowing for easier scaling and faster development. This architecture contrasts with monolithic systems, which can be complex and risky due to tightly coupled processes. AWS provides a comprehensive platform with integrated tools and services to support microservices, enhancing agility, flexibility, and resilience in application development.

Uploaded by

Philip Kitheka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Microservices

Build highly available microservices to power applications of any


size and scale.

Get Started with Microservices on AWS

What are Microservices?

Benefits

Microservices on AWS

Getting Started

What are 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.

Microservices architectures make applications easier to scale and faster to


develop, enabling innovation and accelerating time-to-market for new
features.

Monolithic vs. Microservices Architecture

With monolithic architectures, all processes are tightly coupled and run as a
single service. This means that if one process of the application experiences
a spike in demand, the entire architecture must be scaled. Adding or
improving a monolithic application’s features becomes more complex as the
code base grows. This complexity limits experimentation and makes it
difficult to implement new ideas. Monolithic architectures add risk for
application availability because many dependent and tightly coupled
processes increase the impact of a single process failure.

With a microservices architecture, an application is built as independent


components that run each application process as a service. These services
communicate via a well-defined interface using lightweight APIs. Services are
built for business capabilities and each service performs a single function.
Because they are independently run, each service can be updated, deployed,
and scaled to meet demand for specific functions of an application.
Breaking a monolithic application into microservices

Characteristics of Microservices

Autonomous

Each component service in a microservices architecture can be developed,


deployed, operated, and scaled without affecting the functioning of other
services. Services do not need to share any of their code or implementation
with other services. Any communication between individual components
happens via well-defined APIs.

Specialized

Each service is designed for a set of capabilities and focuses on solving a


specific problem. If developers contribute more code to a service over time
and the service becomes complex, it can be broken into smaller services.

Benefits of Microservices

Agility

Microservices foster an organization of small, independent teams that take


ownership of their services. Teams act within a small and well understood
context, and are empowered to work more independently and more quickly.
This shortens development cycle times. You benefit significantly from the
aggregate throughput of the organization.

Flexible Scaling

Microservices allow each service to be independently scaled to meet demand


for the application feature it supports. This enables teams to right-size
infrastructure needs, accurately measure the cost of a feature, and maintain
availability if a service experiences a spike in demand.
Easy Deployment

Microservices enable continuous integration and continuous delivery, making


it easy to try out new ideas and to roll back if something doesn’t work. The
low cost of failure enables experimentation, makes it easier to update code,
and accelerates time-to-market for new features.

Technological Freedom

Microservices architectures don’t follow a “one size fits all” approach. Teams
have the freedom to choose the best tool to solve their specific problems. As
a consequence, teams building microservices can choose the best tool for
each job.

Reusable Code

Dividing software into small, well-defined modules enables teams to use


functions for multiple purposes. A service written for a certain function can
be used as a building block for another feature. This allows an application to
bootstrap off itself, as developers can create new capabilities without writing
code from scratch.

Resilience

Service independence increases an application’s resistance to failure. In a


monolithic architecture, if a single component fails, it can cause the entire
application to fail. With microservices, applications handle total service
failure by degrading functionality and not crashing the entire application.

The Most Complete Platform for Microservices

AWS has integrated building blocks that support any application architecture,
regardless of scale, load, or complexity.

Compute
Processing power for microservices.

Containers

Amazon Elastic Container Service

A highly scalable, high performance container management service that


supports Docker containers and allows you to easily run applications on a
managed cluster of Amazon EC2 instances.
Learn More »

Using Amazon ECS, Coursera can now deploy software changes in minutes
instead of hours in a resource-isolated environment.
Learn More »

Serverless

AWS Lambda

AWS Lambda lets you run code without provisioning or managing servers.
Just upload your code and Lambda manages everything that is required to
run and scale your code with high availability.
Learn more »

Localytics used AWS Lambda to build microservices that allowed their


development teams to build custom analytics without central support. Learn
More »

Storage & Databases

Scalable, durable, and secure data storage.

Caching
Amazon ElastiCache

Amazon ElastiCache improves service performance by allowing you to


retrieve information from fast, managed, in-memory caches, instead of
relying entirely on slower disk-based databases. Learn More »

Object Storage

Amazon S3

Amazon S3 provides developers and IT teams highly reliable, secure, and


scalable object storage for all of their data, large or small. Learn More »

NoSQL Databases

Amazon DynamoDB

A fully managed, fast, and flexible NoSQL database service for all
applications that need consistent, single-digit, millisecond latency at any
scale. Learn more »

Relational Databases

Amazon RDS

Easily setup, operate, and scale a relational database in the cloud. Choose
from six familiar database engines, including Oracle, Microsoft SQL Server,
PostgreSQL, MySQL and MariaDB. Learn more »

Amazon Aurora

A relational database engine that combines the speed and reliability of high-
end commercial databases with the simplicity and cost-effectiveness of open
source databases. Deliver up to 5x the throughput of standard MySQL
running on the same hardware. Learn more »

Remind reduced application response times 200% by building a PaaS for


microservices on Amazon ECS.
Learn More »

Networking

Networking services with high-throughput and sub-millisecond latency.


Service Discovery

AWS Cloud Map

AWS Cloud Map is service discovery for all your cloud resources. With Cloud
Map, you can define custom names for your application resources, and it
maintains the updated location of these dynamically changing resources.

Learn more »

Service Mesh

AWS App Mesh

AWS App Mesh makes it easy to monitor and control microservices running
on AWS. App Mesh standardizes how your microservices communicate,
giving you end-to-end visibility and helping to ensure high-availability for
your applications.

Learn more »

Elastic Load Balancing

Application Load Balancer

The Application Load Balancer load balances HTTP and HTTPS traffic at the
application layer (level 7) providing advanced request routing that is
targeted at the delivery of modern application architectures, including
microservices and containers.

Learn More »

Network Load Balancer

The Network Load Balancer offers high performance load balancing that
operates at the network connection layer (level 4) and allows you to route
connections to microservices based on IP protocol data. The Network Load
Balancer can handle millions of requests per second while maintaining ultra-
low latencies.

Learn more »
API Proxy

Amazon API Gateway

Amazon API Gateway offers a comprehensive platform for API management.


Amazon API Gateway allows you to process hundreds of thousands of
concurrent API calls and handles traffic management, authorization and
access control, monitoring, and API version management.

Learn more »

DNS

Amazon Route 53

Amazon Route 53 is a highly available and scalable cloud Domain Name


System (DNS) web service that effectively connects requests to
infrastructure that is running in AWS. It can be used for IP health checks and
service discovery for microservices.

Learn more

You might also like