CI/CD - Intro and Project Recap
3:42
channel trailer
0:21
2 ай бұрын
Пікірлер
@passioncorners
@passioncorners Күн бұрын
Could we possibly explore scaling in different AWS regions?
@passioncorners
@passioncorners 2 күн бұрын
Hey Bob, is there an official or common name that is used for the "Four-Tier Deployment" concept?
@thetechnologysandbox
@thetechnologysandbox Күн бұрын
I think the "generic" term is "multi-tier architecture" or "n-tier architecture".
@passioncorners
@passioncorners 2 күн бұрын
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
@thetechnologysandbox Күн бұрын
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
@passioncorners Күн бұрын
@@thetechnologysandbox Thank you for your reply. Love the whole series and looking forward for more content from you!
@henrylemmon6685
@henrylemmon6685 2 күн бұрын
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
@thetechnologysandbox Күн бұрын
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
@henrylemmon6685 Күн бұрын
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
@gustavoriosfombona 3 күн бұрын
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
@thetechnologysandbox 3 күн бұрын
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
@gustavoriosfombona 2 күн бұрын
@@thetechnologysandbox Thank you , looking forward to your videos. Best regards
@decar4773
@decar4773 11 күн бұрын
Thank you for the video
@thetechnologysandbox
@thetechnologysandbox 10 күн бұрын
You're welcome
@tonie_victor
@tonie_victor 12 күн бұрын
Thank you.
@thetechnologysandbox
@thetechnologysandbox 10 күн бұрын
You're welcome!
@deoxzyKun
@deoxzyKun 14 күн бұрын
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 10 күн бұрын
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 14 күн бұрын
you should've provided the commands in the description, it would've been more easier to follow
@thetechnologysandbox
@thetechnologysandbox 10 күн бұрын
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 20 күн бұрын
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 10 күн бұрын
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: kzfaq.info/get/bejne/bd5_o9uhybLHln0.html.
@SergejOleskevic
@SergejOleskevic 23 күн бұрын
Perfect video! Waiting for the next one. Thank you
@decar4773
@decar4773 25 күн бұрын
Super
@decar4773
@decar4773 25 күн бұрын
You are very smart))
@decar4773
@decar4773 28 күн бұрын
Everything worked out! Thank you
@thetechnologysandbox
@thetechnologysandbox 25 күн бұрын
Great to hear!
@desmondawere3409
@desmondawere3409 Ай бұрын
Thank you for this video, but I keep getting 400 Bad request when I go to abc_local:44301 on my browser
@cristobalmaldonado6028
@cristobalmaldonado6028 Ай бұрын
This video helps me a lot, thanks! How can I deploy my application in cpanel using docker?
@codewithmorkeh
@codewithmorkeh Ай бұрын
Can you please share the GitHub repo link for the GitHub actions?
@thetechnologysandbox
@thetechnologysandbox Ай бұрын
My bad....here is the repo: github.com/rcravens/laravel_demo. Thanks for watching!
@punkygamer7668
@punkygamer7668 2 ай бұрын
Great series so far! waiting for more including ci/cd gh actions etc.
@thetechnologysandbox
@thetechnologysandbox 2 ай бұрын
That is scheduled for Tuesday. Glad you are enjoying.
@SergejOleskevic
@SergejOleskevic 2 ай бұрын
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
@thetechnologysandbox 2 ай бұрын
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
@Louic099 2 ай бұрын
Exactly what I was looking for! Will jump into part one. Thanks for taking you time and creating this
@ray-qs3nq
@ray-qs3nq 3 ай бұрын
Would love to see more projects like these in the future!
@SergejOleskevic
@SergejOleskevic 3 ай бұрын
Wow. Your tutorial is awesome. Very clear and easy to follow. Thank you!
@shubhankertiwari3699
@shubhankertiwari3699 3 ай бұрын
can we do live stream using this board?
@HyuLilium
@HyuLilium 3 ай бұрын
Could you please share a format of how to communicate this estimation? Like the output of using what's described in the video.
@thetechnologysandbox
@thetechnologysandbox 3 ай бұрын
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
@EdissonReinozo 3 ай бұрын
Thanks for sharing!
@thetechnologysandbox
@thetechnologysandbox 3 ай бұрын
Thanks for watching!
@MadanChalla
@MadanChalla 3 ай бұрын
Thanks a lot, Bob! Your insights are really helpful and useful. Would you share that py with me please! Wont ya!? 😊 Best wishes 🤞
@MadanChalla
@MadanChalla 3 ай бұрын
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
@gregorgliha 4 ай бұрын
Sry, but font size way to small to watch.
@thetechnologysandbox
@thetechnologysandbox 4 ай бұрын
My bad. I usually remember but forgot. Sorry
@rovagamer
@rovagamer 4 ай бұрын
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
@AralCanKaymaz 4 ай бұрын
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
@thetechnologysandbox 4 ай бұрын
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
@thetechnologysandbox 4 ай бұрын
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--W 4 ай бұрын
Thank you so much for your tutorials. Keep up the good work!
@thetechnologysandbox
@thetechnologysandbox 4 ай бұрын
Glad you like them!
@arkadiuszszczotka6180
@arkadiuszszczotka6180 4 ай бұрын
Do you think that is possible to send video stream via sim module? If not maybe some jpegs...
@thetechnologysandbox
@thetechnologysandbox 4 ай бұрын
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).