The Technology Sandbox

The Technology Sandbox

Join me as I experiment, tinker, and push the boundaries of what's possible in this ever-evolving digital landscape. From in-depth product reviews and hands-on demonstrations to insightful tutorials and thought-provoking discussions. I'm here to learn and to empower you with the knowledge and tools you need to navigate the exciting world of technology with confidence.

channel trailer

channel trailer

Пікірлер

  • @iknjoaguani8511
    @iknjoaguani8511Күн бұрын

    Thanks again for these videos Sir. I was just wondering how these ec2 Instances in the Target Group are different from Worker Nodes that are scaled in a kubernetes cluster?

  • @thetechnologysandbox
    @thetechnologysandbox18 сағат бұрын

    Great question... I think the difference is on the granularity that makes up one application instance. In this video, each EC2 instance in the target group is build from an AMI an is a single purpose virtual machine that contains full application stack. So one EC2 instance = one application instance. The kubernetes cluster contains master and worker nodes that can host many individual containers (pods). In this case one pod = one application instance. So each k8 worker node is "general purpose" and can hose many applications or many instances of the same application. Another way to think about this is that the auto-scaling group in this video is scaling at the "infrastructure level" and the k8 is scaling at the "application level". You obviously could add more workers to the k8 cluster to scale the k8 infrastructure. In the end, either way works. I have some videos coming out on orchestration using docker swarm, kubernetes, and their managed versions in AWS (ECS, EKS). Hopefully those will also highlight the differences between the approach in this video and orchestration at the application / service level.

  • @iknjoaguani8511
    @iknjoaguani851117 сағат бұрын

    @@thetechnologysandbox Very many thanks again Sir. I will certainly be looking forward to the videos that explain the difference between the 2 approaches

  • @iknjoaguani8511
    @iknjoaguani8511Күн бұрын

    Thank you Sir for these videos

  • @thetechnologysandbox
    @thetechnologysandboxКүн бұрын

    You are welcome! Thanks for watching!

  • @genie4539
    @genie45394 күн бұрын

    Thank you! Good video and I'll probably make a motorcycle tracker with this in a couple of months :)

  • @thetechnologysandbox
    @thetechnologysandboxКүн бұрын

    Sounds like a nice project!

  • @decar4773
    @decar47737 күн бұрын

    Help please. I have a site written in Laravel in Vuejs, when I want to update from Github I press the git pull command the site does not update, but when I enter the "npm run build" command everything updates but the Amazon Elastic Compute Cloud time on Free tier increases. Is there any way to bypass this so as not to waste additional time?

  • @thetechnologysandbox
    @thetechnologysandbox6 күн бұрын

    I’m away for the next couple of days. My guess is that I forgot to add “npm install” and “npm run build” in the docker file. Take a look near the bottom. As those of you don’t see them. Let me know how it goes and I’ll check when I get back in a few days.

  • @thetechnologysandbox
    @thetechnologysandboxКүн бұрын

    I just pushed an updated Dockerfile that now includes the "npm install" and "npm run build" when creating the image using the "kit prod build" command. If I understand the issue, this should fix it. Please let me know. Thanks again for bringing this to my attention.

  • @obamer1342
    @obamer13428 күн бұрын

    Why did you switch to this board?

  • @thetechnologysandbox
    @thetechnologysandbox7 күн бұрын

    I wanted to play around with a board with the ESP32 chip.

  • @decar4773
    @decar47739 күн бұрын

    Thank you for the video.

  • @thetechnologysandbox
    @thetechnologysandbox8 күн бұрын

    You're welcome

  • @TrikNgonlen
    @TrikNgonlen9 күн бұрын

    AWESOME! Then, it will be easier implementing Laravel Reverb/WebSocket on the server?

  • @thetechnologysandbox
    @thetechnologysandbox8 күн бұрын

    I have Laravel Reverb in my list for future content. I haven't looked into those details yet. Hopefully it works for you, but let me know if you run into any issues.

  • @TrikNgonlen
    @TrikNgonlen8 күн бұрын

    ​@@thetechnologysandbox I have no Laravel Reverb project yet now... I'm beginner in Laravel, but I wonder how to implement Laravel Reverb into something like "YT Studio real-time chart" or "Google Analytics real-time visitor counter", in other case like real-time "transactions chart" of a Point Of Sales app. Ok, then, I'll be waiting for your Laravel Reverb content. And that's why I subscribe to your awesome channel.

  • @lyrihkaesa
    @lyrihkaesa11 күн бұрын

    Thanks you, i can learn more laravel with docker. I hope custom docker image with postgresql and minio.

  • @thetechnologysandbox
    @thetechnologysandbox8 күн бұрын

    Great suggestion!

  • @nizz4m
    @nizz4m14 күн бұрын

    Is it possible to achieve the installation of PHP, Nginx, Composer, NPM via user data while creating ec2 instance ?

  • @thetechnologysandbox
    @thetechnologysandbox13 күн бұрын

    Absolutely! This video is part of a introductory series with all the details on how to do this deployment manually. There is a series of 4 videos that talks about "infrastructure as code". The first video in that 4 part series is: kzread.info/dash/bejne/aayD0tqplK_Jlqw.html. You might also be interested in the follow up videos on CI/CD (kzread.info/dash/bejne/qWeh2rCderOrfJs.html). BTW, the code used for the "devops videos" can be found here: github.com/rcravens/devops-laravel. In this repo, you will find some shell scripts that you can use to provision ubuntu and deploy your application. This is talked about in the above videos. Hope that helps.

  • @nizz4m
    @nizz4m10 күн бұрын

    @@thetechnologysandbox Appreciate your reply. I managed to get it work after a few days 😅 Out of curiosity, is Nginx and Apache able to sit together under single instances ?

  • @abrahamolaobaju1781
    @abrahamolaobaju178114 күн бұрын

    nice

  • @thetechnologysandbox
    @thetechnologysandbox13 күн бұрын

    Thanks

  • @decar4773
    @decar477316 күн бұрын

    Thank you for video

  • @thetechnologysandbox
    @thetechnologysandbox13 күн бұрын

    You are welcome

  • @user-oe6ws2lp8e
    @user-oe6ws2lp8e18 күн бұрын

    Hey! I know it's been a while, since you've made this video...but would it be possible to reupload this with a higher video quality? I really appreciate the help but it is very hard to follow with 360p quality

  • @thetechnologysandbox
    @thetechnologysandbox13 күн бұрын

    Sorry for the lower resolution. That's my bad. I didn't understand some of these things as well as I do now. Unfortunately, it doesn't look like I have any better quality originals.

  • @kh-hamzadev
    @kh-hamzadev18 күн бұрын

    Thanks for these tutorials. Got to learn a lot from these videos.

  • @thetechnologysandbox
    @thetechnologysandbox13 күн бұрын

    Glad to hear it!

  • @DeGuzmanBonjourL
    @DeGuzmanBonjourL22 күн бұрын

    Question when I push on my repository the folder code not push

  • @thetechnologysandbox
    @thetechnologysandbox20 күн бұрын

    Odd. Just guessing here, but if you are trying to push your code back into the Laravel Github repo then you would not have permissions to do that. What you probably need to do is delete the ".git" directory and go through the process of creating your own git repo. BTW, if you have an existing application you can use your own git repo to clone into the app when you "kit create". You can find more info on that here: github.com/rcravens/docker_starter_for_laravel?tab=readme-ov-file#creating-a-laravel-application. Next week's video also covers these new features. Hope that information helps.

  • @DeGuzmanBonjourL
    @DeGuzmanBonjourL20 күн бұрын

    @@thetechnologysandbox tnx again there another problem when I deploy on remote docker server I cannot to access 404 will response

  • @henrylemmon6685
    @henrylemmon668523 күн бұрын

    Hello, The settings tab is missing from rcravens/laravel_demo github page?

  • @henrylemmon6685
    @henrylemmon668522 күн бұрын

    I had to clone your repo and create my own repo from your files to gain access to the settings tab and that enabled me to move forward. What a great collection of videos you have here. Thank you.

  • @passioncorners
    @passioncorners27 күн бұрын

    Could we possibly explore scaling in different AWS regions?

  • @passioncorners
    @passioncorners28 күн бұрын

    Hey Bob, is there an official or common name that is used for the "Four-Tier Deployment" concept?

  • @thetechnologysandbox
    @thetechnologysandbox27 күн бұрын

    I think the "generic" term is "multi-tier architecture" or "n-tier architecture".

  • @passioncorners
    @passioncorners28 күн бұрын

    Thank you Bob for your knowledge and content! Just a quick question that if I opt in for using Laravel Octane, then there's a different optimize strategy that I should perform right?

  • @thetechnologysandbox
    @thetechnologysandbox27 күн бұрын

    I have not deployed a Laravel Octane environment before.....but looking at the docs I see this: "Laravel Octane supercharges your application's performance by serving your application using high-powered application servers, including FrankenPHP, Open Swoole, Swoole, and RoadRunner. Octane boots your application once, keeps it in memory, and then feeds it requests at supersonic speeds." When I visited FrankenPHP docs, it looks like the preferred way to deploy is to run this in a container. My guess is that they will have their container already "highly optimized"....so you probably don't have to do much inside their container. Interesting technology....maybe someday I will be able to take a deeper look. Thanks for watching!

  • @passioncorners
    @passioncorners27 күн бұрын

    @@thetechnologysandbox Thank you for your reply. Love the whole series and looking forward for more content from you!

  • @henrylemmon6685
    @henrylemmon668528 күн бұрын

    Hello, Great video. I would like to deploy laravel in production on a digitalocean droplet using docker. The site will be for minimum users. How much would I have to do to this starter kit of yours to use it for production or is this a good idea? Thank you

  • @thetechnologysandbox
    @thetechnologysandbox27 күн бұрын

    I will be posting at least one video in the near future on creating a CI/CD pipeline that automates this process. It will be part of the #AWS series but the concepts will be applicable to DO. First, I think you will need to decide between: 1. Deploying Code - In this case, you setup your Docker production environment. To deploy a new release you trigger a "git pull" in the services that leverage the code (nginx, horizon, artisan, ...). 2. Deploying Containers - In this case, you will need to create a CI/CD pipeline that creates a new docker image(s) and deploys those to production. You probably want to use some orchestration tool (swarm, kubernetes, ...) to aid in the provisioning / teardown of these updates. One change you will want to think about is you will probably want to have a "prod" and a "dev" version of the environment. As an example, the environment the starter kit creates is a "full stack" that includes nginx, php, mysql, redis, ...etc. In the "prod" environment, I would lean towards creating an environment where the data storage services (mysql, redis,...) are deployed as separate services (e.g., Amazon RDS, Amazon ElastiCache). So my "prod" docker compose file will not need to create those services / images. Hope those are my initial thoughts...hope that helps!

  • @henrylemmon6685
    @henrylemmon668527 күн бұрын

    I thank you for your reply. I am subscribed so I await your next video. I am a bit new to these concepts and have played around with CI/CD. Going to keep reading and trying to understand. Thanky you.

  • @gustavoriosfombona
    @gustavoriosfombona29 күн бұрын

    This is a great video . Thank you so much. I was wondering if im still developing the laravel app, how can i change the code in the ec2 instances?

  • @thetechnologysandbox
    @thetechnologysandbox29 күн бұрын

    That is a great question and I plan on covering improvements to the CI/CD pipeline that will allow us to push new code. Right now we have “containerized” our code by manually creating an AMI containing the current version. Obviously this is not ideal and I the improvements in future videos will be discussing some options. There are a number of solutions, but I will probably end up building a docker image in the CI/CD pipeline and deploying that image either using ECS or EKS. Hopefully that helps. More details in upcoming videos….

  • @gustavoriosfombona
    @gustavoriosfombona28 күн бұрын

    @@thetechnologysandbox Thank you , looking forward to your videos. Best regards

  • @decar4773
    @decar4773Ай бұрын

    Thank you for the video

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    You're welcome

  • @tonie_victor
    @tonie_victorАй бұрын

    Thank you.

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    You're welcome!

  • @deoxzyKun
    @deoxzyKunАй бұрын

    i can not create key @ 9:35, it's showing error: Saving key "/home/larvel_demo/.ssh/github_rsa" failed: No such file or directory

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    Hopefully you got past this issue. Sounds like either "laravel_demo" is not the user you used or the ".ssh" directory was not created.

  • @deoxzyKun
    @deoxzyKunАй бұрын

    you should've provided the commands in the description, it would've been more easier to follow

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    I do have a Github repo (github.com/rcravens/devops-laravel/tree/master) with the provisioning and deployment code. You can find the ubuntu provisioning scripts in the "provision" directory. Hope that helps.

  • @otp1203
    @otp1203Ай бұрын

    Maybe a missed it along the way, but do you have a github or something for all the commands/configs you're copy/pasting?

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    Sorry for the delay. There is a github repo here: github.com/rcravens/devops-laravel. This contains most of the command lines that I manually entered. You can find the "ubuntu provisioning" scripts in the "provision" directory. In the "deploy" directory you will find the scripts to deploy an application. BTW, these deployment scripts are covered in detail in the 4 "Infrastructure As Code" videos. The link to the first one is here: kzread.info/dash/bejne/aayD0tqplK_Jlqw.html.

  • @SergejOleskevic
    @SergejOleskevicАй бұрын

    Perfect video! Waiting for the next one. Thank you

  • @decar4773
    @decar4773Ай бұрын

    Super

  • @decar4773
    @decar4773Ай бұрын

    You are very smart))

  • @decar4773
    @decar4773Ай бұрын

    Everything worked out! Thank you

  • @thetechnologysandbox
    @thetechnologysandboxАй бұрын

    Great to hear!

  • @desmondawere3409
    @desmondawere34092 ай бұрын

    Thank you for this video, but I keep getting 400 Bad request when I go to abc_local:44301 on my browser

  • @cristobalmaldonado6028
    @cristobalmaldonado60282 ай бұрын

    This video helps me a lot, thanks! How can I deploy my application in cpanel using docker?

  • @codewithmorkeh
    @codewithmorkeh2 ай бұрын

    Can you please share the GitHub repo link for the GitHub actions?

  • @thetechnologysandbox
    @thetechnologysandbox2 ай бұрын

    My bad....here is the repo: github.com/rcravens/laravel_demo. Thanks for watching!

  • @punkygamer7668
    @punkygamer76682 ай бұрын

    Great series so far! waiting for more including ci/cd gh actions etc.

  • @thetechnologysandbox
    @thetechnologysandbox2 ай бұрын

    That is scheduled for Tuesday. Glad you are enjoying.

  • @SergejOleskevic
    @SergejOleskevic3 ай бұрын

    Thank you! I watch every video on your channel 😊 What is the main benefit of using this way of automation compared to the Docker?

  • @thetechnologysandbox
    @thetechnologysandbox3 ай бұрын

    Thanks for watching…I appreciate it! This is a great question. I don’t think it is a either Docker or the provisioning script. When I created the Docker Starter Kit for Laravel (github.com/rcravens/docker_starter_for_laravel) the provisioning code is in the dockerfile for PHP. when you compare these you will find a lot of the same code (e.g., using apt to install PHP…). To write things once and use everywhere, I could imagine the dockerfile git cloning the dev ops repo and running the provisioning script inside the container. That would allow you to maintain a “one code base for ubuntu provisioning”. On the other hand, the provisioning completed in this video is a “monolithic” application where in the docker starter kit, i split that up into multiple services….PHP, nginx, mysql, redis all had their own docker service. That is where we will end up in this “deploy laravel to AWS” series as we start to explore the best options for scaling (coming soon). So eventually, the infrastructure will better match what is in the Docker starter kit. Hope that helps!

  • @Louic099
    @Louic0993 ай бұрын

    Exactly what I was looking for! Will jump into part one. Thanks for taking you time and creating this

  • @ray-qs3nq
    @ray-qs3nq4 ай бұрын

    Would love to see more projects like these in the future!

  • @SergejOleskevic
    @SergejOleskevic4 ай бұрын

    Wow. Your tutorial is awesome. Very clear and easy to follow. Thank you!

  • @shubhankertiwari3699
    @shubhankertiwari36994 ай бұрын

    can we do live stream using this board?

  • @HyuLilium
    @HyuLilium4 ай бұрын

    Could you please share a format of how to communicate this estimation? Like the output of using what's described in the video.

  • @thetechnologysandbox
    @thetechnologysandbox4 ай бұрын

    The key is to provide some indication of the uncertainty in the estimate. I don't know if there is a "one right answer" on how to do this. Here are a few methods and I am sure there are others: - For slide decks showing project status, provide an appropriate "disclaimer" that indicates the level of uncertainty in the estimates. I could imaging that for timelines out past 6 months the disclaimer is different that if the timeline is discussing tasks completing in the next 1 or 2 sprints. - If you are using using Excel for presenting status, the you could use a formula to automatically color code feature based on their due date. The colors don't have to be "scary" like red for anything completing 6 months or later, but can be subtle as long as "what the color codes mean" is communicated. As mentioned, the goal is to provide some indication of the uncertainty and not to cause a panic....so choose how you present this information wisely ;-))

  • @EdissonReinozo
    @EdissonReinozo4 ай бұрын

    Thanks for sharing!

  • @thetechnologysandbox
    @thetechnologysandbox4 ай бұрын

    Thanks for watching!

  • @MadanChalla
    @MadanChalla4 ай бұрын

    Thanks a lot, Bob! Your insights are really helpful and useful. Would you share that py with me please! Wont ya!? 😊 Best wishes 🤞

  • @MadanChalla
    @MadanChalla4 ай бұрын

    Wow! Bob, that AI detector is really good. The way you prompted and enhanced the prompts to make the results personalized and humanlike is exceptional. Very impressive 👍

  • @gregorgliha
    @gregorgliha5 ай бұрын

    Sry, but font size way to small to watch.

  • @thetechnologysandbox
    @thetechnologysandbox5 ай бұрын

    My bad. I usually remember but forgot. Sorry

  • @rovagamer
    @rovagamer5 ай бұрын

    do you have any idea how long a 1,5 A battery would power the device when you only send data 2 times a day, and use the sleep mode?

  • @AralCanKaymaz
    @AralCanKaymaz5 ай бұрын

    Rather unknown feature that the round robin happens over DNS responses. There is one caveat we might run into: if the client caches DNS for faster results, it will connect to just 1 IP until the client does a DNS query again, which is usually after a restart

  • @thetechnologysandbox
    @thetechnologysandbox5 ай бұрын

    That is true. The DNS query results typically are cached for the TTL time period. When I was testing the Nginx / Docker configuration it appeared that the default TTL was set to 600s, but when I dynamically scaled the application the new IP addresses were being served up right away. This makes sense as on the resolver line in the nginx conf file there is a "valid=5s;". Thanks for starting this discussion!

  • @thetechnologysandbox
    @thetechnologysandbox5 ай бұрын

    Here is a great article on how Nginx handles DNS resolution for a few configuration: www.nginx.com/blog/dns-service-discovery-nginx-plus/.

  • @mister--W
    @mister--W5 ай бұрын

    Thank you so much for your tutorials. Keep up the good work!

  • @thetechnologysandbox
    @thetechnologysandbox5 ай бұрын

    Glad you like them!

  • @arkadiuszszczotka6180
    @arkadiuszszczotka61805 ай бұрын

    Do you think that is possible to send video stream via sim module? If not maybe some jpegs...

  • @thetechnologysandbox
    @thetechnologysandbox5 ай бұрын

    I think that periodically uploading a JPEG is definitely doable. I would think that streaming should also be possible, but I am a bit more skeptical if this hardware could do that via the SIM module. Probably the best design would be having a "normal" picture rate of every 5-10 minutes, but dynamically increasing that rate if certain events occurred (e.g., GPS position change, or motion detected since the last photo...etc).