Tuesday, July 16, 2024

Revolutionizing Tech Development with No-Code

 The world of technology is evolving faster than ever, and one of the most exciting developments is the rise of no-code platforms powered by AI. These platforms are changing the game, allowing anyone, regardless of their technical expertise, to create sophisticated applications and solutions. Let’s dive into how no-code with AI is revolutionizing tech development and explore some of the latest technologies in this space.

What is No-Code with AI?

No-code platforms enable users to build applications without writing a single line of code. When combined with AI, these platforms become incredibly powerful, offering features and capabilities that were once only available to skilled developers. Here’s how it’s transforming the tech landscape.

Key Benefits

  • Accessibility
    • No-code platforms democratize tech development, making it accessible to non-developers.
  • Speed
    • Develop and deploy applications much faster than traditional coding methods.
  • Cost-Effective
    • Reduce the need for large development teams, cutting down on costs.
  • Flexibility
    • Easily update and modify applications as needs change.

Latest Technologies in No-Code with AI

Let’s look at some of the cutting-edge technologies driving the no-code revolution.

  • AI-Powered Automation

    • Automated Workflows
      • Tools like Zapier and Integromat use AI to create automated workflows between different apps, saving time and reducing manual tasks.
    • Smart Bots
      • AI chatbots from platforms like ChatGPT and ManyChat can handle customer inquiries, book appointments, and even provide tech support.
  • Natural Language Processing (NLP)

    • Voice Commands
      • Integrations with Alexa, Google Assistant, and Siri enable voice-activated controls for your applications.
    • Text Analysis
      • Platforms like MonkeyLearn and ChatGPT analyze text data to provide insights and automate responses.
  • Machine Learning Models

    • Custom AI Models
      • Platforms like Obviously AI allow users to create custom machine learning models without writing code, making data predictions and analytics accessible.
    • Predictive Analytics
      • AI-driven predictive analytics tools help businesses forecast trends, manage risks, and make data-driven decisions.
  • Visual Development Tools

    • Drag-and-Drop Interfaces
      • Platforms like Bubble and Adalo offer intuitive drag-and-drop interfaces, making app development as simple as piecing together a puzzle.
    • Responsive Design
      • Tools ensure your applications look great on all devices without the need for manual coding adjustments.
  • Integration with Existing Systems

    • API Connectors
      • No-code platforms often come with pre-built API connectors that integrate seamlessly with popular services like Salesforce, Google Workspace, and Slack.
    • Data Integration
      • Easily pull and push data between different systems, ensuring your applications are always up-to-date.

Popular No-Code AI Platforms

Here are some of the top platforms leading the no-code AI revolution

  • Bubble
    • A comprehensive no-code platform that allows you to build and launch fully-functional web applications.
  • Adalo
    • Focuses on mobile app development with an easy-to-use interface.
  • Airtable
    • Combines the simplicity of a spreadsheet with the power of a database, enhanced with AI capabilities.
  • Zapier
    • Automates workflows between your favorite apps using AI to streamline processes.
  • Obviously AI
    • Enables you to build custom machine learning models with no coding required.

Future Trends

The future of no-code with AI is incredibly promising. Here are a few trends to watch

  • Increased Personalization
    • AI will enable more personalized user experiences, tailoring applications to individual user needs.
  • Enhanced Collaboration
    • No-code platforms will facilitate better collaboration between technical and non-technical team members.
  • Expansion of Use Cases
    • From e-commerce to healthcare, the range of applications for no-code AI will continue to grow.

Conclusion

No-code with AI is transforming the way we develop technology, making it more accessible, faster, and cost-effective. With the latest advancements in AI-powered automation, natural language processing, machine learning, and visual development tools, anyone can now create powerful applications without writing a single line of code. As these technologies continue to evolve, the possibilities for innovation are endless. Whether you're a business owner, a tech enthusiast, or someone with a great idea, no-code with AI is your gateway to the future of tech development.

Sophos, SentinelOne, and CrowdStrike - A Comprehensive Comparison


Choosing the right cybersecurity solution is essential in today’s fast-changing digital world. Three of the most prominent names in this space are Sophos, SentinelOne, and CrowdStrike. Each of these companies offers unique features and advantages, catering to various needs and preferences. In this article, we’ll explore the key aspects of each solution to help you make an informed decision.

Sophos

Overview
Sophos is well-known for its comprehensive approach to cybersecurity. It provides a wide range of products, including endpoint protection, firewalls, and encryption solutions. Their integrated security suite is designed to protect businesses of all sizes effectively.

