Tech Tuesday: Connected services – What You Need to Know
10 January 2017 |
Zackie Sweddin | About a 6 minute read
The term microservice doesn’t have an official definition. SmartBear defines it as, “a method of developing software applications as a suite of independently deployable, small, modular services in which each service runs a unique process and communicates through a well-defined, lightweight mechanism to serve a business goal”.
The proliferation of microservices has facilitated the rise of connected services. Connected services are also an ill-defined concept, but they refer to combining different types of services – especially across businesses and industries, to create new products and experiences for customers.
This blog post will take a closer look at the implications of the rise of microservices and connected services.
In 2006, Amazon was the first to pioneer the concept of microservices in the form of maintaining an application’s architecture in the cloud. The application’s databases, service layer and application layer were all decoupled and managed by individual teams. In essence, these are the characteristics of a microservices architecture. A decade later, the microservices ecosystem in application development is flourishing. You can find an API for almost anything and the majority of them are free of charge.
By using microservices, businesses and public sector entities can significantly reduce implementation cost and the time it takes to launch an application to market. A more advantageous and sometimes overlooked strategy is to enter a new vertical and actually monetise the amalgamation of connected services. Expedia and Lastminute.com are great examples of businesses who opened up their services to new entrants to holiday market and capitalised in the process.
Businesses can either build their own microservices or use commercial ones. Generally, outsourced microservices are cheaper and their maintainability is guaranteed by their Service Level Agreements, hence it is more likely to be chosen as the first option. It’s worth noting that integration with third parties comes with it’s own set of challenges. In 2011, BeKnown–a social media recruitment platform owned by Monster–planned to launch its product integrated with Linkedin. The plan was to allow users to “import work history details from Facebook, LinkedIn, and Monster.com, connect with contacts from these sites, Twitter, or their email, and browse jobs posted by these and their second degree connections”. BeKnown apparently violated the terms of service agreement between the two entities and LinkedIn blocked Beknown from accessing their API two days before it was set to launch. Today Beknown has over 150k likes on Facebook; however, one wonders if the original proposition would have resulted in Beknown being a greater success.
If a business is planning to build their own set of custom microservices or would like to use them for a long time, they can have an in-house team to build these and be responsible for scaling and maintaining them. The downside of this approach is its cost. It requires a lot of effort to recruit, train and manage these teams. At AND Digital we’ve thought long and hard about this problem and we’ve certainly helped our clients with this exact problem. We do this by helping clients establish an excellent digital development function and improve their ways of working. Our expert Prof Digital consultants know the ins and outs of this set up process and making this key change happen for our clients such as Whitbread, Halfords and Thomas Cook.
Connected Services: The NHS – A Case Study
Public sector and private businesses are creating solutions for their users quicker and cheaper than before. Connecting services across businesses opens up new possibilities for consumers. As an example, consider the following fictional scenario involving the UK National Health Service (NHS).
The NHS knows a healthy diet can improve the health of millions in the UK. Consider an app that integrates NHS blood test results with a nutritionist who would create daily meal plans, and an online grocery store to order ingredients to make the meals. A patient goes to the NHS for a blood test to gauge vitamin and mineral level. Test results show that she is deficient in certain vitamins. These results are displayed in her NHS app. In this new integrated health app, she’ll import the NHS results, fill in her meal preferences (low budget, vegan, any allergies), and send these to her nutritionist. The nutritionist will generate a customised meal plan for four weeks. Via push notification, the patient is informed of her meal plan. Upon opening the app, she can shop online for the first week’s ingredients. The patient chooses her preferred store (e.g. Ocado), and enters in her credentials. She is then taken to the Ocado app or website with the meal plan ingredients already in her basket – ready to check out. After a week, a push notification prompts the patient to record how she’s feeling on the meal plan (e.g. more / less energy, weight changes, even a progress photo). The patient can continue until the plan is over.
However, connected services present new challenges around information security and privacy. For example, the NHS use case above could raise the following risks:
- Passing personal health information to nutritionists may require a confidentiality agreement
- Login credentials from app to grocery store requires greater level of authentication and security layers
- Some sort of indemnity saying that if the patient does not get better, they can’t sue the NHS, the nutritionist, or the app
- The meal plans are confidential to the user and therefore the data held should treated as such
As we look to connect more and more services, technical standards will take on greater importance. Reinventing the wheel every time two services need to be connected is not a scalable approach. Fortunately, there are several standard protocols and technologies when it comes to APIs; examples include REST, JSON, and XML.
However, the picture gets murkier when we consider the Internet of Things (IoT), a concept closely related to connected services. The IoT is the worldwide network of smart products – physical objects with software and sensors that allow them to collect, send, and receive data. As a relatively recent development, the IoT is lacking in standardised protocols. Several organisations such as the IEEE are actively working to remedy the situation, but it will take years for businesses to coalesce around well-defined standards. The problem is further compounded by the fact that many smart products aren’t powerful enough to run traditional, operating systems, which has led to the creation of many custom, simpler operating systems.
In addition, connected services and the IoT pose new security challenges. Each new integration between services presents a new opportunity for security attacks. The IoT is particularly vulnerable given that many smart products rely on simplistic components and software that are more vulnerable to security threats.
To conclude, businesses and public sector entities can create truly life-changing, commercially viable customer experiences through the use of microservices in a secure and private way. Data transit and ownership of data is most likely the biggest concern for any business or public entity wishing to venture into the world of microservices and connected services. In reality, we’re all using some form of microservice and our data is in constant transit. Businesses and consumers must understand the risks of handing over our personal details to third-parties. With that said, the possibilities for delivering new and creatives services to consumers are endless.
- Social Times
- Microservices: Flexible Software Architecture
Senior Full Stack Developer (London)
Champion software quality and technical vision for AND and our clients, work on large-scale projects and help junior and mid developers grow in their roles.I'm Interested
Full Stack Developer (London)
Put your development expertise to work, building remarkable, digital products in Agile environments using a variety of languages and frameworks.I'm Interested
Tech Lead (Reading)
Bring your expert tech knowledge to the table to influence the direction of projects, whilst coaching and your team through engineering best practices.I'm Interested