Cloud Solutions

The  Cloud Services that I provide revolve around managing existing AWS systems to accommodate instances where a company just doesn’t have the resources to fill in the gaps between services and products that they provide and the AWS workloads that they need to maintain.   

AWS Migration services are also provided, where a client might be testing the waters of Cloud implementations and either want to migrate an existing legacy system into the cloud (Lift-and-shift) or want to re-factor a legacy system into a more cloud-friendly system (for instance transforming a client-server solution into a serverless system).

Hiring a large consulting firm or paying for AWS support may not be cost effective for the work needed.  Independent contractors like myself are more flexible, financially feasible and professionally productive. 

Cloud Migrations

There are a series of tools within AWS that facilitate migrations.  The first is the AWS Application Discovery Service, used to collect metadata on your system, including CPU, memory, storage and network metrics to determine how to properly setup your cloud staging environment.  Once the metrics are collected, the AWS Application Migration Service, AWS Database Migration Service and AWS DataSync, all sitting under the umbrella of the AWS Migration Hub allow for a swift and secure lift-and-shift into the cloud.

 
 

Systems, like companies, are very different, but the process of a Cloud Migration is the same. As long as the process is stringently stuck to, it doesn’t matter if the system is an Enterprise streaming service or moving local WordPress installation into the Cloud.

What is involved in the migration process?

This is about sitting down with the client and listening to their pain points, what their vision is and taking a look at the system or systems that they are planning to move over into the cloud.    

In this phase, the AWS Application Discovery Service is utilized to collect data on the target application.  This tool can be installed on a VMWARE or Hyper-V, or as a simple agent service on the servers that are the targets of the migration. 

From the data collected, we can determine the breakdown of the Virtual Private Cloud network to create, what databases are involved, the security infrastructure that will need to be created as well as the users that would need access into the system and how that access will be provided. 

In addition, we would know the type of EC2 instances to instantiate, the CPU and memory those instances need, along with their storage (EFS, EBS, EFx, etc) and the type of scalability and reliability the system would need.   All of this information will be applied to the next phase of the operation.

With the data collected from the AWS Application Discovery service, we can design out the migration process, starting out with the type of connectivity we want to have between the Corporate Data Center and the AWS cloud (VPN, Direct Connect or Internet), the structure of the Virtual Private Cloud network, namely what is public facing and what isn’t, what type of security controls to implement and what AWS services to utilize (S3, Amazon RDS, EC2, EFS, etc).

From that point we can also determine the overall architecture of the system and implement items like load balancing, auto-scaling and read-replicas in ajoining Availability Zones to facilitate scalability, reliability and high-availability.  All of this of course will make for a highly resilient architecture with all the components needed to also insure that the system remains immune to disasters and flexible during high loads.

Finally, we will design out the staging, development and production environments, the key stakeholders that would have access to those environments and the process we will follow to implement the migration with minimal if any downtime.

The execution of the migration will occur with the assistance of some AWS Tools.  These tools are:

  • AWS Application Migration Service to facilitate the transition of the application to its associated EC2 instances.
  • AWS Database Migration Service to facilitate the migration of the database to the Amazon Relational Database Service or some other data storage service.
  • AWS DataSync to assure that data coming from NAS/File Services are reflected in the Elastic File System or Amazon S3.
  • AWS Migration Hub as a central control for all the processes and services that will be used to lift-and-shift the application into the cloud and the keep tabs on the progress made throughout the migration process. 

One of the most important processes of a migration is assuring that everything functions as expected.  To that end, there are a series of testing phases prior to moving into production:

  • Quality Assurance testing: Making sure that all the components of the system are performing as they should, that each piece that needs to communicate either with an API, a backend database or to the public domain is able to do so effectively, efficiently and securely.
  • Regression Testing:  Any changes made to the system before or during the migration will require testing to assure that none of the other components of the system are affected and the system performs at the very least to the baseline of how it performed in the clients data center.
  • User Acceptence Testing: Prior to going live, the users that utilize the system and the stakeholders for the system will need to run through their own tests to assure that the system is where it needs to be.

Once the testing is complete, we validate and optimize the system and push it into production.

Ongoing migration monitoring and management basically is the process of collecting system data like error logs, security logs, performance logs and a variety of other metrics to assess how the system is performing, what the cost savings are and how the system is scaling to increased or decreased traffic,…essentially what is the overall health of the system.  Any adjustments that need to made to assure that the system remains healthy usually occur here.

During this phase, the system is normally handed back over to the client for ongoing management and maintenance of the system.  We can remain involved in a supporting role or until the client can add the resources necessary to take over monitoring and managing the system fully.

After the baton is passed back to the client, we do offer re-evaluation services, where we look at what could be improved with the system in terms of scalability, security, reliability and sustainability.   

To that end, we would utilize the AWS Well-Architected Tool, which evaluates a workload against the six pillars of a well architected system, according to Amazon.  These are:

  1. Operational Excellence
  2. Security
  3. Reliability
  4. Performance Efficiency
  5. Cost Optimization
  6. Sustainability

The tool offers suggestions to refine any applications sitting on Amazon, providing the insite needed to continually improve upon the processes and services already in place.

Cloud App Creation

If we are creating an application from scratch into the cloud, the process is much the same as it is for a migration, the only difference is that instead of executing a migration we would be developing the application. Once the development is complete, all of the other steps of the process are the same.

Cloud App Management

You already have one or more workloads sitting in the AWS cloud but you don’t have the resources to manage things like the IAM users associated with the application, monitoring the systems or optimizing scalability, cost and security for the system.  While you seek out that full time resource, you just need someone to maintain system until such time you find the permanent resource to take over that responsibility.