Term Paper: Website Migration Project - Redo Existing Paper
2
Term Paper: WEBSITE MIGRATION PROJECT
CIS 210
6/14/2017
The Tony’s Chips company has tasked Perry’s Web Design to migrate an externally hosted website to an internally maintained webserver. Tony’s Chips is a thriving business and would need to get this accomplished with little to no impact to the user. They want to make sure that the company has a failover plan and very little down time during this migration and for future maintenance. In addition to these requests, Tony’s Chips is also requesting to have their website completely redesigned for better user experience and to add the feature of allowing customers to place online orders.
To make this migration go as smooth as possible, we will first implement the planning phase. During this process, we will be able to analyze what is needed for this migration. This is the part where we will make all the suggestions on how to move the external web server into the new one. We first suggest building two internal web servers to host the site. This will allow for redundancy and backup/failover. This will let us do some testing in the background while the main site is active. This will also allow us to use the second server as a backup should the main site fail or go down for maintenance. We will also be able to discuss the design of the new website, testing, and implementation strategies. Because most people are used to Windows, the servers will be loaded with Windows operating system to ensure there is some familiarization with the server to better maintain it. One of the top free webservers available is Apache HTTP, so we will be utilizing that for the web server (Muilwijk, 2016). For coding, JavaScript is recommended due to its simple use and ease of learning (JavaScript, 2016). It’s no wonder why a wide variety of use throughout many businesses today.
The migration process of moving the externally hosted webservers to the internal webservers will be done in parts over time so that we don’t have a high impact of downtime. The first step of the migration is to set up the new internal webservers to meet the changes and improvements from the old webservers. Once the new features have been implemented on the new website, the old site will be backed up to keep all the information from that website safe. This will also allow us to transfer the data into the new website. It will also serve as a failsafe, just in case the migration doesn’t go well, we’ll have the data backed up and will be able to restore everything back to its defaults. Once the data has been backed up and transferred into the new site, testing will begin. During testing, we will make sure that all of the previous features are working like before, with the addition of the new features requested. This testing will go on for a few days in order to give it a proper testing and seeing if all the new features are functioning properly. We will also purposely do some failover testing and bring one of the sites down to see if the backup site will automatically pick up and how long it will take. We would consistently try to bring that time down until it becomes a seamless process. Once all the testing is complete and the new sites have proven themselves, it will be time to redirect the old webserver to the new one. Once everything has transferred over and the new internal webservers are at full use, the old webserver can be terminated.
In the event of a disaster and both servers go down, there will be a cloud based solution that will back-up all of the company’s data. Amazon Web Solutions (AWS)offers many great storage and cloud computing options (Amazon, Inc). Cloud computing and storage is a safe and efficient way to have access to your data at all times from anywhere and any device. For a disaster recovery plan, you don’t want all of your information stored in one physical location. It’s the theory of having all of your eggs in one basket; you don’t want that because if all of your data is stored in one location, then you will lose everything if that location is compromised. If you have backups at different locations, you have a better chance of restoring your business and picking up where you left off. That is why cloud computing is a great backup and storage solution.
The System Development Life Cycle (SDLC) can be broken up 6 different parts; Planning, Analysis, Design, Implementation, Testing & Integration, and Maintenance (Alwan, 2015). 1. Planning – During this time, we will meet with Tony’s Chip company executives and their IT staff to go over the planning of the migration as described on the second paragraph. Here, we will layout the timeline of the project and ensure that both parties can agree on the time frame. This is an important step because this will allow us to stay on track and to give out customer an end date for the project to be finished. Without the timeline, the customer may expect the job to be done at a certain time, when in fact, the project could take a lot longer than they have anticipated, thus not having a good relationship between the migration team and the customer.
2. Analysis – During the analysis phase, we will go over all of the operational needs for this task. We will best match their operational needs with reasonable options that will fit within their budget and timeline. We will also assess their existing equipment and determine what additions (if any) are needed to accomplish their goals.
3. Design – During this phase, we will go over the design structure of how all of their systems are going to operate. We will come up with a network design that will explain where their servers will be located (both physically and virtually), come up with a design structure of their webpage, and go through a few use cases to ensure that the process is working correctly and to ensure the customer knows how their process works. Work flow diagrams will be presented for all of processes and steps to provide better understanding by being able to visualize the work being performed and it just makes the entire process easy to follow.
4. Implementation – This step may be the most important step during this SDLC process. By this time, all of the needed equipment will be either purchased and delivered on site where the physical servers will be hosted. All of the equipment will be staged and setup, ready for the migration. The new web servers will be configured to run the new web pages and will also be configured to back up the externally hosted web servers and the new internally hosted web servers.
5. Testing & Integration – During this phase, the site will be up and operational. The company executives and employees will be asked to test the site out and provide feedback of the product. This will allow us to test the system out and make sure it meets our customer’s operational need. The feedback provided will also allow us to make some adjustments that may be needed that might not have been thought of during the design phase. This will be equivalent to software engineers sending avid users a sample of their product and asking them what is good and bad about their product. This process will fine tune the design of their website before finalizing the page and having it go live. After a week, or two, the new sites go live, a message will be posted on the current page informing the customer of the new changes that are coming to the website. Once it is ready to go live, we will update the domain name servers (DNS) (Network Solutions, 2014) to start redirecting the customers to the new page (all done behind the scenes without the customer having to do anything).
6. Maintenance – This will be the final step of the SDLC process. During this process, small changes will be made at the client’s request, while more of their customers will start to use the webpage and provide feedback. If an overwhelming number of their customers complain about a feature on the webpage, Tony’s Chip’s IT staff can implement the changes to better suit their customer’s needs. The IT staff can also perform periodic failover testing on a quarterly or biannual basis to ensure that everything if functioning as it should. Of course, this testing will be performed during non-peak hours to ensure minimal impact to their business and their customers.
The justification for this type of system architecture is to create redundancy so if one of the servers goes down either by malicious intent, natural disaster, or human/system error, then the backup webserver can continue in operation without causing any issues for the company and their customers. The end goal is to never let the customer be affected if something went wrong with the company’s website/webserver. We want to make that as transparent as possible. The most commonly used operating system are Windows, iOS, and Linux. We have decided to use a Windows operating system because that is what we believe the majority of people are used to using when it comes to computer. iOS (Apple) has too many preparatory products and not all computing products work well with the iOS system, so we kept it simple and stuck with Windows. The use of Amazon and its cloud computing options was a great backup option due to its growing recognition for storage and cloud computing. AWS offers many services that would be beneficial for any company to use. JavaScript is an easy coding program that gives, even the basic user, a great advantage because of its ease of use and the JavaScript community consistently creating new codes and applications.
A purchase use case is the process described when a customer wants to buy a bag of chips from the online store. The customer will have the choice either to create an account and purchase the products that way, or they can continue as a “guest” and make a purchase without creating an account. This will show the type of chips available for purchase, the amount of chips available for purchase, and their total quantities in their virtual shopping cart.
Typical Transaction assuming the customer is already on the webpage of Tony’s Chips:
1. Customer will navigate to the online store of Tony’s Chips.
2. Website will display all available and upcoming items that can be purchased.
3. Customer will select the product they want to purchase.
4. Customer will enter the quantity of all selected products.
5. When customer is done “shopping”, customer can go to virtual shopping carts to place order.
6. Website will display all selected items and present subtotal.
7. Customer will be given the option to sign in if they have an account, create an account, or proceed as guest.
a. If customer chooses to sign in, they can sign in and have billing information already prefilled.
b. If customer chooses to create an account, they will go through a series of fields that will have to be filled out once to gather their billing informatin.
c. If customer continues as guest, they will go through the same process of creating an account, but wouldn’t be saved on the website and will have to do so with every order.
8. Customer will select shipping cost and confirm billing information.
9. Payment would be authorized and receipt will be emailed or can be printed/saved.
In order to maintain the newly built, internal webservers, Tony’s Chips should dedicate an employee to manage the web servers, for maintenance of the servers will need to be done as long as the company is in operation. This person will be responsible for making sure that all of the safety features are working as they are intended to periodically. Additionally, they should also update the website/servers with the latest requests from the company’s executives. He will also be responsible for keeping up with the latest technology and security patches to keep all their data and services relevant and secure.
References
Robin Muilwijk, 2016, Top 5 open source web servers. Retrieved June 15, 2017, from
https://opensource.com/business/16/8/top-5-open-source-web-servers
Amazon Web Services (AWS), 2017, Cloud Computing Services. (n.d.). Retrieved June 15,
2017, from https://aws.amazon.com/?nc2=h_lg
Motea Alwan, 2015, What is System Development Life Cycle?. Retrieved June 15, 2017, from
https://airbrake.io/blog/sdlc/what-is-system-development-life-cycle
Network Solutions (n.d.). Managing Domain Name Servers. Retrieved June 15, 2017, from
http://www.networksolutions.com/support/what-is-a-domain-name-server-dns-and-how-does-it-work/
JavaScript (n.d.). Retrieved June 15, 2017, from https://www.javascript.com/