###BeginCaseStudy###
Case Study: 5
Northwind traders
Background
Overview
Northwind Electric Cars is the premier provider of private, low-cost transportation in Denver.
Northwind drivers are company employees who work together as a team. The founding
partners believe that by hiring their drivers as employees, their drivers focus on providing a
great customer experience. Northwind Electric Cars has a reputation for offering fast,
reliable, and friendly service, due largely to their extensive network of drivers and their
proprietary dispatching software named NorthRide.
Northwind Electric Cars drivers depend on frequent, automatic updates for the NorthRide
mobile app. The Northwind management team is concerned about unplanned system
downtime and slow connection speeds caused by high usage. Additionally, Northwind’s inhouse data storage solution is unsustainable because of the new influx of customer data that is
retained. Data backups are made periodically on DVDs and stored on-premises at corporate
headquarters.
Apps
NorthRide App
Northwind drivers use the NorthRide app to meet customer pickup requests. The app uses a
GPS transponder in each Northwind vehicle and Bing Maps APIs to monitor the location of
each vehicle in the fleet in real time. NorthRide allows Northwind dispatchers to optimize
their driver coverage throughout the city.
When new customers call, the dispatcher enters their pickup locations into NorthRide.
NorthRide identifies the closest available driver. The dispatcher then contacts the driver with
the pick-up details. This process usually results in a pick-up time that is far faster than the
industry average.
Drivers use NorthRide to track the number of miles they drive and the number of customers
they transport. Drivers also track their progress towards their established goals, which are
measured by using key performance indicators (KPIs).
NorthRide App 2.0
Northwind Electric Cars is growing quickly. New callers often wait for their calls to be
answered because the dispatchers are contacting their drivers to arrange pickups for other
customers.
To support the growth of the business, Northwind’s development team completes an overhaul
of the NorthRide system that it has named NorthRide 2.0. When a dispatcher enters a
customer’s pickup location, the address and driving directions are automatically sent to the
driver who is closest to the customer’s pickup location.
Drivers indicate their availability on the NorthRide mobile app and can view progress
towards their KPI’s in real time. Drivers can also record customer ratings and feedback for
each pickup.
Business Requirements
Apps
NorthRideFinder App
Northwind Electric Cars needs a customer-facing website and mobile app that allows
customers to schedule pickups. Customers should also be able to create profiles that will help
ensure the customer gets a ride faster by storing customer information.
Predictor App
Northwind Electric Cars needs a new solution named Predictor. Predictor is an employeefacing mobile app. The app predicts periods of high usage and popular pickup locations and
provides various ways to view this predictive data. Northwind uses this information to better
distribute its drivers. Northwind wants to use the latest Azure technology to create this
solution.
Other Requirements
• On-premises data must be constantly backed up.
• Mobile data must be protected from loss, even if connectivity with the backend is lost.
• Dispatch offices need to have seamless access to both their primary data center and
the applications and services that are hosted in the Azure cloud.
• Connectivity needs to be redundant to on-premises and cloud services, while
providing a way for each dispatch office to continue to operate even if one or all of
the connection options fail.
• The management team requires that operational data is accessible 24/7 from any
office location.
Technical Requirements
Apps and Website
NorthRide / NorthRideFinder Apps:
• The solution must support on-premises and Azure data storage.
• The solution must scale as necessary based on the current number of concurrent users.
• Customer pickup requests from NorthRideFinder must be asynchronous.
• The customer pickup request system will be high in volume, and each request will
have a short life span.
• Data for NorthRideFinder must be protected during a loss of connectivity.
• NorthRide users must authenticate to the company’s Azure Active Directory.
Northwind Public Website
• The customer website must use a WebJob to process profile images into thumbnails
• The customer website must be developed with lowest cost and difficulty in mind.
• The customer website must automatically scale to minimize response times for
customers.
Other Requirements
Data Storage:
• The data storage must interface with an on-premises Microsoft SQL backend
database.
• A disaster recovery system needs to be in place for large amounts of data that will
backup to Azure.
• Backups must be fully automated and managed the Azure Management Portal.
• The recovery system for company data must use a hybrid solution to back up both the
on-premises Microsoft SQL backend and any Azure storage.
Predictive Routing:
• An Azure solution must be used for prediction systems.
• Predictive analytics must be published as a web service and accessible by using the
REST API.
Security:
• The NorthRide app must use an additional level of authentication other than the
employee’s password.
• Access must be secured in NorthRide without opening a firewall port.
• Company policy prohibits inbound connections from internet callers to the onpremises network.
• Customer usernames in NorthRideFinder cannot exceed 10 characters.
• Customer data in NorthRideFinder can be received only by the user ID that is
associated with the data.
###EndCaseStudy###
You need to recommend a technology for processing customer pickup requests.
Which technology should you recommend?
A.
Notification hub
B.
Queue messaging
C.
Mobile Service with push notifications
D.
Service Bus messaging
Explanation:
Service Bus queues are part of a broader Azure messaging infrastructure that supports queuing as
well as publish/subscribe, Web service remoting, and integration patterns.
Service Bus Queue support Push-style API (while Azure Queue messaging does not).
Incorrect:
Not A: Notification Hub is only used to push notification, not for processing requests.
Not B As a solution architect/developer, you should consider using Azure Queues when:
* Your application must store over 80 GB of messages in a queue, where the messages have a
lifetime shorter than 7 days.
* Your application wants to track progress for processing a message inside of the queue. This is
useful if the worker processing a message crashes. A subsequent worker can then use that
information to continue from where the prior worker left off.
You require server side logs of all of the transactions executed against your queues.
Not C: To process the messages we do not need push notification.
Azure Queues and Service Bus Queues – Compared and Contrasted
https://msdn.microsoft.com/en-us/library/azure/hh767287.aspx
I am not sure D is correct. In the case study it says that “Customer pickup requests from NorthRideFinder must be asynchronous.”
So it should be using a queue for this. It also states ” The customer pickup request system will be high in volume, and each request will have a short life span.”
High volume could mean greater than 80 GB of messages in a queue and that the short life span could be that messages have a lifetime shorter than 7 days.
If interpreted that way the answer could be B.
Azure Service Bus Queue
Web Roles and Worker Roles can directly communicate with each other. However, a more common pattern is to use a reliable messaging system such as Azure Service Bus Queue to pass messages between them.
cloud service role: A cloud service role is comprised of application files and a configuration. A cloud service can have two types of role:
web role: A web role provides a dedicated Internet Information Services (IIS) web-server used for hosting front-end web applications.
worker role: Applications hosted within worker roles can run asynchronous, long-running or perpetual tasks independent of user interaction or input
notification hub
You can broadcast messages to millions of devices through Notification Hubs. Alternatively, you can push messages to a user, or specific devices of the user. You can also push messages to a group of users; for example, users at a given geographic location.
Ans: D is correct
D is Correct