IBM WebSphere Commerce (WCS) V9 evolves from a monolithic application into a headless-commerce/microservices architecture which can be deployed on a cloud service provider. Key components of this application are separated into five different services that each run in its own container. Each container can be auto scaled based on its individual workload requirements.
You can find more details of IBM WCS V9 architecture here.
There are many cloud services providers (IBM Bluemix, Amazon Web Services, Google, Microsoft, etc). This post covers the various solutions provided by Amazon Web Services (AWS) to deploy IBM WebSphere Commerce V9. AWS and its features are being constantly updated at rapid scale to keep up with the demands of the market.
AWS has three different service options that you can use to set up your WCS V9 environment.
- Amazon Elastic Compute Cloud (EC2)
This is a classic service where you will provision the required servers, install and configure Docker and orchestration tools, and manage everything all on your own.
- Elastic Container Services (ECS) + EC2 Containers
This is a “meet in the middle” type of service where you will provision the required servers. AWS will deploy the containers and manage the workload. All of the required agents and applications are included in the AWS ECS-optimized server images. However, if you decide to select non-ECS-optimized server images, then you will be required to install and set up various agents and tools for AWS ECS to manage your containers.
This is the typical architecture of an ECS /EC2 launch type.
- ECS + AWS Fargate
This is the least flexible, but fully managed solution by AWS ECS. Just register the task and service and ECS will run and manage the containers.
Here is the typical architecture of a Fargate launch type.
The following chart will help illustrate the various features of the three services.
Poll Results for What industry are you in? | ||
---|---|---|
Start Time: April 3, 2018 12:13:22 PM MDT | ||
Total Responses: 222 of 428 (52%) | ||
Results Summary | ||
Answer | Total Number | Total % |
Automotive | 7 | 0.03 |
Energy and Utilities | 14 | 0.06 |
Financial Services and Insurance | 47 | 0.21 |
Healthcare and Life Sciences | 60 | 0.27 |
Manufacturing | 14 | 0.06 |
Retail | 22 | 0.1 |
Other | 58 | 0.26 |
Key Considerations:
1. Container orchestration
If you are looking for a fully automated and AWS-managed solution, ECS Fargate offers that service. It’s a fully automated “Container as a Service” option. However, as you can see from the chart above, it also has some key limitation.
With the EC2 option, you will provision the required servers and manage the containers on your own.
ECS EC2 provides a meet-in-the middle option where you will provision the servers but the containers and workload/auto-scaling will be managed by AWS ECS service.
2. Supported Regions
At the moment, Fargate is only available in selected regions. If you have specific region that your services needs to run, then this will be a major deciding factor.
3. Production Support/Access to Logs
Having access to production logs is very critical for support teams as they troubleshoot various issues. At the moment, Fargate service collects all the various log files from the container and stores them in a single CloudWatch log service. During our evaluation, we found this to be the least effective method for troubleshooting critical/time-sensitive production issues. Although AWS suggests moving the logs to a different service, the underlying issue of consolidating all standard output (stdout) and standard error (stderr) logs into single stream exists.
Although you can select one type of AWS service for all of the different containers, the containers can be deployed to various AWS services with the exception of the Utility Service container, which requires SSH access to the container. Here are some recommended options for the various servers based on our evaluation.
What industry are you in?
Answer | Total Number | Total % |
---|---|---|
Automotive | 7 | 0.03 |
Energy and Utilities | 14 | 0.06 |
Financial Services and Insurance | 47 | 0.21 |
Healthcare and Life Sciences | 60 | 0.27 |
Manufacturing | 14 | 0.06 |
Retail | 22 | 0.1 |
Other | 58 | 0.26 |
Total Responses: 222 of 428 (52%) |
This post does not cover the cost of these various options, as you will most likely have some negotiated rate with specific to your project needs.
AWS is just one of the service providers available for hosting IBM WebSphere Commerce V9. All of the service providers have competing services and we’ll be covering some of the other service providers in upcoming posts, as well as any deployment tips for installing and configuring these services.