Unleash the Potential of Your Legacy Software with Application Modernisation

CATEGORIES

BlogTech Community

Introduction

In the modern all-digital business environment, applications play not only a critical role for driving the internal business processes but are also increasingly key to generating all new digital revenue sources or driving traditional revenues using digital channels. This has led to 100 million applications being created during the last 40 years (according to IDC) with the same amount of applications estimated to be created during the next 5 years alone.

Clearly, not all applications of these applications have been built in light of the current requirements nor using the cloud technologies that drive much of the current digital businesses. These traditional companies becoming increasingly digital are now facing new software related challenges impacting their core businesses that they had not faced in the past.

Such challenges are for example:

  • The increasing demand for digital services combined with legacy “monolithic” applications leading to inability to maintain a 24/7 availability and scale to peak loads
  • Tight coupling with enterprise applications operated “Mode 1” combined with overly complex monolithic architectures leading to inability to respond to external pressure to develop new features (in some cases driven by regulatory changes such as GDPR) at the pace expected by internal or external customers
  • Difficulties or increasing costs in recruiting experts to develop and maintain applications based on legacy technologies on legacy platforms
  • Re-hosting of legacy applications as-is to public cloud platforms leading to suboptimal operating costs, e.g. due to legacy software licensing models being incompatible with cloud platforms.

Luckily the public cloud provides a rich set of PaaS services that go beyond the virtual infrastructure provided by traditional data centres. These services, such as managed queues, databased and serverless compute, drive new development paradigms such as serverless or cloud-native application development, which have a track record not only in making the operations of the applications more flexible and cost-effective (up to 90% savings) but increased developer productivity (up to double). These advantages are driving high adoption. According to IDC, two thirds of new enterprise applications will be developed cloud native by 2021. Cloud technologies enable not only new application development but also make modernisation initiatives of legacy applications more viable and attractive.

Approaches to application modernisation

A multitude of strategy alternatives can be used to tackle the business challenges of applications. A typical modernisation initiative consists of different strategies that are applied to the different components of an application.

The simplest approach for modernisation consists of replacing some of the generic services of the application with managed cloud services to gain cost savings and/or improve scalability. For example,

  • replacing your relational database with a managed cloud database such as Amazon Relational Database Service. 
  • replacing a message queue with a managed service such as Amazon Simple Queue Service
  • replacing custom built user management with PaaS / SaaS based solutions such as Amazon Cognito

This approach typically requires minimal changes to the application source code and enables to get an improved and cloud-optimised version of your application in production in minimal time. In 6R terms, this is what is typically referred to as “Re-platforming”.

One approach used is the introduction of an API façade based on cloud native technologies such as AWS Lambda and Amazon API Gateway and decoupling of the legacy application from the user interface layer. Some business logic related to the application may be introduced to this API layer but it is a good practice to keep that fairly simple. This approach enables the following:

  • Development of user experience independently of the legacy application development to drive better customer engagement
  • Development (e.g. modernisation) of backend independently and transparently from the user interface
  • Leveraging the data and processes of the legacy application for other application needs via the API

The most complex approach is a full rewrite of an application or component (in 6R terms “Refactoring”). This approach consists of re-architecting the application or component to fully leverage the capabilities of the public cloud and rewrite most of the application code, possibly in a different programming language than originally used. Typical architectural patterns that are applied during a full rewrite are:

  • Stateless execution to enable horizontal scaling and improve fault tolerance
  • Microservice based approach to minimise unit of deployment and enable agile development in small teams
  • Serverless (e.g. based on AWS Lambda) wherever suitable to focus development on business logic and enable out-of-the-box scalability

In addition to the technology and architectural changes, it is key to have also modern software development tools and practices in place to get most of the benefits out of the modernisation initiative.

In real life modernisation initiatives, it is typical that the strategy is a combination of the above and modernisation is run in a phased approach by modernising component by component. This enables faster time-to-production with the initial architecture and ability to leverage the modernised architecture sooner than an “all-at-once” approach. The downside of a phased approach is the added cost of running both the legacy and modern applications in parallel but that is often justified by the positive impact on other strategic business metrics than operating cost. An example scenario for a phased modernisation is the following:

  1. Building an API façade to make the data and processes of the original application easily accessible.
  2. Modernising the user interface/consumer layer to leverage the API layer, providing decoupling of backend and consumer logic and enabling parallel and independent development.
  3. Step-by-step modernisation of the original backend and development of new capabilities behind the API layer.