Key Features
Sophos Intercept X combines advanced threat protection with deep learning AI. It also includes anti-exploit technology, ransomware protection, and root cause analysis. The centralized management feature, Sophos Central, offers a unified console for managing all Sophos products, which simplifies administration and policy enforcement. Another standout is Sophos’ synchronized security approach, which enables endpoint, network, and server protection to communicate and respond to threats in real-time. The interface is user-friendly, making it accessible for IT professionals and those without extensive technical expertise.

Pros

  • Sophos provides a comprehensive and integrated security suite.
  • It emphasizes AI and machine learning for effective threat detection.
  • Management is simplified through a centralized console.
  • The pricing is affordable for small to medium-sized businesses.

Cons

  • The software can be resource-intensive on older systems.
  • Some advanced features might require a learning curve for new users.

SentinelOne

Overview
SentinelOne is known for its next-gen endpoint protection, particularly for its autonomous capabilities. The platform uses AI and machine learning to detect and respond to threats in real-time, which reduces the need for human intervention.

Key Features
SentinelOne’s behavioral AI engine focuses on detecting and mitigating both known and unknown threats by analyzing behaviors rather than relying on traditional signatures. The platform also offers automated response features, ensuring threats are neutralized quickly and often without manual intervention. With a single-agent architecture, it simplifies deployment and reduces resource consumption. Additionally, SentinelOne provides Extended Detection and Response (XDR) capabilities, offering visibility across endpoints, networks, and cloud workloads.

Pros

  • The high level of automation reduces the need for constant monitoring.
  • It is effective against both known and unknown threats.
  • The single agent architecture simplifies deployment and management.
  • Strong XDR capabilities offer comprehensive threat visibility.

Cons

  • It can be more expensive compared to some other solutions.
  • Some advanced features may require technical expertise to fully utilize.

CrowdStrike

Overview
CrowdStrike is a leading player in the endpoint protection market, known for its cloud-native Falcon platform. The company emphasizes speed and scalability, making it a popular choice for large enterprises and organizations with complex security needs.

Key Features
CrowdStrike Falcon uses cloud-based analytics to provide real-time threat detection and response. The platform includes rich threat intelligence to help organizations understand and anticipate potential threats. Its Endpoint Detection and Response (EDR) capabilities offer detailed visibility into endpoint activities and streamline incident response. Moreover, the Falcon OverWatch team provides managed threat hunting, adding an extra layer of protection.

Pros

  • The scalable cloud-native architecture is ideal for large organizations.
  • It has a strong focus on threat intelligence and proactive threat hunting.
  • Comprehensive EDR capabilities allow for detailed endpoint visibility.
  • The system is fast and efficient when it comes to threat detection and response.

Cons

  • It can be costly for smaller organizations.
  • The cloud dependency might raise concerns for organizations with strict data sovereignty requirements.

Conclusion

Deciding between Sophos, SentinelOne, and CrowdStrike largely depends on your organization’s specific needs and budget. Sophos offers a comprehensive and user-friendly suite that is cost-effective for smaller businesses. SentinelOne excels in automation and behavioral detection, making it perfect for organizations that want minimal manual intervention. CrowdStrike stands out with its cloud-native architecture and robust threat intelligence, making it a great choice for large enterprises with complex security demands.

By evaluating your organization’s priorities, technical capabilities, and budget, you can determine which solution aligns best with your cybersecurity strategy. Each of these platforms offers strong protection, ensuring that your organization’s digital assets remain secure in an increasingly hostile cyber landscape.

Quickly setup your docker image and publish

  1. Create the docker file

A screenshot of a computer

Description automatically generated

  1. Run the commands with following order

A screenshot of a computer program

Description automatically generated

  1. Check in the docker registry

A screenshot of a computer

Description automatically generatedA screenshot of a computer

Description automatically generated

  1. You can check it from the docker hub desktop app or cli

A screenshot of a computer

Description automatically generated


Tuesday, April 2, 2024

AWS Custom Domain Name with API Gateway for REST APIs

     Imagine have a setup in Lambda similar to an api endpoint. But still you have to access and called to that api endpoint via the given endpoint name by AWS. 

Will you like to call to that endpoint from a subdomain what ever you like ? YES it is possible. Let's have a look on the implementation of this setup.

Below is the architectural diagram of the design of what we need to achieve. So the user should be able to call a sub domain such as {stage}.{aws-region}.api.{yourdomain}

                                         


