TP032057
UC3F1805SE
Module Code
:
CT071-3-3-DDAC
Intake Code
:
UC3F1805SE
TP No
:
TP032057
Lecturer Name
:
Mrs. Chong Mien May
Hand out Date
:
1st November 2018 19th February 2019
Hand in Date Tutorial
:
T3
CT071-3-3-DDAC
TP032057
UC3F1805SE
CT071-3-3-DDAC
Table of Contents 1.0 Introduction ...................................................................................................................................... ...................................................................................................................................... 3 1.1 Background Information ............................................................................................................... ............................................................................................................... 3 1.2 Problem Statement ...................................................................... ....................................................................................................................... ................................................. 3 1.3 Objectives................................................... Objectives......................................................................................................................... ................................................................................... ............. 3 1.4 Scope .......................................................................................................... ............................................................................................................................................. ................................... 3 1.5 Requirement Specification ........................................................... ............................................................................................................ ................................................. 4 1.6 Background of Azure Cloud.......................................................... ........................................................................................................... ................................................. 4 1.7 Background B ackground of AWS Cloud ............................................................................................................ ............................................................................................................ 5 1.6 Main Function of the System ....................................................................................................... ......................................................................................................... 6 2.0 Project Plan ....................................................................................................................................... ....................................................................................................................................... 7 3.0 Requirements Specification .............................................................................................................. 8 4.0 The Architectural Arc hitectural Diagram ................................................................................................................ ................................................................................................................ 9 5.0 Implementation ................................................................................................................... .............................................................................................................................. ........... 10 5.1 Publishing the web app to Azure ................................................................................................ ................................................................................................ 10 5.2 Web App ............................................................... ..................................................................................................................................... ...................................................................... 11 5.3 Application Scaling ...................................................................................................................... ...................................................................................................................... 17 5.4 Traffic Manager ................................................................. ........................................................................................................................... .......................................................... 17 6.0 Container Management System ..................................................................................................... ..................................................................................................... 19 7.0 Test Plan and Test Dicussion ............................................................ ........................................................................................................... ............................................... 21 7.1 System Testing ............................................................................................................................ ............................................................................................................................ 24 7.1.1 Testing Plan ............................................................................................................... .......................................................................................................................... ........... 24 Unit Testing ................................................................................................................................... ................................................................................................................................... 24 User Acceptance Testing ................................................................... ............................................................................................................... ............................................ 26 8.0 Conclusion and a nd Reflections ....................................................................................... ............................................................................................................. ...................... 27 8.1 Reflections.................................................. Reflections........................................................................................................................ ................................................................................. ........... 27 8.2 Conclusion ...................................................................................................... ....................................................................................................................................... ................................. 28 9.0 References ................................................................. ...................................................................................................................................... ..................................................................... 29
TP032057
UC3F1805SE
CT071-3-3-DDAC
1.0 Introduction 1.1 Background Information This assignment is based on Maersk Line who is the global container division and the largest operating unit of the A.P Moller of Maersk Group which is Danish business conglomerate.
1.2 Problem Statement The Maersk Line is trying to focus more on business growth and company flexibility. Because of that, they wanted to cut down most of the expenses in the IT sector and try to make it more productive. One of the strategy, they wanted to implement is to transfer all their data servers in the whole world to one virtual cloud machine, which can cut down them from buying hosting server hardware expenses. Since Microsoft Azure provide one of the world best cloud storage service. They wanted to move all of their data to there and centralize it.
1.3 Objectives The objective of this project is to : 1. To deploy the system to Azure according to appropriate scales and business needs. 2. To provide a reliable and faster interactive system for the company and customer to use. 3. To reduce as much of pass server data latency issues as much as possible.
1.4 Scope First, the developer will implement the main function which is the login and register part. And make sure everything works accordingly and perfectly. Secondly, the system will include the booking process which will let the agent to help the customer to book for available slot. And by using Azure cloud service, the developer will make sure it runs smoothly. Lastly, is the developer will deploy it to Azure cloud and using traffic manager control to manage incoming and outgoing traffic.
TP032057
UC3F1805SE
CT071-3-3-DDAC
1.5 Requirement Specification Maintainability: The system will need to have constant update and upgrade to ensure the
system always run on the latest technology and system. Monitoring: The system must constantly get monitor to identify any problems or
troubleshoot problem that need to be change or update.
1.6 Background of Azure Cloud Microsoft Azure, formerly known as Windows Azure, is Mircrosft’s public cloud computing platform. It provides a range of cloud services, including those for compute, analytics, storage and networking. Users can pick and choose from these services to develop and scale new applications or run existing applications in the public cloud (SearchCloudComputing, 2019). Microsoft first unveiled its plans to introduce a cloud computing service called Windows Azure in 2008. Preview versions of the service became available and matured, leading to its commercial launch in early 2010. Although early iterations of Azure cloud services fell behind more established offerings, such as AWS, the portfolio continued to evolve and support a larger base of programming languages, frameworks and operating system (including Linux). By early 2014, Microsoft recognized that the implications of cloud computing stretched far beyond Windows, and the service was rebranded as Microsoft Azure (SearchCloudComputing, 2019). Although internal development has been an important part of Azure service maturi ty, Microsoft also relies on mergers and acquisitions to build out its portfolio. In 2017, for example, Microsoft acquired Cloudyn to boost Azure’s cost management c apabilities, and, in that same year, acquired Cycle Computing to bolster Azure’s support for high-performance computing
and big data tasks (SearchCloudComputing, 2019). In early 2018, Microsoft acquired Avere Systems to build out Azure’s capabilities in hi gh-performance storage with network file
systems (NFSes) and server message block (SMB) file-based storage for Linux and Windows systems (SearchCloudComputing, 2019)
TP032057
UC3F1805SE
CT071-3-3-DDAC
1.7 Background of AWS Cloud Sometimes, it can feel like the $120 billion cloud industry emerged out of thin air, seemingly overnight. But Amazon Web Services (AWS), the pioneering (and leading) cloud computing platform provided by Amazon.com, emerged from separate internal initiatives at Amazon over 15 years ago to both aid developers and improve the efficiency of the company’s own
infrastructure (Rojas, 2019). The origins of AWS as a developer tool can be traced all the way back to 2002, when an initial beta was released (named Amazon.com Web Service) that offered SOAP and XML interfaces for the Amazon product catalogue. This welcome mat for developers was the first step by Amazon to embracing the potential of developer-friendly tools, particularly in an infrastructure space, as an actual product (Rojas, 2019). Not long after, in 2003, during an executive retreat at Jeff Bezos’ house, t he Amazon leadership team was ask ed
to identify the core strengths of the company. One thing became abundantly clear: Its infrastructures services gave them a huge advantage over their competition (Rojas, 2019). From there, a grander idea emerged: That a combination of infrastructure services and developer tools could become a pseudo-operating system for the internet. By isolating different parts of the infrastructure (compute power, storage, and database) as components to the operating system and having developer-friendly tools to manage them, it was possible to conceive of infrastructure (especially Amazon’s) as automated and standardized with web services that can call for more resources. In 2004, the company’s first public acknowledgment of AWS emerged
in a blog post, hinting at the developments to come (Rojas, 2019). Publicly launched on March 19, 2006, AWS offered Simple Storage Service (S3) and Elastic Compute Cloud (EC2), with Simple Queue Service (SQS) following soon after. By 2009, S3 and EC2 were launched in Europe, the Elastic Block Store (EBS) was made public, and a powerful content delivery network (CDN), Amazon CloudFront, all became formal parts of AWS offering. These developer-friendly services attracted cloud-ready customers and set the table for formalized partnerships with data-hungry enterprises such as Dropbox, Netflix, and Reddit, all before 2010 (Rojas, 2019)
TP032057
UC3F1805SE
CT071-3-3-DDAC
1.6 Main Function of the System Register Function
The system allows staff to register agent profiles and also let agents to register customer p rofile.
Login Function
The system allows users to login to the system but giving their username and password.
Edit Function
The system allows users to edit their details when they need to change it.
Delete Function
The system allows users to delete the information they want to delete.
Book Function
The system allows agents to book the time slot schedule for the customers.
TP032057
UC3F1805SE
CT071-3-3-DDAC
2.0 Project Plan Project plan is one the most important element in the project to shows the overall progress that you had done in the project. At here the developer will show what is the task that had been done and when was executed and when was finished.
Task Id
Task Names
Days Start Date
End Date
Status
1
Register
2
17-1-2018
19-1-2018
Completed
2
Login
1
21-12-2018
21-12-2018
Completed
3
Create Entity
2
22-12-2018
24-12-2018
Completed
3
7-1-2019
9-1-2019
Completed
4
10-1-2019
14-1-2019
Completed
Framework Design 4
Connect to the entity framework database
5
Create auto generate create, edit, delete and details controller MVC
6
Booking Process
1
16-1-2019
16-1-2019
Completed
7
Deploy to Azure server
3
17-12019
19-1-2019
Completed
8
Design Website Layout.
2
20-1-2019
22-1-2019
Completed
TP032057
UC3F1805SE
CT071-3-3-DDAC
3.0 Requirements Specification A high-level requirements specification is required. The purpose of the requirements analysis is to identify requirements for the proposed system. The emphasis is on the discovery of user requirements. Each requirement (or problem) must be defined and documented in the requirements catalogue. Each requirement is recorded in the requirements catalogue on a requirement catalogue entry from (Sqa.org.uk, 2019). 3.1
Hardware Requirements 1.6 GHz or faster processor
➢
1GB of RAM (1.5 GB if running on a virtual machine)
➢
4 GB of available hard disk space 5400RPM hard disk drive
➢
3.2 Software Requirement Microsoft Visual Studio 2015 Enterprise
➢
Microsoft Azure
➢
SQL Server Management
➢
TP032057
UC3F1805SE
CT071-3-3-DDAC
4.0 The Architectural Diagram The architecture diagram below shows how the Maersk Line web service wor ks on the Azure cloud. First it will deploy on a local host server and then it will connect to the Azure cloud local resources web services to deploy to the cloud. And then, there will be a SQL database backend to connect to the database server and also a traffic manager to manage the outgoing traffic control
Connect to Traffic Manager to manage traffic outgoing control.
Deploy to the web app service in Azure.
Connect to Database in Azure
TP032057
UC3F1805SE
CT071-3-3-DDAC
5.0 Implementation 5.1 Publishing the web app to Azure The first step is to register the application in the Azure by registering your application to it in the Azure Dashboard portal.
Figure 1 Main Resources Group Dashboard
This is where the resource group where you can see there are two different resources group which are webappsoutheastasia and webappWesternEurope. The developer only choses southeast asia as the other two is just for testing purposes only.
TP032057
UC3F1805SE
CT071-3-3-DDAC
5.2 Web App
Figure 2 Select Web App
This image shows that the developer will choose the web app features to deploy to the website.
TP032057
UC3F1805SE
CT071-3-3-DDAC
````Figure 3 Enter Web App Details
This image shows that after you input the app name which will be the website name that you are going to host. Then, you will need to choose the resource group which at the first image that had shows. After that, that you will need to choose the location which is the nearest which will be South East Asia.
TP032057
UC3F1805SE
CT071-3-3-DDAC
Figure 4 Web App Service
After successfully created, you will see the app services will have the the web service name you created.
Connect To the SQL Database
Figure 5 Database
TP032057
UC3F1805SE
CT071-3-3-DDAC
This part is where the developer type in the database name info to create the database.
Figure 6 Create Database Server
Then this part is where the developer need to create a server and then type in the server name and the admin and password login details to be use later in the connection string part to connect the app project to the Azure database.
Figure 7 Select Database Scaling Option
TP032057
UC3F1805SE
CT071-3-3-DDAC
And also the user will also need to choose a pricing tier which is suitable for the database size. Firewall Settings
Figure 8 Add Firewall Setting
In the firewall setting the user need to client IP address of the current IP address of the computer that is using it. So, that the SQL Server connection can access it.
TP032057
UC3F1805SE
CT071-3-3-DDAC
Figure 9 Database Connection String
After that insert his ADO.NET string provided in the connection string in the web.config file in the visual studio project.
TP032057
UC3F1805SE
CT071-3-3-DDAC
5.3 Application Scaling For this project application scaling had been done for both web app and SQL database. This is a necessary step to optimize the running speed time of the system By scaling up, you will be able to make the web app much faster and optimize. By scale out, you will try to transfer out the data to some other server to help you to balance out the traffic. In later we will talk about the traffic manager control, which is the one that will optimize the traffic incoming and outgoing calls.
5.4 Traffic Manager
TP032057
UC3F1805SE
CT071-3-3-DDAC
At here, the developer will key in the name for the traffic manager and then choose the routing method as performance to optimize the performance of the web app. For the traffic manager, deploying two or more different locations will optimize the web app traffic. The explanation to this is that the server when connected to different locations in the world, when there are people from Europe countries trying to access it, they will able to get pinpoint to the nearest server location which is Europe, when is SEA it will point to South East Asia.
This is the overall architecture of how the traffic manager works. It, will balance out the traffic by distribute the server to two different locations, which then will search for the nearest server to suite the user needs.
TP032057
UC3F1805SE
6.0 Container Management System
Figure 10 Home Page
CT071-3-3-DDAC
TP032057
UC3F1805SE
CT071-3-3-DDAC
TP032057
UC3F1805SE
CT071-3-3-DDAC
7.0 Test Plan and Test Dicussion The web application was tested on their performance test in Azure. This enabled the user to see the load the application can handled at the time set. Container Management System as follows: User Load: 20 Duration: 1 minute
TP032057
UC3F1805SE
CT071-3-3-DDAC
TP032057
UC3F1805SE
CT071-3-3-DDAC
TP032057
UC3F1805SE
CT071-3-3-DDAC
7.1 System Testing The following section will demonstrate the system testing process which will shows the validation of the specific features and shows the error message for specific features. For the login page, the user should type in the correct username and password only able to login to the system. If wrong, it will shows up error message. For registeration, it will check for the all the field is it enter. If not, the error message will prompt out and said all the field is require to fill up, before register. 7.1.1 Testing Plan
Unit Testing
S.N.O 1
Test ID TID 1
Test Function Login
Description
i.
Actual Result
Enter
Login successful
correct username
ii.
and
Login
password.
Unsuccessful
Enter wrong username
iii.
wrong
Login
password
unsuccessful
Enter correct username wrong password
Login unsuccessful
TP032057
2.
UC3F1805SE
TID 2
Register
CT071-3-3-DDAC
Enter wrong username or password 10 times. i. Enter Username,
Register Successful
password.
ii.
Enter password length too
Register
short or long
Unsuccessful
or not complex enough.
iii.
Enter username
Register
length too
Unsuccessful
long.
iv.
v.
vi.
Enter wrong email syntax.
Enter wrong phone number. Didn’t fill up all information details.
Register Unsuccessful
Register unsuccessful
Register unsuccessful
TP032057
UC3F1805SE
CT071-3-3-DDAC
User Acceptance Testing Question Poor 1. How would you rate the interface design of the page? 2. How would you rate the colour used by the app interface design? 3. How would you rate the emergency button design? Comments Remarks:
Ratings (1-4) Fair 2
Neutral
3
3
Very Good
TP032057
UC3F1805SE
CT071-3-3-DDAC
8.0 Conclusion and Reflections 8.1 Reflections The basic assessment is vital thing that should be featured on the grounds that it will influence general engineer objectives in term of time length and execution. In this part, the basic assessment will be set up about the task assets to execute, for exampl e, Microsoft Visual Studio 2013, MySQL as the database and the harder part is Microsoft Azure Cloud administrations. There has a great deal of devices that make the designer simple to build up any framework. In any case, the undertaking necessity is to utilize ASP.Net with C# programming dialect for execution coding part. The engineer has discovered it was difficult to build up the MVC with ASP.Net. It was on the grounds that ASP.Net has their own instruments that can't be supplan ted with other dialect. MySQL is the database instrument that are utilizing for Maersk Line System to store information before it distributes to sky blue cloud administrations. Utilizing MySQL for Maersk Line System is very difficulties because Maersk Line System need a protected ID for each unique client organization. the designer needs to set the secret word and vital detail ID to hashing. Microsoft Azure Cloud administrations is the hardest part for engineer keeping in mind the end goal to guarantee all the created framework and database can be suit and convey easily in Azure. It was on account of send every one of the information put away is the principle goal of the improvement. Since the Maersk Line need to utilize Azure Cloud Services, the engineer needs to guarantee all the security part can be handling. Other than that, designer additionally need to test the application after all the framework has been distributed to Azure to guarantee all the framework work legitimately as required.
TP032057
UC3F1805SE
CT071-3-3-DDAC
8.2 Conclusion To conclude this assignment, the web application in this task has been effectively created. It likewise fruitful distributed in Microsoft Azure administrations. Essentially, the designer has learned numerous new things while building up this venture. The designer takes as difficulties that he faces when there was many blunder and bugs. The engineer becomes more acquainted with more profoundly about Microsoft Visual Studio 2017 particularly while creating ASP>Net and C# programming dialect. It was another thing for engineer to execute ASP.Net Framework to create on application system. Plus, the engineer figured out how to deal with MySQL as a database connector since it was entangled toward the start. The designer likewise needs to coordinate the database and the system work keeping in mind the end goal to influ ence the application to can work appropriately. Likewise, MySQL is diverse with SQL Server Management. It required a great deal of investment for designer to adjust the extraordinary. Other than that, the engineer figured out how to see all the capacity and stream gave in Microsoft Azure Cloud Server before utilizing it for distributing the application from visual studio. The engineer can distribute effectively to accomplish the fundamental target which is utilize sky blue cloud as a database stage to store every one of the information more securely. Even though purplish-blue Cloud is tad muddled, yet it encourages Maersk Line framework to get superior in term of security and accessibility. To wrap things up, this undertaking is extremely valuable and proficient to every one of the understudies keeping in mind the end goal to extend their insight in web advancement. It can be difficult to fo resee how your business will develop, or when you will require additional assets for here and now 'blasts' of movement or exchange volume. Expanded development or different requests frequently requests running applications with high load, or extra applications that most conventional facilitating models can't deal with (Sili.M, 2016). Purplish blue Cloud administrations is extraordinary compared to other case that can be utilized to all organization.
TP032057
UC3F1805SE
CT071-3-3-DDAC
9.0 References 1 SearchCloudComputing. 2019. What is Microsoft Azure (Windows Azure)? - Definition from WhatIs.com. [ONLINE] Available at: https://searchcloudcomputing.techtarget.com/definition/Windows-Azure. [Accessed 18 February 2019]. 2 The Media Temple Blog. 2019. A Brief History of AWS - The Media Temple Blog. [ONLINE] Available at: https://mediatemple.net/blog/news/brief-history-aws/. [Accessed 18 February 2019]. 3 AWS vs Azure: Cloud Comparison. 2019. AWS vs Azure: Cloud Comparison. [ONLINE] Available at: https://www.datamation.com/cloud-computing/aws-vs-azure-cloud.html. [Accessed 18 February 2019]. 4 Requirements Specification. 2019. Requirements Specification. [ONLINE] Available at: https://www.sqa.org.uk/e-learning/SDM03CD/page_01.htm. [Accessed 18 February 2019]. 5 dragon119. 2019. Cloud Design Patterns - Azure Architecture Center | Microsoft Docs. [ONLINE] Available at: https://docs.microsoft.com/en-us/azure/architecture/patterns/. [Accessed 18 February 2019]. 6 dragon119. 2019. Cache-Aside pattern - Cloud Design Patterns | Microsoft Docs. [ONLINE]
Available
at:
https://docs.microsoft.com/en-
us/azure/architecture/patterns/cacheaside. [Accessed 18 February 2019]. 7 dragon119. 2019. Valet Key pattern - Cloud Design Patterns | Microsoft Docs. [ONLINE] Available at: https://docs.microsoft.com/en-us/azure/architecture/patterns/valet-key. [Accessed 18 February 2019].