Monday, January 29, 2024

Cyber Security Standards - Risk Based Framework

Purpose

  • The Risk Based Framework (RBF) is a risk classification system developed by the Enterprise Cyber Security (ECS) department of the Cyber Risk Management team. 
  • ECS policy is intended to protect the firm in an evolving threat landscape, regardless of changes in technology or business practices. 
  • Even if specific terminology or scenarios are not part of the text, it is expected that you will exercise sound reasoning and judgment to adhere to the intent of stated requirements, practices, and implementations in both letter and spirit.


Scope

  • All systems that are listed in the IT Service Manager (ITSM) application (e.g., ServiceNow), are required to have an RBF classification. 
  • All systems where the lifecycle stage is ‘Concept’, ‘Acquisition/Development’, or ‘Retired’ are not in scope.

Thursday, January 18, 2024

Conversational AI

 

Conversational AI Applications 


Design 

Developing a bot, like developing websites and applications, should start with a design for a great experience. When humans interact with bots, we expect that what we say is understood, what we receive as a response is appropriate, and what we get as a service is delight‐ ful. We expect that, if we leave mid-conversation, the bot will remember where we left off.

Build

 A bot is a representational state transfer (REST) web service that communicates with the user by sending and receiving messages and events from conversational interfaces like chat rooms or Web Chat widgets. With Microsoft’s Azure Bot Service and Bot Framework, you can create bots in a variety of development environments and languages. You can start your bot development in the Azure portal or use one of the Bot Framework SDK templates for local develop‐ ment. The templates support the C#, JavaScript, and Python lan‐ guages with Java support in early preview at the time of writing. 

Test

To test conversational AI application, Microsoft provides the Bot Framework Emulator enabling developers to test conversations quickly and easily. We can also write unit tests using the Bot Frame‐ work SDK, which can focus on functionality testing of specific dia‐ logs. Once configured through the Azure portal, bot can be reached through a web chat interface, enabling broader testing by end users early in your development process. 

Publish 

When ready for your bot to be available on the web, either publish your bot to Azure or to your own web service or data center —wherever a normal web application can be hosted.

Connect 

Azure Bot Service does most of the work necessary to connect bots to a range of channels and devices. Configured through the Azure portal, you can connect your bots to Facebook Messenger, Slack, Microsoft Teams, Cortana, email, Telegram, Twilio, LINE, and other channels. You can also use Web Chat widgets to embed your bots in your websites or mobile applications. 

Evaluate

 Recordings of conversations between bots and users provide valua‐ ble business insights to help you evaluate your bot’s performance. At this phase, best practices include evaluating success metrics that you defined during the design phase, reviewing instrumentation logs, collecting user feedback, refining, and iterating. Bot Framework provides sample Application Insights queries and a Power BI dash‐ board to help you grasp the full breadth of your bot’s conversations with users and gain key insights into your bot’s health and behav


Virtual Assistants

