In an endeavor to deliver the best client experience, enterprises must build and modernize applications faster and more efficiently than ever before. Going cloud-native – i.e. loosely coupled and highly scalable applications, built and deployed in containers, on highly automated platforms – is a prevalent trend for application development. Cloud-native architecture enables enterprises to both build and deploy modern applications across a wide range of public cloud and on-premises data center platforms.
Amazon ECS Anywhere, a new capability for Amazon ECS that enables enterprises to run and manage native Amazon ECS tasks in their own environment. Using ECS Anywhere, enterprises can deploy applications in hybrid environments by taking advantage of container elasticity, security, and reliability in their on-premises environment with the ease of cluster management from a single pane of glass.
Amazon ECS is a fully managed container orchestration service that allows enterprises to easily run and manage Docker-enabled applications on EC2/Fargate. Amazon ECS supports workloads that take advantage of Local Zones, Wavelength Zones and AWS Outposts when low latency or local data processing requirements are needed.
Amazon ECS Anywhere (ECS-A) provides a simple installation process for workloads that need to run on physical servers or virtual machines in a non-AWS environment:
- Install the AWS SSM agent in physical or virtual machine to make it a managed instance.
- Install the AWS ECS agent on the managed instance we created in the previous step. This allows the end user to then register the managed instance with an existing ECS cluster.
- To run tasks on on-premises, a new launch type External will be available within the ECS control plane.
Key Architectural Tenets
- The ECS control plane: By using the same control plane for both on-premises and cloud-native applications, we can better manage our hybrid footprint. No customer data is sent to the ECS control plane, only the information needed to manage tasks like container health & state will be sent from the on-premises environment to the ECS control plane.
- Infrastructure agnostic: ECS Anywhere (ECS-A) is compatible with the following operating systems
- Ubuntu (16/18/20)
- RHEL/CentOS (7/8)
- Fedora (32/33)
- Debian and openSUSE
- This also includes operating systems that run on bare metal, self-managed virtual machines (VM’s) and even a Raspberry Pi. In the future, Windows OS could also be included.
- Tolerates disconnections: ECS Anywhere tolerates disconnections and unreliable networks. During disconnection, tasks will continue to run in on-premises infrastructure. Upon reconnection control plane will re-evaluate instance state and pending tasks will be placed and started.
Amazon ECS Anywhere Benefits
Using ECS Anywhere, we can manage containers in on-premises with the same ease as we manage containers in the cloud. Below are the few additional benefits for the same.
- Accelerates application migrations: ECS Anywhere significantly accelerates workload migration by allowing developers to spend more time on business logic rather than deployment or configuration activities.
- Scalability: ECS Anywhere can help customers to burst their on-premise workloads to AWS cloud for added capacity and performance.
- Secure outbound connectivity: We can connect AWS API service endpoints from on-prem environments using ` VPC Endpoint via AWS Direct Connect/VPN for private API communication. All data exchanged between on-premises and AWS environment will be protected using industry-standard TLS encryption.
- Automated Application Deployment for Hybrid environment: AWS CodePipeline is a fully managed continuous delivery service that helps us to automate release pipelines for fast and reliable application deployment. CodePipeline can be used to deploy applications running in hybrid environments.
- Logging: Logging and monitoring of the ECS solution with ECS-Anywhere becomes very important to maintain reliability, availability, and performance. Using ECS Anywhere, we can push aggregate containers logs and metrics to Amazon CloudWatch. We can also create a notification solution using Amazon SNS Amazon services SES services on top of CloudWatch logs and metrics to support operational teams/processes.
We can use Amazon ECS Anywhere in multiple enterprise use cases.
- Run applications on-premises for compliance reasons: The best fit use cases are where enterprises can’t move their whole workload to the cloud due to compliance, regulatory, or data residency standards. Amazon ECS Anywhere is an ideal solution here because it allows enterprises to retain sensitive data in an on-premises environment while simultaneously leveraging all the benefits of using Amazon ECS.
- Modernization before moving to cloud: ECS Anywhere (ECS-A) now provides a management layer on-premises for container orchestration. Enterprises can now containerize their workloads on-premises first, make them portable, resolve on-premises dependencies and get AWS-ready, followed by just updating the ECS services configuration from on-premises hardware.
- Edge computing: ECS-Anywhere (ECS-A) provides the ability to support edge computing with, enterprises can significantly reduce latency, increase bandwidth, improve reliability and reduce costs. Enterprises can use ECS Anywhere to orchestrate containers at multiple edge locations for workloads like gathering raw data from machines, or raw images from drones and transform them before sending to cloud.
- Burst to the cloud for added capacity and performance: Application demand can be unpredictable. An application might run efficiently in its on-premise environment today, but may require additional compute power tomorrow. Amazon ECS Anywhere is an ideal solution here as it allows the service to scale up and down based on demand.
Illustrative solution for e-commerce built using Amazon ECS Anywhere
We designed an illustrative hybrid cloud solution using Amazon ECS Anywhere for an e-commerce application. In this solution, we are running existing compliance workloads such as payment and order API which also include a database in on-premises environment while other non-compliance workload like the web applications and search application running in the AWS Cloud.
Similar solution can be built for other industries such as Healthcare, Financial services, Manufacturing and many more where enterprises can run existing compliance workloads including databases in on-premises environment while other non-compliance workloads in AWS Cloud.
ECS Anywhere based hybrid solution can also be used where enterprise has multiple data centers.
Infosys Differentiators for Application Modernization
Infosys Modernization Suite, part of Infosys Cobalt, is a flagship solution that simplifies and accelerates the modernization journey of an enterprise through hyper-automation across the application lifecycle. It supports over 15 application modernization patterns through highly automated workflows. The integrated platform modernizes key areas such as the re-architecture of monolith to microservices, migration, containerization of workloads using Amazon ECS, EKS, and serverless adoption.
Infosys Cloud Application Modernization Platform (part of Infosys Modernization Suite) helps in accelerating the cloud adoption journey, it assists in every life cycle phase of modernization.
In discovery phase it supports data discovery of application & infrastructure inventory data. In assessment phase it helps in determining the application migration strategy to cloud and firm up cloud disposition to CSP of choice. Application disposition is based on the 7Rs migration strategies. Its discrepancy finder scans and reports instances for cloud readiness and goes a step further to auto-remediate certain cases resulting in significant effort and time savings before migration phase. It creates all AWS Compute services like Amazon EC2, AWS Elastic Beanstalk, Amazon ECS, Amazon EKS & AWS Lambda including other managed services like Amazon RDS, Amazon DynamoDB, Amazon S3, Amazon SQS, Amazon ElastiCache and many more using Infrastructure-as-Code for reusability and extensibility. Its automated DevSecOps pipelines provide simplified deployment of applications to various compute services.
Amazon ECS Anywhere allows enterprises to run their workloads seamlessly in hybrid environments, providing options for use cases like modernizing workloads using AWS services on-premise before migrating to cloud or creating new solutions for edge. AWS’ software-based approach for managing hybrid environments along with the Infosys Modernization Suite can help enterprises migrate, modernize and manage their workloads on hybrid cloud.
Joint blog by Nirmal Singh Tomar, Principal Consultant Infosys & Vikrama Adethyaa, Sr. Partner Solutions Architect AWS