Getting there

With the multitude of approaches available, embarking on the modernisation journey for an application or portfolio applications requires clear objectives and understanding of the capabilities. Our recommendation is to start with an application assessment which consists of the following:

  • Setting the key business objectives and priorities for the initiative (improve scalability, improve development capabilities, save costs, …)
  • Understanding the current application architecture and identify which components are conflicting with the objectives or represent the highest opportunities for improvement
  • Understanding the current state of software development practices and tools
  • Setting a shared ambition state for the application architecture and software development tools/practices

The above are key to ensure that the objective and business rationale for the modernisation is clear and driving the actual modernisation work aligned with the set objectives.

Nordcloud helps customers with the full modernisation journey from assessment to managing the modernised applications in public cloud environments.

Read more about our application management services

P.S. Nordcloud will be attending the AWS Summit in Stockholm on May 22nd, 2019. Come visit us at booth P2 and discuss more about our experiences in improving digital business capabilities with application modernisation. Sign up at https://aws.amazon.com/events/summits/stockholm/

Blog

Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

Blog

Building better SaaS products with UX Writing (Part 3)

UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

Blog

Building better SaaS products with UX Writing (Part 2)

The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

Get in Touch

Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








    Unleash The Potential Of Your Legacy Software With Application Modernisation

    A multitude of strategy alternatives can be used to tackle the business challenges of applications. A typical modernization initiative consists of different strategies that are applied to the different components of an application.

    Introduction

    In the modern all-digital business environment, applications play not only a critical role for driving the internal business processes but are also increasingly key to generating all new digital revenue sources or driving traditional revenues using digital channels. This has led to 100 million applications being created during the last 40 years (according to IDC) with the same amount of applications estimated to be created during the next 5 years alone.

    Clearly, not all applications of these applications have been built in light of the current requirements nor using the cloud technologies that drive much of the current digital businesses. These traditional companies becoming increasingly digital are now facing new software related challenges impacting their core businesses that they had not faced in the past.

    Such challenges are for example:

    • The increasing demand for digital services combined with legacy “monolithic” applications leading to inability to maintain a 24/7 availability and scale to peak loads
    • Tight coupling with enterprise applications operated “Mode 1” combined with overly complex monolithic architectures leading to inability to respond to external pressure to develop new features (in some cases driven by regulatory changes such as GDPR) at the pace expected by internal or external customers
    • Difficulties or increasing costs in recruiting experts to develop and maintain applications based on legacy technologies on legacy platforms
    • Re-hosting of legacy applications as-is to public cloud platforms leading to suboptimal operating costs, e.g. due to legacy software licensing models being incompatible with cloud platforms.

    Luckily the public cloud provides a rich set of PaaS services that go beyond the virtual infrastructure provided by traditional data centres. These services, such as managed queues, databased and serverless compute, drive new development paradigms such as serverless or cloud-native application development, which have a track record not only in making the operations of the applications more flexible and cost-effective (up to 90% savings) but increased developer productivity (up to double). These advantages are driving high adoption. According to IDC, two thirds of new enterprise applications will be developed cloud native by 2021. Cloud technologies enable not only new application development but also make modernisation initiatives of legacy applications more viable and attractive.

    Approaches To Application modernisation

    A multitude of strategy alternatives can be used to tackle the business challenges of applications. A typical modernisation initiative consists of different strategies that are applied to the different components of an application.

    The simplest approach for modernisation consists of replacing some of the generic services of the application with managed cloud services to gain cost savings and/or improve scalability. For example,

    • replacing your relational database with a managed cloud database such as Amazon Relational Database Service. 
    • replacing a message queue with a managed service such as Amazon Simple Queue Service
    • replacing custom built user management with PaaS / SaaS based solutions such as Amazon Cognito

    This approach typically requires minimal changes to the application source code and enables to get an improved and cloud-optimised version of your application in production in minimal time. In 6R terms, this is what is typically referred to as “Re-platforming”.

    One approach used is the introduction of an API façade based on cloud native technologies such as AWS Lambda and Amazon API Gateway and decoupling of the legacy application from the user interface layer. Some business logic related to the application may be introduced to this API layer but it is a good practice to keep that fairly simple. This approach enables the following:

    • Development of user experience independently of the legacy application development to drive better customer engagement
    • Development (e.g. modernisation) of backend independently and transparently from the user interface
    • Leveraging the data and processes of the legacy application for other application needs via the API

    The most complex approach is a full rewrite of an application or component (in 6R terms “Refactoring”). This approach consists of re-architecting the application or component to fully leverage the capabilities of the public cloud and rewrite most of the application code, possibly in a different programming language than originally used. Typical architectural patterns that are applied during a full rewrite are:

    • Stateless execution to enable horizontal scaling and improve fault tolerance
    • Microservice based approach to minimise unit of deployment and enable agile development in small teams
    • Serverless (e.g. based on AWS Lambda) wherever suitable to focus development on business logic and enable out-of-the-box scalability

    In addition to the technology and architectural changes, it is key to have also modern software development tools and practices in place to get most of the benefits out of the modernisation initiative.

    In real life modernisation initiatives, it is typical that the strategy is a combination of the above and modernisation is run in a phased approach by modernising component by component. This enables faster time-to-production with the initial architecture and ability to leverage the modernised architecture sooner than an “all-at-once” approach. The downside of a phased approach is the added cost of running both the legacy and modern applications in parallel but that is often justified by the positive impact on other strategic business metrics than operating cost. An example scenario for a phased modernisation is the following:

    1. Building an API façade to make the data and processes of the original application easily accessible.
    2. Modernising the user interface/consumer layer to leverage the API layer, providing decoupling of backend and consumer logic and enabling parallel and independent development.
    3. Step-by-step modernisation of the original backend and development of new capabilities behind the API layer.

    Getting There

    With the multitude of approaches available, embarking on the modernisation journey for an application or portfolio applications requires clear objectives and understanding of the capabilities. Our recommendation is to start with an application assessment which consists of the following:

    • Setting the key business objectives and priorities for the initiative (improve scalability, improve development capabilities, save costs, …)
    • Understanding the current application architecture and identify which components are conflicting with the objectives or represent the highest opportunities for improvement
    • Understanding the current state of software development practices and tools
    • Setting a shared ambition state for the application architecture and software development tools/practices

    The above are key to ensure that the objective and business rationale for the modernisation is clear and driving the actual modernisation work aligned with the set objectives.

    Nordcloud helps customers with the full modernisation journey from assessment to managing the modernised applications in public cloud environments.

    Read more about our application management services

    P.S. Nordcloud will be attending the AWS Summit in Stockholm on May 22nd, 2019. Come visit us at booth P2 and discuss more about our experiences in improving digital business capabilities with application modernisation. Sign up at https://aws.amazon.com/events/summits/stockholm/

    Blog

    Building better SaaS products with UX Writing (Part 3)

    UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

    Blog

    Building better SaaS products with UX Writing (Part 2)

    The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

    Blog

    Building better SaaS products with UX Writing (Part 1)

    UX writing is the process of creating all the copy and content of a digital experience.

    Get in Touch

    Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








      Looking ahead: what’s next for AI in manufacturing?

      CATEGORIES

      BlogTech Community

      AI and manufacturing have been on an exciting journey together. It’s a combination that is fast changing the world of manufacturing: 92 percent of senior manufacturing executives believe that the ‘Smart Factory’ will empower their staff to work smarter and increase productivity.

      How does AI benefit manufacturers?

      Some of the biggest companies are already adopting AI. Why? A big reason is increased uptime and productivity through predictive maintenance. AI enables industrial technology to track its own performance and spot trends and looming problems that humans might miss. This gives the operator a better chance of planning critical downtime and avoiding surprises.

      But what’s the next big thing? Let’s look to the immediate future, to what is on the horizon and a very real possibility for manufacturers.

      Digital twinning

      ‘A digital twin is an evolving digital profile of the historical and current behaviour of a physical object or process that helps optimize business performance.’ – According to Deloitte.

      Digital twinning will be effective in the manufacturing industry because it could replace computer-aided design (CAD). CAD is highly effective in computer-simulated environments and has shown some success in modelling complex environments, yet its limitations lay in the interactions between the components and the full lifecycle processes.

      The power of a digital twin is in its ability to provide a real-time link between the digital and physical world of any given product or system. A digital twin is capable of providing more realistic measurements of unpredictability. The first steps in this direction have been taken by cloud-based building information modelling (BIM), within the AEC industry. It enables a manufacturer to make huge design and process changes ahead of real-life occurrences.

      Predictive maintenance

      Take a wind farm. You’re manufacturing the turbines that will stand in a wind farm for hundreds of years. With the help of a CAD design you might be able to ‘guesstimate’ the long-term wear, tear and stress that those turbines might encounter in different weather conditions. But a digital twin will use predictive machine learning to show the likely effects of varying environmental events, and what impact that will have on the machinery.

      This will then affect future designs and real-time manufacturing changes. The really futuristic aspect will be the incredible increases in accuracy as the AI is ‘trained.’

      Smart factories

      An example of a digital twin in a smart factory setting would be to create a virtual replica of what is happening on the factory floor in (almost) real-time. Using thousands or even millions of sensors to capture real-time performance and data, artificial intelligence can assess (over a period of time) the performance of a process, machine or even a person. Cloud-based AI, such as those technologies offered by Microsoft Azure, have the flexibility and capacity to process this volume of data.

      This would enable the user to uncover unacceptable trends in performance. Decision-making around changes and training will be based on data, not gut feeling. This will enhance productivity and profitability.

      The uses of AI in future manufacturing technologies are varied. Contact us to discuss the possibilities and see how we can help you take the next steps towards the future.

      Blog

      Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

      When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

      Blog

      Building better SaaS products with UX Writing (Part 3)

      UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

      Blog

      Building better SaaS products with UX Writing (Part 2)

      The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

      Get in Touch

      Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








        10 examples of AI in manufacturing to inspire your smart factory

        CATEGORIES

        BlogTech Community

        AI in manufacturing promises massive leaps forward in productivity, environmental friendliness and quality of life, but research shows that while 58 percent of manufacturers are actively interested, only 12 percent are implementing it.

        We’ve gathered 10 examples of AI at work in smart factories to bridge the gap between research and implementation, and to give you an idea of some of the ways you might use it in your own manufacturing.

        1. Quality checks

        Factories creating intricate products like microchips and circuit boards are making use of ‘machine vision’, which equips AI with incredibly high-resolution cameras. The technology is able to pick out minute details and defects far more reliably than the human eye. When integrated with a cloud-based data processing framework, defects are instantly flagged and a response is automatically coordinated.

        2. Maintenance

        Smart factories like those operated by LG are making use of Azure Machine Learning to detect and predict defects in their machinery before issues arise. This allows for predictive maintenance that can cut down on unexpected delays, which can cost tens of thousands of pounds.

        3. Faster, more reliable design

        AI is being used by companies like Airbus to create thousands of component designs in the time it takes to enter a few numbers into a computer. Using what’s called ‘generative design’, AI giant Autodesk is able to massively reduce the time it takes for manufacturers to test new ideas.

        4. Reduced environmental impact

        Siemens outfits its gas turbines with hundreds of sensors that feed into an AI-operated data processing system, which adjusts fuel valves in order to keep emissions as low as possible.

        5. Harnessing useful data

        Hitachi has been paying close attention to the productivity and output of its factories using AI. Previously unused data is continuously gathered and processed by their AI, unlocking insights that were too time-consuming to analyse in the past.

        6. Supply chain communication

        The aforementioned data can also be used to communicate with the links in the supply chain, keeping delays to a minimum as real-time updates and requests are instantly available. Fero Labs is a frontrunner in predictive communication using machine learning.

        7. Cutting waste

        Steel industry uses Fero Labs’ technology to cut down on ‘mill scaling’, which results in 3 percent of steel being lost. The AI was able to reduce this by 15 percent, saving millions of dollars in the process.

        8. Integration

        Cloud-based machine learning – like Azure’s Cognitive Services – is allowing manufacturers to streamline communication between their many branches. Data collected on one production line can be interpreted and shared with other branches to automate material provision, maintenance and other previously manual undertakings.

        9. Improved customer service

        Nokia is leading the charge in implementing AI in customer service, creating what it calls a ‘holistic, real-time view of the customer experience’. This allows them to prioritise issues and identify key customers and pain points.

        10. Post-production support

        Finnish elevator and escalator manufacturer KONE is using its ‘24/7 Connected Services’ to monitor how its products are used and to provide this information to its clients. This allows them not only to predict defects, but to show clients how their products are being used in practice.

        AI in manufacturing is reaching a wider and wider level of adoption, and for good reason. McKinsey predicts that ‘smart factories’ will drive $37 trillion in new value by 2025, giving rise to research projects like Reboot Finland IoT Factory, which involves organisations as diverse as Nokia and GE Healthcare. The technology is here and the research is ready – how will AI revolutionise your industry?

        Check out our whitepaper: “Industry 4.0: 7 steps to implement smart manufacturing”

        DOWNLOAD THE WHITEPAPER HERE

        The uses of AI in future manufacturing technologies are varied. Contact us to discuss the possibilities and see how we can help you take the next steps towards the future.

        Blog

        Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

        When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

        Blog

        Building better SaaS products with UX Writing (Part 3)

        UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

        Blog

        Building better SaaS products with UX Writing (Part 2)

        The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

        Get in Touch

        Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








          How to set up an Azure AD identity provider in AWS Cognito

          CATEGORIES

          Blog

          Setting up an Azure AD identity provider in AWS Cognito

          This post describes step-by-step how to set up an AWS Cognito User Pool with an Azure AD identity provider to allow your application to leverage single sign-on with Azure AD.

          In order to get started, you need the following in place:

          • Azure account with Azure AD Premium enabled
          • AWS account
          • URL for the application that you will be integrating to Cognito (e.g. https://myapp.nordcloud.com)

          The setup consist of 3 steps:

          1. Create an AWS Cognito user pool
          2. Create an Azure AD enterprise application
          3. Set up Azure AD identity provider to the Cognito User Pool

          The federation is based on SAML, with the following login flow:

          1. The user lands on a page hosted by AWS Cognito (e.g. redirected by your application)
          2. Cognito redirects the user to an Azure AD login page (may have other identity providers available for selection)
          3. Azure AD passes the identity to Cognito, which redirects the user to the application login page with the access_token in the URL.

           

          Create an AWS Cognito User Pool

          In AWS, create a Cognito User pool with an application client. Otherwise, use the default settings. Memorise the Pool Id (e.g. us-east-1_P5fyukyC1I).

          Screen Shot 2017-12-12 at 14.28.14

          Screen Shot 2017-12-12 at 14.29.29

          Add a domain for your Cognito application (e.g. mpu201712). Memorize the domain URL (e.g. https://mpu201712.auth.us-east-1.amazoncognito.com)

          Screen Shot 2017-12-12 at 14.31.39

          Create an Azure AD Enterprise Application

          In Azure, create an Azure AD Enterprise Application, (requires Azure AD Premium) from your Azure AD blade -> Enterprise Applications -> New Application. Pick “Non-gallery application” as the app type.

          Screen Shot 2017-12-12 at 14.33.49

          Add a user to your application and configure Single sign-on with the following settings:

          Screen Shot 2017-12-12 at 14.38.04

          Finally, download the SAML Metada XML. You should now be set up on the Azure side.

           

          Configure the Azure AD Identity Provider to Your Cognito Pool

          In AWS, create a new SAML identity provider for your Cognito pool. Upload the SAML metadata downloaded for your Azure AD Enterprise App.

          Screen Shot 2017-12-12 at 14.40.56

          Add attribute mapping for email address (and other attributes you need).

          • SAML Attribute: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
          • User pool Attribute: Email

          Screen Shot 2017-12-12 at 14.43.52

          Enable the identity provider created above for your cognito pool from App client settings. Add your app callback and signout URLs (e.g. https://myapp.nordcloud.com/login), enable the following oAuth 2.0 flows and scopes: code grant, implicit grant, email, openid, aws.cognito.signin.user.admin. Memorise the app client id (7hosfpqdh003qrng4hsu2ionjk)

          Screen Shot 2017-12-12 at 14.46.26

          You should now be set up and ready to test the setup.

          Testing your setup

          Enter the Cognito login page URL to your browser. It is located at a URL of format:

          https://<cognito domain>/login?response_type=token&client_id=<app client id>&scope=<oauth scope>&redirect_uri=<your encoded redirect URI>

          For example:

          https://mpu201712.auth.us-east-1.amazoncognito.com/login?response_type=token&client_id=7hosfpqdh003qrng4hsu2ionjk&scope=email+openid&redirect_uri=https%3A%2F%2Fmyapp.nordcloud.com%2Flogin

          Log in with your Azure AD credentials. You should redirected to your callback URL configured for your Cognito app and provided as the redirect URL  (e.g. https://myapp.nordcloud.com/login) with the access token stored in the id_token parameter. For example:

          https://myapp.nordcloud.com/login#id_token=eyJraWQiOiJoU2lXcjFySFE0T3FsbDJVVkQ3MUZLWFcrSlVzcG9UOGUwRzR2YloybEJVPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIwNzQ4ZTRlMC0wZTgzLTQ5ZjYtODFkYS1kYzFmNDY4ZTM3ZmQiLCJhdWQiOiI3aG9zZnBxZGgwMDNxcm5nNGhzdTJpb25qayIsImNvZ25pdG86Z3JvdXBzIjpbInVzLWVhc3QtMV9QNWZ5dWt5QzFfQUQtTXB1MjAxNzEyIl0sImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaWRlbnRpdGllcyI6W3sidXNlcklkIjoibWlrYWVsLnB1aXR0aW5lbkBzYzUuaW8iLCJwcm92aWRlck5hbWUiOiJBRC1NcHUyMDE3MTIiLCJwcm92aWRlclR5cGUiOiJTQU1MIiwiaXNzdWVyIjoiaHR0cHM6XC9cL3N0cy53aW5kb3dzLm5ldFwvYTliNjcyNmEtNmMwMC00ZmQ2LWFhMjAtMTdkNzY5NmM5NTRlXC8iLCJwcmltYXJ5IjoidHJ1ZSIsImRhdGVDcmVhdGVkIjoiMTUxMzA4MTM3NDk1NCJ9XSwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE1MTMwODE3NzQsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX1A1Znl1a3lDMSIsImNvZ25pdG86dXNlcm5hbWUiOiJBRC1NcHUyMDE3MTJfbWlrYWVsLnB1aXR0aW5lbkBzYzUuaW8iLCJleHAiOjE1MTMwODUzNzQsImlhdCI6MTUxMzA4MTc3NCwiZW1haWwiOiJtaWthZWwucHVpdHRpbmVuQHNjNS5pbyJ9.q6iMvWDZ6o-e_xFhIoQ21ssIHnF9Ujznc1tSSeWiaNFbhK8e7HJBGOx8-NVy7cfnLyjPSnxuO5rUqlUQM-dFjQkuouK62VcAbS7wpIH7-6dKWtLzQTmUGHtLO7Us331GT6aEAOSy7Zbw63ZXl-vIrvnyqCv0XOLvMhqOIUiExiEumettW-m-6jZ0jedimQij8-UituR__iAPaM2yOPD24Yz5tWvIf-QHQUZ3FZyasDSKo-S9jUclqUInZYeoqNhPvtc3g80kcGGUwPuNfNdyP3cZCN3PbiSIqHk9MiJIDiaIrhy1gmrVMGH7ZBb5tRHWJi3-nyAf7nESqXtQBGJINg&access_token=eyJraWQiOiJhV05oNVJJc0NQQXNSWlZJXC9KUUdRcUpcL1wvdnRcL1wvaHl2S203WWxpK0FyYkU9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwNzQ4ZTRlMC0wZTgzLTQ5ZjYtODFkYS1kYzFmNDY4ZTM3ZmQiLCJjb2duaXRvOmdyb3VwcyI6WyJ1cy1lYXN0LTFfUDVmeXVreUMxX0FELU1wdTIwMTcxMiJdLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6Im9wZW5pZCBlbWFpbCIsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX1A1Znl1a3lDMSIsImV4cCI6MTUxMzA4NTM3NCwiaWF0IjoxNTEzMDgxNzc0LCJ2ZXJzaW9uIjoyLCJqdGkiOiIxMWExMjQ2Ny0yMGY2LTQ1YTQtYWFmNi0xZDQyNmQzNjM5ZmQiLCJjbGllbnRfaWQiOiI3aG9zZnBxZGgwMDNxcm5nNGhzdTJpb25qayIsInVzZXJuYW1lIjoiQUQtTXB1MjAxNzEyX21pa2FlbC5wdWl0dGluZW5Ac2M1LmlvIn0.irNfJPGKhcyez6_aEDm_OfUFMOh2oNC9xKTRAM97pvLejVBCrb_mXSMhB2-zzGp_uhH6ayJfwhWOMY2LRjnMa2sm85ExBCI6kw3D3lrViM0LTBPbGC3T6rhneA9lbAL7TRlLoFetp56wK_ojuTZpo-Esm-GlbpNenegZ9T_tL7LZ8xOpq1d25SYRyUUwp1LwajxmPIuzmBMXMw1qoOHt1i4L0IcXNi6HdMO6Z7lejxhRClCZUbE_FXHC9TcR-Bb9yXbxl0PAksHCrf4AQXY9BO_u2oD05OZA5n5r9FPlwHYwHDjYqfGoJ4mY15LAPC7QaIJgLRYPQDfBBVWq4MDH3Q&expires_in=3600&token_type=Bearer

          The access token is in JWT format. In the case above, the contents of the token (decoded using https://jwt.io) are:

          {
            "sub": "0748e4e0-0e83-49f6-81da-dc1f468e37fd",
            "aud": "7hosfpqdh003qrng4hsu2ionjk",
            "cognito:groups": [
              "us-east-1_P5fyukyC1_AD-Mpu201712"
            ],
            "email_verified": false,
            "identities": [
              {
                "userId": "mikael.puittinen@sc5.io",
                "providerName": "AD-Mpu201712",
                "providerType": "SAML",
                "issuer": "https://sts.windows.net/a9b6726a-6c00-4fd6-aa20-17d7696c954e/",
                "primary": "true",
                "dateCreated": "1513081374954"
              }
            ],
            "token_use": "id",
            "auth_time": 1513081774,
            "iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_P5fyukyC1",
            "cognito:username": "AD-Mpu201712_mikael.puittinen@sc5.io",
            "exp": 1513085374,
            "iat": 1513081774,
            "email": "mikael.puittinen@sc5.io"
          }

          The token also includes a cryptographic signature that should be used to verify its’ authenticity.

           

          Additional Sources

          More information on the subject is available from e.g.:

          Blog

          Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

          When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

          Blog

          Building better SaaS products with UX Writing (Part 3)

          UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

          Blog

          Building better SaaS products with UX Writing (Part 2)

          The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

          Get in Touch

          Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








            Machine learning? Yes, we can!

            CATEGORIES

            Blog

            Machine learning is changing the world as we know it

            Algorithms that learn from data are responsible for breakthroughs such as self-driving carsmedical diagnoses of unprecedented accuracy, and, on a lighter note, the ability to identify cats via YouTube videos. They power your Netflix recommendations and generate Spotify’s weekly playlists. They can translate text, solve analogies, route your mail, win Go championsanalyse sentiments in written text (even, to some extent, detecting sarcasm), and make sure your palm isn’t accidentally recognised as input when you’re using an Apple Pencil. They can even generate pieces of art.

            With the rise of cloud computing and from that the viability of Deep Learning techniques, the relatively old field of machine learning is undergoing a beautiful renaissance, backed by the biggest players in IT. Machines may not yet be close to as intelligent as us human beings, but we’re witnessing huge strides almost daily. It’s a truly exciting time not just for Computer Science, but society as a whole.

            At Nordcloud, we believe that machine learning will only become more and more important, regardless of domain or sector. We envisage a world in which machine learning completely changes the way we use and interact with computers.

            To this end, we are proud to announce that machine learning is now part of our official offering

            Our aim is to take a pragmatic approach and use best-of-breed algorithms, libraries and tools, fine-tuning them to make truly remarkable, smart applications and digital services. And in cases where existing approaches don’t cut it, we’ll implement our own bespoke solutions based on the latest academic research. And, as always, we hope to do all this with the unique blend of passion, pride and fun that Nordcloud is known for.

            In the coming months, we’ll be writing a series of blog posts about machine learning—what it’s all about, what it can be used for, and why it’s worth taking note of. In the meantime, if you want to learn more, fancy seeing some demos, or just having a chat over a cup of coffee, our doors are always open!

            You can find our data-driven solutions for business intelligence here.

            Blog

            Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

            When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

            Blog

            Building better SaaS products with UX Writing (Part 3)

            UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

            Blog

            Building better SaaS products with UX Writing (Part 2)

            The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

            Get in Touch

            Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.








              How to accelerate digital transformation with culture, APIs, and cloud

              CATEGORIES

              Blog

              Digital transformation is constantly changing the way businesses and consumers interact with each other. In the simplest scenario, digitalisation is implemented by mapping a “physical” information process to a digital counterpart, aiming to produce the service more quickly and at a lower cost to customers. However, the greatest opportunity for using digitalisation is in business innovations that could disrupt the market. This may lead to a significant competitive advantage and should be the main objective for all companies going digital.

              We will briefly explain how to unleash the potential of digital transformation for your business, enabling you to cut costs and lead times for your future innovation projects.

              Develop a culture of experimentation

              To begin harnessing the benefits of digital business opportunities, your company will need to set up an innovation process including idea gathering, validation and creation of prototypes. The customer should be involved with the innovation process to enable constant feedback and validation. Doing so leads to continuous refinement of the product and a better match with customer expectations. Since the input from the market may be constantly shifting the final objective of the project, agile methodologies of software development should be chosen over waterfall models.

              The ability to validate concepts, as well as dismiss those that do not resonate with your customers, will quickly maximize the number of ideas that can be experimented with, and therefore increase the probability of focusing on initiatives that are more likely to succeed. Using this method of working will put your business in a competitive position in relation to your competitors.

              An example of this culture can be taken from the gaming industry, where Supercell dismissed fourteen potential projects in the process of creating its four blockbuster games. Only a small proportion of the projects started were ultimately developed into a finished product and launched to the public.

              APIfy your business to accelerate innovation

              To accelerate digital innovation, ensure that your internal business applications and processes are available externally via an easy to use but secure API. Loose coupling of your internal business data with external customer-facing applications reduces costs and accelerates innovation by preventing the need to repeatedly connect the source application to your external application to update recent changes.

              Not only do APIs improve productivity for creating new applications, but they may also enable customer, community or partner-driven application development initiatives, allowing third parties to build innovative applications on top of your own data. These third-party applications can lead to improved sales of your core offering and better customer satisfaction with minimal investments. In addition to the improved sales of your core offering, APIs may open new business opportunities via monetization of the data provided by the APIs.

              In the context of APIs, remember that developers are your customers. For successful API adoption, optimal developer experience, i.e. capability to find, understand and utilize the API, is crucial.

              Focus on value-adding work with the cloud

              Modern cloud platforms offer infrastructure (as a service) but also building blocks (Platform as a Service) that enable developers to focus on the development of the actual service, whilst leaving the infrastructure work to the cloud provider.

              In addition to traditional IT services such as storage and databases, cloud platforms also provide a large portfolio of more sophisticated services, including Internet of Things, data processing, and analysis; all at the click of a button. Such platforms enable development of high-end data-intensive solutions, with minimal up-front investment or commitment, minimal development effort and minimal delays.

              Cloud platforms are the perfect environment in which to develop and maintain applications from concept to production, as they offer both the flexibility required in the prototyping phase and the scalability and durability required by production systems.

              Blog

              Starter for 10: Meet Jonna Iljin, Nordcloud’s Head of Design

              When people start working with Nordcloud, they generally comment on 2 things. First, how friendly and knowledgeable everyone is. Second,...

              Blog

              Building better SaaS products with UX Writing (Part 3)

              UX writers are not omniscient, and it’s best for them to resist the temptation to work in isolation, just as...

              Blog

              Building better SaaS products with UX Writing (Part 2)

              The main purpose of UX writing is to ensure that the people who use any software have a positive experience.

              Get in Touch

              Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.