Organizations accelerate time to market for new features and services with cloud-native applications, built from the ground up to take advantage of the flexibility, scale, security, and efficiency of cloud. These modern applications are collections of microservices accessing cloud storage through Application Programming Interfaces (API) and are delivered in a DevOps constant delivery model that is a modernization of both software development and organizational responsibilities. Amazon Simple Storage Service (Amazon S3) is object storage for cloud-native applications, providing a durable, scalable, and secure shared environment to support modern microservices delivery.
Available and durable
Microservices are decoupled from data stores and rely on the storage environment to keep data available. Amazon S3 is designed for 99.999999999% (11 9’s) of data durability because it automatically creates and stores copies of all S3 objects across multiple systems. This means your data is available when needed andprotected against failures, errors, and threats.
Developers can use the Amazon S3 API to build S3 calls into code so microservices can programmatically access the data they need.
Secure shared data
Data may be shared by multiple microservices that are parts of different applications. Customers increasingly use Amazon S3 to store shared data sets, where data is aggregated and accessed by different applications, teams and individuals, whether for analytics, machine learning, real-time monitoring, or other data lake use cases.
Wide range of cost-effective storage classes
Optimize storage costs without sacrificing performance by storing data across the S3 Storage Classes, which support different data access levels at corresponding rates.
DevOps culture decentralizes planning of storage consumption and growth. Storage and IT Operations owners still must plan budgets, resources, data protection, and have auditability for compliance. Amazon S3 features and other AWS services allow IT teams to maintain visibility, monitor, and control how resources are being used.
Time to market
Cloud-native applications implement features faster because a microservice delivers its functionality when ready without having to wait for the monolith application to be complete. Amazon S3 provides immediate, elastic capacity for both internal employee applications delivered by IT teams and external customer applications delivered by product teams.
By using AWS, Capital One is powering agile DevOps processes that help it bring new features and products to market in weeks instead of months or years, feeding data to and providing powerful model training for cutting-edge machinelearning analysis and customer-service solutions, and integrating its contact centers with its CRM and other key company systems.
In 2018, the nine-person Pratilipi engineering team converted to a microservices architecture and made 4,500 code deployments; an estimated 4x improvement compared to if it had retained its monolithic application. In addition, the scalability of Amazon S3 means they can continue adding images and audio to their platform without capacity issues, and can develop their big data analytics capabilities using Amazon S3 as a data lake.
Implementing Microservices on AWS: In this whitepaper, we summarize the common characteristics of microservices, discuss the main challenges of building microservices, and how to overcome these challenges.