AWS cloud migration blueprints for enterprises

Discover our experiences from various cloud migration projects for diverse clients and learn how to use standard patterns to solve your challenges.

Whenever an enterprise with a complex on-prem installation decides to move to the cloud for performance, cost, flexibility and growth, they think that their challenges are unique. However, despite the client’s feeling, there are migration blueprints that can be looked at holistically and which follow standard patterns, and which can be used.

Zühlke has helped many clients with complex migrations, and I wanted to share a synthesis of what we have learnt by talking about a hypothetical client called ZühlkeClient, an amalgam of diverse clients, and how we developed their AWS Cloud Migration.

Development of a cloud strategy is not a single stage process but rather a continuous evolution 

There is no "one right" way to set up a cloud infrastructure for a client such as ZühlkeClient. Rather, the actual structure depends on the individual company’s needs, and it is particularly relevant to understand which applications must be transferred to a cloud infrastructure in the long term and under which general conditions. Part of a sustainably successful cloud enablement is the continuous evaluation and, if necessary, further development of the existing cloud strategy based on the new insights gained during implementation. 

In short, this element of planning, identification of complexities and roadblocks is an essential first step which will allow for the continuous evolution of the architecture. 

Implementation of a cloud infrastructure 

The actual cloud infrastructure was implemented based on ZühlkeClient’s requirements as it was necessary to consider which third-party systems (SAP®, hardware components, etc.) existed outside of the cloud infrastructure, which non-functional requirements should be placed on the cloud (performance, availability, scalability) and which security aspects (personal data, critical business processes) should be considered. 

At this stage, AWS CloudFormation allowed for the simplified development of the blueprints of the cloud architecture. 

Serverless Compute Service 

AWS Lambda, as evidenced in ZühlkeClient’s project, offered several advantages including serverless execution, which meant ZühlkeClient did not have to manage servers or runtimes. AWS Lambda automatically scaled with the number of requests and charged only for the compute time consumed. This service has seen success in scenarios where event-driven computing is key, such as real-time file processing with Amazon S3, stream processing with Amazon Kinesis, or in conjunction with API Gateway for backend services. 

Storage Architecture 

For ZühlkeClient, Amazon RDS was selected for relational database needs due to its ease of setup, scalability, and manageability. However, AWS offers other database solutions such as Amazon DynamoDB for NoSQL requirements, Amazon Aurora for high-performance relational databases, and Amazon Redshift for data warehousing which should also be considered. The choice depends on factors like the nature of data, consistency requirements, and specific use cases like high throughput or complex querying needs. 

Amazon S3 was ZühlkeClient’s storage choice, as it is a service known for high durability, availability, and scalability. It is also suitable for storing and retrieving any amount of data, at any time, from anywhere on the web.  

Virtual Service to make computing easier for developers 

ZühlkeClient utilized Amazon EC2 for compute resources, which offers resizable compute capacity in the cloud and is designed to make web-scale computing easier for developers. EC2 instances come in various types that optimize for different cases, like memory-intensive or compute-optimized tasks. Other AWS compute solutions which would be applicable in other circumstances include AWS Elastic Beanstalk for deploying applications without managing the infrastructure and AWS Fargate for running containers without managing servers or clusters. 

Adaptation of the software development process 

In most cases, a migration is not just a lift & shift process but rather a chance to modernise & migrate. As such, a company must take into account and take advantage of the AWS Cloud to enable faster modernisation of applications and the enablement of new features and functionality.  From a business value perspective, this next step of automating your software development and infrastructure management processes is vital to enable ZühlkeClient to capture the most value from its cloud migration. 

For ZühlkeClient, deploying CI/CD (continuous integration/continuous deployment) pipelines was a strategic move to maximise the advantages of cloud migration. By leveraging AWS services such as AWS CodePipeline for automating the release processes and AWS CodeBuild for compiling and testing code, ZühlkeClient ensured a smooth transition while enabling faster application modernisation. These tools allowed automatic deployment of updates, which encourages innovation by reducing the time to market for new features and functionalities. Moreover, integrating these pipelines with AWS's native monitoring and management tools like AWS CloudWatch ensured that ZühlkeClient maintained high operational standards during and after the migration. This approach aligned with the modernise-and-migrate strategy by embedding best practices and agile methodologies into the core of ZühlkeClient’s cloud operations. 

Contact person for United Kingdom

Brewster Barclay

Business Development Director

Brewster Barclay has a long history developing and selling innovative software and hardware solutions in the electronics and Internet industries, including running a start-up for 6 years. He is dedicated to helping customers create innovative solutions in healthcare and has shown this outside of his Zühlke responsibilities in his frequent mentoring of e-health and medtech startups.

Contact
Thank you for your message.