· 14:42
All About Application Stacks
Step into the world of application stacks! Today, we will be sitting down with our 3XC team to discuss what an application stack is, including critical components of an application stack and why they are important.
Transcript
foreign [Music] ER I'm CEO of triple helix Corporation and welcome again to our Helix Insider podcast today I'm joined in studio with one of our developers Pedro Lopez and our senior engineer Sean coover who are going to be talking with us today today's topic we thought we would talk to you about application Stacks the work triple helix does is uh very largely based in the software application stacks and we thought we'd take a little bit of time to explain to you why we use an application stack and what we use and why we like to use it so um Pedro kick off and open up to you what is an application stack and what are the components we use in our Stacks so an application Stacks a combination of Technologies they are used to run and build web applications um you know we typically go for a lamp stack which is the operating system is Linux we use as a web server Apache the database is typically my Sequel and the language that you use is PHP and so uh we typically try to stay within this kind
of Stack but there's variations of it that you know obviously we're going to talk about in this podcast so basically lamp is Linux Apache MySQL PHP l-a-m-p yes exactly yes yeah excellent Sean why don't you open up a little bit for us and talk to us about the uh the operating system and and what we use and why we like to use it we use uh Linux for our operating system it's it's free it's open source there's several different variations of it there's Red Hat there's Centos there's the new Centos stream and there's Ubuntu Ubuntu is a great server a platform we use that specifically they they have a great long-term support they have a rolling five years but there's many others but all of the Linux core systems operating systems are open source they're free to use there's uh there are some companies like red hat who offer support so you can pay for subscription support for your Linux there's also the long-term support that at canonical offers for bumsu for their operating system making sure
all the security packages and patches are applied to the packages we also use Windows you can use Windows uh for an operating system but typically we like to use Linux I like to know what's going into the kernel of the operating system and what's going into the the core of the the server itself and we can really keep it small and modulized with uh with Linux yeah that's a good point because the operating systems are so very important these days and I'm aware Red Hat was a very go-to favorite from the open source Community ourselves included and at one point they decided they wanted to start selling it as a paid license and understandably they're using uh support agreements to support that um but unfortunately you know it kind of breaks the pivotal Cardinal real for us is that we want to offer our Solutions and our technology free so after that I think this team decided to go to Ubuntu almost exclusive week though we do play in the other one that's a good point um talk to us now about the
web server Sean like what is what is the a in uh the uh the lamp stack uh well the a in the land stack is stands for Apache and as is one of the the most long-standing web server softwares uh there is it's a very powerful very very modular and very Dynamic piece of software it can be a little slow if you bloat it up with too much software or too many components but it is a very very powerful engine and it and it runs a lot of the the internet web services in general just for our listeners perspective what what is actually a web server what's it actually doing for the application stuff a web server is a service that's running on the server except HTTP and https requests from clients at man manages web sockets which are as just the connection to the network so that when you send a request from your browser the web server respond with the content that you're requesting right right so literally you go to a website the client is the the desktop the browser of the user and you're requesting
a page like google.com and the web server is literally serving the content it's providing the the the request request back to the user and showing them everything that's it yes it's the uh service that's actually sending the content to the client got it now we don't always use Apache right like what else do we use them there there's another there's several other web servers out there there's nginx which is one that we use a lot as well it was more designed for Speed more than you know usability it's a very powerful proxy and caching server along with a very fast web server if it's a rather simple application we'll typically tend to use the nginx for Speed and caching abilities but if we have a more more in-depth piece of software that we're we're running then we'll tend to lean on Apache for that uh okay Pedro over to you now um let's talk a little bit about uh the m and the lamp stack which is um part of the database engine talk to us about that and what options we use there well we typically
use MySQL uh that's the M on the lamp stack and it's essentially A system that stores and manages data for the application uh it's my SQL it's a technology that's very well known um and uh one of the reasons you know to use it is because a lot of the bugs have have been already patched out so it's very stable as well okay what other database engines would we use besides my SQL because there's several out there we might use right right well there is a that you know there's uh mongodb Firebase there's a couple other um out there but uh typically we either go with my sequel postgres mariadb um you know some of these um other depending on the the need of the project we might go in a different route but typically We Stand uh we say with my sequel awesome yeah and I'm aware of that Maria DB is actually a variant of my sequel so it's actually kind of like my sequel all over again yes it's uh it's pretty much like my sequel uh with a few things here and there but uh it's essentially the same thing
now this is in contrast to like the very very popular Microsoft product SQL Server which I'm sure a lot of our users have uh our listeners have used before and you know nothing wrong with SQL server in fact a lot of very good best-in-class applications use it but we tend to shy away from SQL Server just for the basic reasons it's not free Microsoft is a product uh charges for their license on a Microsoft SQL Server license can be quite expensive anywhere from five to ten thousand dollars depending on the version you're getting and that's the one thing we like to stress is that you know we're building these applications and yet if we have to start the work with like ten thousand in the hole it's kind of like counterproduce counter-intuitive in in our opinion but at any rate um then the last piece of that the P what is the p in our on our lab stack so the P stands for a PHP and that's the um programming language that we use to write our applications uh but I just want to make a quick note
here about the uh database as well is that any given application that we build we typically have to connect with other databases uh that you know a client might have you know their data in and so even though we're you might be using primarily my SQL to host the data uh it doesn't necessarily mean that that has to be the database that the client needs to have we can connect the application to the mySQL database but also the SQL server and it kind of pulled data from you know different databases to you know into the application that's an excellent point and then for listeners who have actually heard some of our other podcasts we talked at length about enterprise resource planning software systems and Erp augmentations and what pager you just mentioned is exactly how we do that we have our own app stack which is the lamp stack and it's a self-contained application but very often we have to reach out to a third-party data source like an Erp system and frequently they're using SQL Server so
we'll use a special driver that lets us connect to it and that's referred to as an odbc driver I believe that stands for original database connection right that's correct you touched on a really important point is is with lamp as a self-contained fully grown application we're actually using um a framework in the PHP side that actually builds the entire application um talk to our listeners pager a little bit about like what application stack we like using and of course there's many many ones out there but you know what is what is our framework of choice that we like to use so we used to use Yi but um you know there was um a lot of uh there wasn't as many updates as we would like to see uh year over year on a framework so we ended up choosing laravel which is a PHP radius framework and for those who don't know PHP is a server-side language and basically a framework is a set of libraries and tools um that provide a structure for building a web application and so that's essentially what we
use in the one of the reasons that we like laravel from you know outside of the fact that is open Source it has a really a big Community behind it and they update it every year and uh they put security patches in so it's very important to have that kind of um Community uh when you pick a framework to long-term projects yeah that's an excellent point because these Frameworks they're very much beholden on the community that supports them and if they're not being updated and maintained they can create security risks and flaws over time that then get exploited so you always want to use a framework even though it's free you want to use one that has a very large community behind it yeah excellent point Sean talk to us now about the application stack in general the entirety of everything and and why having a stack for software is so very important the application stack allows all of the services and all of the pieces of the the stack to be modularized so that everything's granular so there's
no single point of failure for for the uh for the application itself obviously if your database system goes down you you'll have some some issues but you can have a replication set up for that the reason why it's a stack is so you can separate right all out all the services and troubleshoot each one individually instead of having one big piece of software that's containing all of these services and one that that will you know chug on RAM and use a lot of resources to try to do all these things at once whereas four different pieces of software can do it individually and manage their own resource Footwear and better excellent point and moreover like it makes the security much easier right you can sort of manage them independently right yes uh you you can you can manage all of the uh the components of the lamp stack individually like you can make sure that only you can access your your your Linux system only the the web server is listening on the network where the database is listening on
a file socket on the server itself you can make it much more secure by running a lamp stack where everything's modulized instead of just one piece of software that's running it all right because we have seen that right I mean we've seen applications where they try to sell contain everything and it's a bit of a hot mess in that it's trying to do everything for the user and while that is nice you have one component to worry about the modularity I think is very powerful because it gives us the ability to like lock things down independently work on them independently if we know something's wrong with a specific service you only have to look at one thing as opposed to the entire stack to see what's going on so yeah the excellent point it makes it much easier to manage for sure yeah it definitely makes it much much easier to manage much easier to troubleshoot and just much easier to maintain and in general yep yep exactly exactly I think that's pretty much all we had for our users today um any
final thoughts I'll throw it back to you Pedro for uh wrap up anything final comments you want to make I just want to reinstate that even though we do have a stack that we typically work with the stack can vary based upon the client's needs uh we tailor you know the the projects to you know whatever you know is best to you know for the client and so you know that can vary a little bit but uh we typically typically we you know stay within those parameters and um you know we try to use as much open source uh well established Frameworks and services as possible awesome Sean same question any final thoughts and feedback uh yeah I did want to speak briefly on the uh the database services for for a moment we are making a a strong shift towards Maria DB kind of away from MySQL considering MySQL is sort of running a dual license approach uh they're still open source but Oracle does have the ability to run other licenses for MySQL whereas Maria DB it's now becoming the most popular relational database
service it was made by the original developers of MySQL and it's guaranteed to be open source for the rest of its uh its life excellent no that's a that's an important distinction I think you were mentioning too earlier that um application Stacks in general including these open source components power over what is it 95 of the internet is running these servers yeah anywhere between 85 and 95 of the internet is running some sort of Stack whether it's be whether it's a Zam stack windows with Apache or windows with IIs which is internet Information Services which is Microsoft's web server you do need a license for that but yes Stacks are running just about everything on the internet currently yeah so very important and for making sure that things running smoothly for sure okay well that's all our time we have for us today so I want to thank my two guests Pedro Lopez and Sean coover for joining us in studio today thanks everybody and have a great day [Music] thank you foreign [Music]
Ready to Transform Your Business?
Let's discuss how our data solutions and technology expertise can help your organization achieve its goals.
Get In Touch