As highlighted you have to use AWS Route 53,API Gateway, ACM and Lambda in order to proceed with the above setup.

First you have go to the AWS AWS Certificate manager and create a certificate for the desired subdomain. Here -> {stage}.{aws-region}.api.{yourdomain} .Set the verification with DNS or Email and you will get the notification to approve the Certificate Request (Only if you are the owner of the domain)


Then We are ready with the certificate and now let's create a custom domain name in API Gateway

Add a mapping with your Lambda


Now we are done with the basic setting. You need to create a record in the hosted zone to load your api gateway when domain called.


Finally as you are done with above all, you can use POSTMAN and call to the endpoint which you created.




Tuesday, September 12, 2023

AWS Backup Service

Creating a hourly scheduled backup

If you already using aws rds instances , you may face this issue when it comes to the production environments.

All database need a closest restore point if some disaster happens. But do we actually setup such as a hourly backup using current backup option ? No in AWS if you refer most of the instances only support up to daily backups.

 Yes it is not having an option for a hourly backups. In this post I will give an solution for an alternative method by using an AWS service, AWS Backup.

First you need to identify your environments and actual customer base because you must have an idea of importance of protecting your data if there is some disaster or failure happens. 

Let move with the original topic as how to over come with hourly backups. 

To achieve this we have two optimal solutions

1.Use a lambda function,s3 and trigger an event to take a snapshot. Use may have to use AWS Event bridge(With event rules) or Scheduler (Recently introduced by AWS which is a cost effective way than event rules) - Old Way

  1. Create a lambda function and invoke it hourly via scheduler or event rule
  2. Update the lambda implementation to trigger the backup and save to a s3 bucket

Here I am not going to talk with the implementation as this purpose of the post is not about it.

2.Using AWS Backup Service inorder order achieve the given problem

Please refer the following steps to implement this approach

  1. Create the cloudformation template
  2. Deploy the resources
  3. Monitor resources and backups with

Using a CloudFormation template to create AWS Backup Service

AWSTemplateFormatVersion: 2010-09-09
Description: 'RDS MySQL Backup Service'
Parameters:    
  CreatedBy:
    Description: Who is creating the cloudformation stack
    Type: String
    Default: CodePipeline
  BackupPlanName:    
    Description: Enter the name of the backup plan (Required)    
    Type: String    
    Default: "hourly-backup"
     
  CronExpression:    
    Description: Enter the cron expression for your backup plan (Required). Currently setup to occur hourly.    
    Type: String    
    Default: "cron(0 * ? * * *)"    
     
  Retention:    
    Description: This value will identify how many days your backup will be expired after (Required)    
    Type: String    
    Default: 3    
 
Metadata:    
  AWS::CloudFormation::Interface:    
    ParameterGroups:    
      -    
        Label:    
            default: BackupPlan Configurations (Mandatory)    
        Parameters:    
          - BackupPlanName    
      -      
        Label:    
          default: Backup Rule configuration    
        Parameters:    
          - CronExpression    
          - Retention    
Resources:        
  BackupVault:    
    Type: "AWS::Backup::BackupVault"    
    Properties:    
      BackupVaultName: !Sub ${BackupPlanName}-vault    
      AccessPolicy:    
        Version: '2012-10-17'    
        Statement:    
        -    
            Sid: 'Vault-Access-Policy'    
            Effect: Deny    
            Principal: "*"    
            Action: "backup:DeleteRecoveryPoint"    
            Resource:    
              - "*"    
  BackupPlan:    
    Type: "AWS::Backup::BackupPlan"    
    Properties:
      BackupPlan:    
        BackupPlanName: !Ref BackupPlanName    
        BackupPlanRule:    
          -    
            RuleName: !Sub ${BackupPlanName}-rule    
            TargetBackupVault: !Ref BackupVault    
            ScheduleExpression: !Ref CronExpression    
            Lifecycle:    
              DeleteAfterDays: !Ref Retention  
            StartWindowMinutes: 60
            CompletionWindowMinutes: 120
    DependsOn: BackupVault            
  TagBasedBackupSelection:
    Type: "AWS::Backup::BackupSelection"
    Properties:
      BackupSelection:
        SelectionName: !Sub ${BackupPlanName}-job-assignment  
        IamRoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/service-role/AWSBackupDefaultServiceRole"
        ListOfTags:
         -
           ConditionType: "STRINGEQUALS"
           ConditionKey: "aws:cloudformation:stack-name"
           ConditionValue: !Sub "rds"
      BackupPlanId: !Ref BackupPlan
    DependsOn: BackupPlan