Building on the Bot Framework SDK, Microsoft’s open source Vir‐ tual Assistant solution (available in C# and TypeScript) is a project template that encompasses the best practices for developing a bot on the Microsoft Azure platform. 



Building a conversational experience using the Virtual Assistant template requires the following resources: 


  • Azure Bot Registration (to configure Bot endpoint and channel configuration) 
  • Azure Web App (to host your Bot application) 
  • Azure Storage Account (to store transcripts) 
  • Azure Application Insights (telemetry) 
  • Azure Cosmos DB (Conversational State and User State—this can be swapped for Azure Storage for development purposes) 
  • Language Understanding 
  • QnA Maker (including Azure Cognitive Search and an Azure Web App)

 

Complete Control for Developers  

With Virtual Assistant, all aspects of the user experience are owned and controlled by you. This includes the branding, name, voice, per‐ sonality, responses, and avatar. Microsoft provides five chat person‐ alities based on the Azure Cognitive Service QnA Maker, enabling you to tailor the bot’s personality. The source code to the Virtual Assistant and supporting Skills are provided as samples for you to customize. Your Virtual Assistant will be deployed within your Azure subscription. Therefore, all data generated by your Assistant (questions asked, user behavior, etc.) is entirely contained within your Azure subscription. See Cognitive Services compliance and privacy details and the Azure section of the Trust Center for more information.

Prebuilt and Reusable 

Skills Common Virtual Assistant scenarios are provided as reusable Con‐ versational Skills and include tasks like finding nearby points of interest, checking off an item on a to-do list, and replying to an email. Skills—delivered in source code form—are fully customizable and consist of language models for multiple natural languages, dialogs, and integration code 

Flexible Integration and Contextual Awareness 

The Virtual Assistant architecture is flexible and can be integrated with existing speech or NLP capabilities, back-end systems, APIs, and devices to enable personalization and adapt responses as required for the users’ context. The Assistant can also be aware of the device or channel through which the user is communicating, which can be used to optimize the experience (e.g., voice versus text) and enable the user to switch between different channels if needed. 

Business Insights Captured and Distributed Bot Framework


 provides a rich set of out-of-the-box metrics ena‐ bling any conversational experience to collect data at the levels you desire, to let you understand better what your customers are asking and where you might have opportunities to improve the service

Monday, October 16, 2023

References

 Aperture in Action: How We Solved PostgreSQL Performance Challenges

https://dzone.com/articles/aperture-in-action-how-we-solved-postgresql-perfor?utm_source=Sailthru&utm_medium=email&utm_campaign=DZone_Daily_Digest_10.16.23_BT_Snowflake_Spotlight&utm_term=dzone-daily-digest-active


How to Use Serverless Architecture
https://dzone.com/articles/how-to-use-serverless-architecture?utm_source=Sailthru&utm_medium=email&utm_campaign=DZone_Daily_Digest_10.16.23_BT_Snowflake_Spotlight&utm_term=dzone-daily-digest-active


Best Practices for Microservices: Building Scalable and Efficient Systems
https://cb.sailthru.com/click/33025582.48113/aHR0cHM6Ly9kem9uZS5jb20vYXJ0aWNsZXMvYmVzdC1wcmFjdGljZXMtZm9yLW1pY3Jvc2VydmljZXMtYnVpbGRpbmctc2NhbGFibGU_/64b567c4080fd50b97b29669B382db0f9



Image Identification and Classification with Amazon Bedrock, OpenSearch, and OpenCLIP

https://garystafford.medium.com/image-identification-and-classification-with-amazon-bedrock-opensearch-and-openclip-5442baca1846


Your Own Personal LLaMa

https://towardsdatascience.com/your-own-personal-llama-8cf24a9237cb

LlamaIndex update 2023–10–10

https://blog.llamaindex.ai/llamaindex-update-2023-10-10-3718a3d19fb9

AI Opportunities in Retail — A Comprehensive Technical Implementation Guide

https://medium.com/predict/ai-opportunities-in-retail-a-comprehensive-technical-implementation-guide-d26d9abba144

Deploy ML models at the edge with Microk8s, Seldon and Istio

https://medium.com/ubuntu-ai/deploy-ml-models-at-the-edge-with-microk8s-seldon-and-istio-5b97fe695578

Ten tips and tricks to employ in your Gen AI projects

https://lakshmanok.medium.com/ten-tips-and-tricks-to-employ-in-your-gen-ai-projects-7468f8dc6bf0

What’s a Vector Database?

https://medium.com/building-the-open-data-stack/whats-a-vector-database-c3e8b6bb0436

Leveraging LLMs on your domain-specific knowledge base

https://blog.ml6.eu/leveraging-llms-on-your-domain-specific-knowledge-base-4441c8837b47

Sunday, March 26, 2023

Azure , AWS and GCP

 Compute:        

  • AWS EC2
  • GCP Compute Engine

Containerization and Orchestration:

  • Azure Kubernetes Service (AKS)
  • AWS Elastic Kubernetes Service (EKS)
  • GCP Kubernetes Engine (GKE)

Serverless Computing:

  • Azure Functions
  • AWS Lambda
  • GCP Cloud Functions

Database:

  • Azure SQL Database
  • AWS RDS
  • GCP Cloud SQL

Big Data and Analytics:

  • Azure HDInsight
  • AWS EMR
  • GCP Dataproc

Storage:

  • Azure Storage
  • AWS S3
  • GCP Cloud Storage

Networking:

  • Azure Virtual Network
  • AWS VPC
  • GCP VPC

Identity and Access Management:

  • Azure Active Directory
  • AWS IAM
  • GCP Identity and Access Management (IAM)

API Management:

  • Azure API Management
  • AWS API Gateway
  • GCP Cloud Endpoints

Load Balancing:

  • Azure Load Balancer
  • AWS ELB (Elastic Load Balancer)
  • GCP Cloud Load Balancing


GCP Hierarchy

 


Sunday, December 4, 2022

AWS Control Tower Enrollment

The AWSControlTowerExecution role is required in the target account for the Control Tower management account to perform various activities. In the above case the item which failed was a service-linked role creation. I have reviewed AWSControlTowerExecution in my test environment for the default logging account and see it has the AdministratorAccess managed policy atached and the following trust relationship: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::< Control Tower management account ID >:root" }, "Action": "sts:AssumeRole" } ] } In one of the accounts which enrolled correctly please review the AWSControlTowerExecution role and compare with the role in the account which failed to enroll to confirm they are aligned and have the same permissions. - More Information - From the Control Tower documentation - please see resources [1] and [2] Before you can enroll an existing AWS account into AWS Control Tower you must give permission for AWS Control Tower to manage, or govern, the account. AWS Control Tower requires permission to establish trusted access between AWS CloudFormation and AWS Organizations on your behalf, with this trusted access, the AWSControlTowerExecution role conducts activites required to manage each account. To enroll an existing account - these prerequisites are required before you can enroll an account in AWS Control Tower: 1. The AWSControlTowerExecution role must be present in the account you're enrolling. 2. We recommend that the account should not have an AWS Config configuration recorder or delivery channel. These may be deleted or modified through the AWS CLI before you can enroll an account. If you do have a Config Recorder with data which cannot be deleted you can 3. The account that you wish to enroll must exist in the same AWS Organizations organization as the AWS Control Tower management account. The account that exists can be enrolled only into the same organization as the AWS Control Tower management account, in an OU that already is registered with AWS Control Tower. 4. Before you can enroll an existing account in AWS Control Tower, the account must have the following roles, permissions, and trust relationships in place. Otherwise, enrollment will fail. - Role Name: AWSControlTowerExecution - Role Permission: AdministratorAccess (AWS managed policy) - Role Trust Relationship - as above

Friday, August 26, 2022

AWS+Azure+SF