My latest blog post for Capgemini is hosted at https://www.capgemini.com/us-en/2022/04/digital-cloud-platform-for-restaurants/
Sunday, 24 April 2022
Thursday, 7 April 2022
Reimagining Digital Transformation
The restaurant industry is experiencing an unprecedented transformational change. Business disruptions from the global health crisis prompted the restaurant industry to restructure and diversify its operating model and digital portfolio in response to the shift of market trends and customer preferences.
Elevated expectations for cleanliness, health, and safety are accelerating the adoption of contactless technologies, curbside pickup options, and mobile payments to minimize human interaction. Gartner predicts most organizations will leverage contactless technologies for up to 80% of their ordering and replenishment activities by 2024.
Restaurant businesses must prepare to meet the operational requirements of the new normal and drive supply chain efficiency. Furthermore, restaurants should thrive to maintain brand loyalty by providing a seamless and differentiated omnichannel experience through enhanced digital capabilities.
In this post, we will show you how Capgemini’s Digital Cloud Platform (DCP) for Restaurants empowers the industry to reimagine digital transformation by delivering compelling customer interaction and streamlined operations while reducing costs and improving efficiency.
The full version of this article is published at https://aws.amazon.com/blogs/apn/reimagining-digital-transformation-with-capgemini-digital-cloud-platform-for-restaurants-on-aws/
Sunday, 23 January 2022
Getting Application Modernization Right
What is App Modernization?
You frequently hear the term - and this can cover and mean a wide set of things.
If you are hampered by your legacy IT systems, you will be keen to take up an application modernization. This is an overall transformation towards a highly
scalable and always-on IT ecosystem that changes the traditional project driven
mindset of longer release cycles. You want to get away from siloed functions and thinking of quality and
operations as an afterthought, to a mindset where you are delivering and
operating applications frequently, with much smaller release
cycles, improved quality and automations.
And delivering real business value - not just falling into a trap of measuring how many Story Points were delivered in each sprint. I've frequently seen Story Points as a false measure of business value
App modernization should provides benefits to an enterprise that accelerate their journey towards a truly digital business - for example - enabling them to launch new and innovative products and focus on their core business instead of spending costs and time in resolving IT issues.
Thursday, 17 June 2021
Jigsaw Puzzle Timelapse Videos
My son and I assembled a 1000 piece jigsaw puzzle of the Cinque Terre view and recorded a timelapse video on the experience. 3 hours of recordings compressed into a 90 second video.
There are links to some jigsaw puzzles down below. Each one is a 1000 piece puzzle
Thursday, 8 April 2021
Enabling the connected vehicle
The car of the future is connected, autonomous, shared, electric – and it’s already here. For example, by 2030, more than 95 percent of passenger miles will be served by autonomous cars. With sensors now built into every imaginable aspect of a vehicle, from fully voice-operated features and driver attention monitoring to biometric security for reducing theft, the possibilities for the customer experience are endless. Car manufacturers have started thinking beyond traditional car features like design and engine type to consider cutting-edge digital capabilities like personalized subscription services where user can opt in or out of a range of on-demand features from a centralized marketplace.
Because of this, customers have changed the way they purchase cars – it’s not just about aesthetics or performance anymore. There is a shift in customer preferences to include features like personalized digital entertainment and data-powered productivity. Connected cars of the future will also offer facial recognition systems that change in-car settings for the driver, in-car gesture control and voice recognition for advanced security, and in-car shopping with geo-based prompts.
Capgemini’s research indicates that the automotive industry is a leading adopter of smart factories and use of digital technologies such as IoT connectivity, intelligent automation, and cloud-based data analysis and management. However, to take advantage and truly commercialize on the possibilities of the connected vehicle, automotive leaders need to ensure they have a strong technological foundation and that they are:
- Adopting next-gen capabilities that will drive innovation. This includes 5G, cloud, and AI. In fact, up to 15 percent of all new vehicles sold in 2030 could be fully autonomous using next-gen capabilities.
- Conforming to safety and security demands. Given the sensors and the data-driven nature of connected vehicles, they may be more prone to hacking. But turning control completely over to software could lead to new hacking vulnerabilities and other liability issues that companies cannot ignore. To overcome this, automotive companies have to allow drivers to intervene in emergencies.
- Choosing the right operating systems, hypervisor options, embedded software design, and hardware compatibility. These parameters are critical factors to consider given the increasing share of electrified vehicles as a percentage of new vehicle sales. For electrified vehicles, it’s important to have the right OS and embedded software and software.
- Enabling rapid prototyping, development, and testing/verification. There’s no denying that the future of the automotive industryis tied closely to additive manufacturing. Continued innovations in the 3D printing industry – including new materials, printers, and techniques – will continue to change the way companies design and create. To remain competitive, or simply stay relevant, organizations need to adopt smarter and faster ways to prototype and develop.
- Enhancing the capabilities behind design and production. A connected vehicle requires multiple end-to-end capabilities. The industry is in a critical period of disruption, and those who build in the software capabilities in the same way they think about hardware will be able to win mindshare and market share over the long term.
- Think beyond the vehicle. For connected cars, the ecosystem is not just within the vehicle. Because of this, automotive manufacturers need to work with fleet suppliers and service providers to deliver sustainable, connected value across the ecosystem. For example, automobile manufacturers need to work with city planners for better sustainability options such as placement of electric vehicle charging stations based on data.
The automotive industry is at an inflection point that is very similar to that of the telecom space in 2010 with the emergence of Apple. Software architecture will drive the future of the sector, and automotive CIOs need to take advantage of the opportunity by prioritizing the capabilities and differentiating features of their vehicles and connecting with service providers to deliver next-gen customized experiences.
This post was originally published by the author at https://www.capgemini.com/us-en/2021/04/enabling-the-connected-vehicle/
Sunday, 24 January 2021
The value of a platform approach in a cloud-native environment
A potential challenge that IT teams face when in a cloud-native environment is working within a highly distributed ecosystem with multiple moving parts, such as microservices and containers. If design patterns are not followed or implemented correctly, achieving maximum value can be a challenge. Because of this, we recommend a platform approach for any organization looking to embrace cloud-native development.
How is a platform valuable?
A platform-centric approach provides a framework with best practices and proven patterns that have worked not just within a single organization but within others as well. A platform is a base set of capabilities and features that provide the foundation to optimize and innovate, in this case within a cloud-native environment. It can encompass technology elements as well as processes. For example, we worked with a global wireless carrier to establish two platforms: one was based on microservices with a standard technology set and the other a DevOps implementation containing standard tools, processes, and technologies. A platform can integrate with partners, suppliers, and consumers and drive your business capabilities.
From a modernization standpoint, a platform provides the infrastructure for transforming from haphazard communication between legacy systems to well-defined reusable services. This standardization allows a company to react to change faster. A platform is horizontal and sits outside any specific line of business, which facilitates standardization that simplifies the process of making technical changes while promoting efficiency and scalability. For example, Capgemini worked with an organization to build a NoSQL datastore when the traditional online database became a bottleneck. The underlying platform capabilities, such as the event bus, were essential for the technical team to make a decision on a solution, pilot it quickly, and launch to production without an impact on operations.
What should a platform consist of?
A platform is essentially a pre-defined set of APIs and services that enable and support applications, data, and business capabilities for the enterprise. It can include operational, orchestration, data, and network components as well as lead up to AI algorithms, DevOps tools, and security services. These pre-defined APIs and services can also be specific to your business and technology, as in the case of core business functionalities that are exposed by legacy wrappers for consumption by the business. A platform also includes a mechanism for standardizing across lines of business, allowing specific teams to request features via self-service provisioning. It also includes a sandbox for trying out new capabilities to be added.
Should you build or buy your platform?
A platform exists to facilitate the rebuilding of the portfolio and should improve processes. When thinking about how to construct a platform, you can opt to build these capabilities in-house or leverage third-party services like Kubernetes or PaaS features from a cloud provider.
Technical leaders should look at platform roadmaps to progressively migrate business operations from existing systems to platform capabilities. For example, re-architecting a legacy monolith as PaaS services requires the use of existing re-usable and production-proven capabilities that maximize efficiency and reusability. This is, in essence, a shift to a platform approach, facilitated by the process of application modernization. In the platform approach, all modernized capabilities are built to be reused internally and externally, enabling the move to API monetization.
It’s important to remember that the transformation to a platform-centric approach will not happen overnight, and we don’t recommend going for a big-bang migration approach to a new platform. Rather, we recommend first conducting a pilot project with a group that embraces change, and then building from there.
For more information, please check out The app-modernization manual: The definitive guide to building intelligent apps from Capgemini, or reach out. This was originally published by the author on https://www.capgemini.com/us-en/2021/01/the-value-of-a-platform-approach
Sunday, 20 September 2020
API Security Testing Checklist
API should be checked for the following from a Security perspective:
1. Denial of Service Attack https://owasp.org/www-community/attacks/Denial_of_Service
2. OWASP A6- Security Misconfiguration https://owasp.org/www-project-top-ten/2017/A6_2017-Security_Misconfiguration.html
2. IP Access Control https://owasp-top-10-proactive-controls-2018.readthedocs.io/en/latest/c7-enforce-access-controls.html
3. MITRE CWE 250 Unnecessary Privileges - Basic Authentication
4. Ensure no direct access to database.
5. Access token authentication - e.g. OAuth* 2 with JWT for user authentication and authorization.
5. API Key Generation & Validation - API providers should expose secure methods to provide authorization code or access tokens on demand.
Wednesday, 10 June 2020
Making Digital Business a Reality
Monday, 4 May 2020
Wednesday, 17 July 2019
Practical Learnings on Microservices
An article I authored for my corporate blog on this topic is here
https://www.capgemini.com/2019/06/practical-learnings-on-microservices/
Wednesday, 9 January 2019
List of bands I tune into
Imagine Dragons
Last Album: Living Things
Mumford and Sons
Last Album: I am Easy to Find
Favourite Songs: Ada, This is the Last Time, Tunnel Vision
Wednesday, 17 October 2018
Container Volume Options and Features
Background
Containers need a mechanism to store data,
without which it will not be useful. Virtual Machines have the quality that
once started, any modifications are saved as a new VM. Containers on the other
hand are transient and are not designed to store any state that the application
generates
Types of Container Storage needs
Pod it is often necessary to share
files between those containers. Tuesday, 14 August 2018
Practical Learnings on Microservices
Below are some notes on real-life learnings.
Designing the Microservices:
•Small services with CRUD operations on single business function or domain
•Use Lightweight REST based communication (client-to-service and service-to-service)
•Keep Loosely Coupled
•Ensure Services are Stateless
•Appropriate design patterns such as Aggregator, Proxy & Branch Patterns are commonly used
•In unavoidable cases - there will be Distributed Transactions and need to design for them
•Must design for Failure – e.g. Delays, Errors or Unavailability of another service or 3rd party system.
•Provide default functionality in case of failures from a service
•Rely on Input Validation - (client-to-service and service-to-service)
•Centralized Logging and Monitoring is a must across distributed microservices
•Use Testing tools for integration of services
•Quick feedback on check-ins and failures in the CI/CD pipeline
§Need clear deployment strategy at the start to identify which services will be deployed on which VMs