Make sure you update your CloudFormation execution role with below permissions.

        {
            "Action": [
                "backup:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "backup"
        },
        {
            "Action": [
                "kms:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "kms"
        },
        {
            "Action": [
                "backup-storage:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "backupstorage"
        }









Backup vault: A container for storing backups. Backup vaults are created in AWS Regions and can be used to store backups of AWS resources from multiple accounts.

Backup plan: A set of instructions that defines how backups are created and stored. Backup plans can be used to automate the backup process and ensure that backups are created on a regular basis.

Recovery point: A snapshot of a resource that can be used to restore the resource to a previous state. Recovery points are created by backup plans and stored in backup vaults.

Resource assignment/backup selection: A set of instructions that defines which resources should be backed up. Resource assignments can be used to back up specific resources or groups of resources.

You may refer following links for more information and get familiarize with the available features.

-Backup plan

https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupPlan.html

https://docs.aws.amazon.com/aws-backup/latest/devguide/creating-a-backup-plan.html

-Backup vault

https://docs.aws.amazon.com/aws-backup/latest/devguide/vaults.html

-Backup rule

https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupRule.html

-Backup Assignee/Selection

https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupSelection.html

-Backup Vault

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html


Visual Design of our Backup



Snapshots vs Continuous backups

When you doing deployment and getting backups you will get a question about doing a comparison with backup types. Because there are several options and selections are vary.

You can get more information by following below link

https://docs.aws.amazon.com/aws-backup/latest/devguide/integrate-cloudformation-with-aws-backup.html

https://www.nucleustechnologies.com/blog/aws-snapshot-vs-backup/

References

Pricing - https://aws.amazon.com/backup/pricing/

https://www.druva.com/documents/pf/white-papers/8-tips-to-simplify-aws-backup-and-recovery.pdf



Wednesday, August 2, 2023

Static Web hosting with Azure + Angular + Github + DNS

We are going to setup an Angular static web site in Azure using Github. The domain provider is a separate vendor. Follow the easy steps to do the things.

  1. Install Angular and write you basic app
  2. Commit the changes to github repo
  3. Create an Azure account if you don't have and enable free subscription(Trial) 
  4. Create a static web app in Azure
    1. Create a new Resource Group
    2. Set Deployment details as GitHub
    3. Attach your Github Account and give the repo and branch details
    4. Review and Create
    5. Once you saved GitHub Action will start to run and deploy the latest code in the selection branch (Sometimes this may failed as you don't have the build folder in the angular project path.So please create in this error occurred).
        



5. Now you have almost complete with the deployment. Next you have to link with the domain which you already purchased.
 
6. Go to the static web app custom domain and get the alias. After that go to your domain provider and link with (You can use CNAME or A Record according to the type of t he domain).



Enable SSL in Your Angular App to resolve most of native OS issues (IOS/Android)




Today we are talking about an issue which is more painful to developers when we are doing the deployments to outside of localhost(To your local ip address with a port) in Angular.


If you are targeting IOS/Android operating system to launch you angular app, this will probably a good tip.

Enable SSL in your angular app by using a certificate. Create below file and keep inside your folder path and name it as certificate.cnf.

[req]

default_bits = 2048

prompt = no

default_md = sha256

x509_extensions = v3_req

distinguished_name = dn



[dn]

C = BE

ST = digem

L = brussels

O = EY

OU = PAS

emailAddress = lahiru.dhananjaya@randomsoftware.net

CN = <serving address>



[v3_req]

subjectAltName = @alt_names



[alt_names]

DNS.1 = <serving address>


Then you have to run this command to create the certificate in your terminal.

openssl req -new -x509 -newkey rsa:2048 -sha256 -nodes -keyout localhost-remote.key -days 3560 -out localhost-remote.crt -config certificate.cnf


You can try below command in the terminal inside your angular project path


ng serve --host 192.168.x.x  --port 4200 --ssl --ssl-key <key-path> --ssl-cert <cert-path>

or you can add this to .angular-cli.json

{

    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",

    "defaults": {

        "serve": {

            "sslKey": "<relative path from .angular-cli.json>/server.key",

            "sslCert": "<relative path from .angular-cli.json>/server.crt",

            ...

        }, ...

    }, ...

}


After following the steps , you will get the change to smoothly use https over your ip and do debugging easily.This will enable most native features which Chrome/Safari has (Such as settings for the page camera etc)