Dynamics Corner

Episode 327: In the Dynamics Corner Chair: Why get a llama when you can excel with an Alpaca

July 09, 2024 Patrick Schiefer and Markus Lippert Season 3 Episode 327

Send us a text

Cosmo Alpaca is a set of tools that make the development and implementation process for Microsoft Dynamics 365 Business Central easier. It includes features like CI/CD pipelines, cloud development containers, and automation, which are invaluable for efficient and streamlined development. In this episode, Kris and Brad talk with Markus Lippert and Patrick Schiefer of CosmoConsult to learn all about a tool that all Microsoft Dynamics 365 Business Central Developers need in their toolbelt.
 
Connect with Markus on LinkedIn: https://www.linkedin.com/in/lippertmarkus/
Connect with Patrick on LinkedIn: https://www.linkedin.com/in/patrickgrabensteiner/
Learn more about Cosmo Alpaca at https://www.cosmoconsult.com/cosmo-alpaca/

#MSDyn365BC #BusinessCentral #BC #DynamicsCorner

Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/

YouTube:
https://www.youtube.com/channel/UCiC0ZMYcrfBCUIicN1DwbJQ

Website:
https://dynamicscorner.com

Our equipment:

Disclaimer: This podcast episode may contain affiliate links, which means we may receive a small commission, at no cost to you, if you make a purchase through a link. This helps and support our podcast.

Speaker 1:

Welcome everyone to another episode of Dynamics Corner, the podcast where we dive deep into all things Microsoft Dynamics. Whether you're a seasoned expert or just starting your journey into the world of Dynamics 365, this is your place to gain insights, learn new tricks and make development easier. I'm your co-host, chris.

Speaker 2:

And this is Brad. This episode is recorded on July 2nd 2024. And this is Brad. This episode is recorded on July 2nd 2024. Chris, Chris, Chris. I'm all for anything that makes developers' lives easier. We face a lot of challenges with development applications, and having to learn all different technologies, set up all the various environments can also become a challenge. There are many tools available to help make a developer's lives easier, but there is one great tool that's available and with us. Today we had the opportunity to speak with Marcus Lippert-Packerschafer of Cosmos Consult to learn more about Cosmo Alpaca. Marcus Patrick, good afternoon, how are you doing?

Speaker 3:

good afternoon, I'm good, how are you?

Speaker 2:

doing very well. Thank you very well. Thank you for taking the time to speak with us this afternoon. I've been looking forward to this conversation for some time, uh, and I have a lot of questions, hopefully be able to give me a little bit more information on alpaca and how do you say, how do you pronounce it?

Speaker 3:

yeah, it's, it's right. It's just a cause of alpaca.

Speaker 2:

Like the animal, I always want to make sure because I have a tendency to mispronounce a lot of things, and I don't do it purposely, so I want to make sure I say it. Totally fine, before we jump into the conversation, would you mind telling us a little bit about yourself, markus?

Speaker 3:

Yeah, my name is is Marcus. I'm working at Cosmo Consult for four years now in the business central space. I've been for around 10 years, always worked on the automation, tooling, stuff like that, and now at Cosmo Consult we are working on Cosmo Alpaca. So development tooling making a life of developers easier, more automated and stuff like that. I'm working together with Patrick here and also with two other colleagues. We are working full-time on Alpaca. That's basically it.

Speaker 2:

Excellent. Thank you, Patrick. Would you mind telling us a little bit about yourself, please?

Speaker 4:

Yeah, of course I'm a software developer at cosmo consult also. Um, before I was at cosmo consult I was a cobalt developer for very old software and then seven or eight years ago I jumped in the business central area and for about three or four years and now working with Cosmo Alpaca, mainly developing Cosmo Alpaca and mainly on the Azure DevOps side. So maybe we will talk a little bit about it later, because we have at the moment we have the Azure DevOps and the GitHub side of Cosmo Alpaca.

Speaker 2:

Excellent, thank you. So as we started talking with him, I'm excited to learn and hear more about Alpaca and how it makes development life easier. It's a lot of topic, a lot of conversation about the topic of CICD, pipelines, automated deployment a number of other topics now and I see Cosmo Alpaca. You know part of the conversation I also understand. With it, you can also work on the contribution to the Microsoft Business Central contribution. I don't want to call it open side contribution pilot as well, so I'd like to hear about that. So could you tell me a little bit about Cosmo Alpaca, what it is, what it does, who it's for and how someone can use it?

Speaker 3:

Yeah, so basically it's a set of tools to make development or the implementation process for Business Central easier. Like you mentioned, we have some pipeline stuff, cicd stuff, but we also doing like cloud development containers making yeah, making setting up an environment for business central development more easy, because we we found that like having local docker installation and having local containers just sometimes isn't that great because Docker sometimes breaks and stuff like that. We basically decided that we want to centralize that running those containers as well. Another big part of Alpaca is the cloud dev containers. On top of that, basically to make all of that easy, there's a lot of automation. We have a VS Code extension where you can do all the use, all the functionality in Alpaca. Yeah, basically removing the need to train all the developers in different technologies and stuff like that and making it easier.

Speaker 4:

One of our main ideas when we started with Cosmo Alpaca was to keep all the new technologies around AL which we got when we switched to AL from CL away from the developers. And the developers should focus again just on development and don't think about how the tools beside work and what they need to work with AL. So we take care of everything beside of the development.

Speaker 2:

That's fantastic. That is a good point because I know myself, I use Business Central Online as well as Docker containers for development, which is as you mentioned. It can bring its own sets of challenges, with a number of reasons. It is a great tool. We have been very successful using it, but I'm happy to see that there's something else, like Alpaca and Patrick. Thank you, you hit a key point and I talk with a lot of developers and I mentioned the same. There's so much technology out there that you can spend a lot of time working and learning these other technologies that you'd mentioned, like setting up a Docker container for a proper version of Business Shunt, so for you to work on an extension, which could take you sometimes a period of time if you have difficulties, challenges or problems. So now, if you have an easier way to create these environments, you don't have to worry about it. Environments you don't have to worry about it With Alpaca. So it's basically an online. It's simplified, it's an online container-based system for developers to use for their development process.

Speaker 3:

Right. So the initial idea was basically that, yeah, within Cosmo Consult we have around 400 developers and we initially also started with developers having like local containers. But we saw that just brings a lot of effort with it to support it, because next Windows update came and docker break broke again and we need to handle different scenarios all the developers having like different laptops, different machines with different resources and stuff like that and the support effort was just so high that we, yeah, just saw the need that we need to centralize that one no, that is a great idea.

Speaker 2:

With alpaca, are there limitations to which versions of business central you can create a container for or a development environment? What do you call them? Do you call them containers? Do you call them development environments? What do you call them within Alpaca?

Speaker 3:

Yeah, we normally just call them containers. Yeah, you always need to keep in mind that they are not running on your local machine but in the cloud. But they are still containers, basically, and yeah, so basically, um, yeah, the second issue we had was was like setting up those containers, so not just like how you would set them up with PC container, but also how would you install dependencies and stuff like that. That's again something where you either need your own scripts or need to know how to use PublishNavApp and so on, and that's again something you need to try.

Speaker 2:

So with Alpaca can you go back as far as Dynamics Nav for containers or just strictly with Business Central?

Speaker 3:

Yes, yes, sorry, I forgot to mention the answer to the question. You can go back to VC16,. I forgot to mention the answer to the question. Yeah, you can go back to VC16,. I think was the lowest version currently, patrick, right?

Speaker 4:

15 is the lowest version.

Speaker 3:

Yeah, so we basically try to orient ourselves from the normal support structure from Microsoft to supporting the same version like Microsoft is supporting, and sometimes also with tech.

Speaker 2:

No, it's BC 16 is a long way back and technology has changed since those times, so trying to support some of those older systems can be a challenge. Just with the way they were written for the technology at that point in time, so it does sound like it's a great.

Speaker 3:

And I think the reason behind this BC 16 limit was that around BC15 or BC16, so much in the background changed actually. So for us it was just very hard to adapt our scripts, our automations to work with both the old versions but also the new versions basically. So that was the time when we just said, okay, okay, we need to make a cut and, um, focus on having easy automations, easier scripts and so on yeah, we had an old version of cosmobucker which was supporting, uh, till NAV 2018 I guess, but it it stopped working with pc16.

Speaker 4:

So the old version of cosmobucker, which we are not selling anymore, um, would work with. Of Cosmo Abaco, which we are not selling anymore, would work with NAV 2018.

Speaker 2:

But we'll redo the cut with EC 15 or 16. Well, that is still quite a ways back and the technology has changed quite a bit and it is difficult, I know, if I come across different versions. Sometimes I get confused myself as far as which feature, which function, which language version do I need to use to do the development. It gets a little confusing. So with Cosmo Alpaca, it's a cloud-based container system. Does it support multi-users on these containers? So when the developers create these containers, is it something that they could have individually to themselves, or could you also support multi developer or consultant access as well?

Speaker 4:

Yeah, of course it's recommended to have your own container for every developer, but we have functionality to share your container with different colleagues. So if you want to share your container with a second developer, or if you want to hand over to a consultant for testing or something like that, you just can do it. But basically the recommendation would be to have just one developer on the container, because then otherwise you will have conflicts with objects or something like that, like you have when you work on one database.

Speaker 2:

Okay, great, and for a developer to start working with Alpaca. I heard you had mentioned, markus, that you have an extension within Visual Studio Code, and that's all that they would need to manage their containers.

Speaker 3:

Yeah, right, so to get started, basically you can just go to the Visual Studio Code marketplace, search for Cosmo Alpaca and then you will normally find two extensions. We got the normal Cosmo Alpaca extension and the Cosmo Alpaca preview extension, as well as GitHub, so we have support for both. Yeah, we basically plan to merge those extensions in the future, but currently we have two, and then you can just install those extensions and sign in with your Azure DevOps or Microsoft account or, on the other hand, with the GitHub account. Then you can get started basically.

Speaker 2:

So you can go to the marketplace and you had mentioned there's two extensions. There's Cosmo APACA and Cosmo APACA Preview. One's for DevOps and one is for GitHub. You had mentioned dependencies and managing of dependencies. Does APACA which dependencies will APACA help you manage? Does it help you manage dependencies for maybe third-party ISV extensions or other types of dependencies? Can we talk a little bit more about how it could support that?

Speaker 4:

We have different types of dependencies which we are supporting at the moment.

Speaker 4:

So, basically, you can set up everything within Coswell Paka to automatically install any apps in your system.

Speaker 4:

So if you set up a new container, you can set up the basic set on apps you want to install. So we have different approaches with you. When you subscribe for Cosmo Alpaca, then you get a file share where you can put your apps on and then you can link from the project to this file share. We also support at the moment that you link to an Asia DevOps feed. So if you have your apps inside a feed or you have a third party feed and what we are implementing at the moment is the new bits stuff which is already talking a lot about in all of the conferences we are implementing it so that everything is handled in the background and you just have a configuration file where you put those names from the NuGet package and then the installation will be done in the background and the developers don't have to care about which app they install. Just the one who is setting up the project has to think about once and every developer in the project is getting the same configuration.

Speaker 3:

Maybe to explain a little bit. We have a configuration file stored within the repository and there we list all the application dependencies. But you can also list like rapid start packages, backup files, whatsoever, and so every developer who is creating a container for this repository gets the same configuration. So that's really make sure that every developer works the same way. And, um, yeah, we don't have like scenarios where it just works on my machine but not on your machine and stuff like that.

Speaker 2:

So, yeah, I get excited hearing about this. I'm trying to keep calm but I I just think of just listening to what patrick had mentioned, even talking about the nougat. Go back to the days of like you had mentioned, mentioned. You'd have to install Business Central, you'd have to find the extensions, you'd have to load the extensions. Then you know the language has been progressing, you know to also allow you to load some, you know, dependent extensions within your, you know, development project. But now to be able to have all of this automated, to have a configuration where somebody can create their own container and I heard you mentioned RapidStars Does that mean it will also run RapidStars packages to import data as well?

Speaker 2:

See, that's perfect, that's fantastic, that is fantastic because, chris, that is, everybody will start with the same base. So, if you want someone to test, if you want someone to work on additional functionality, you don't have to spend time creating a container and giving them everything. They just run it. Yeah, you remove all the tedious work.

Speaker 1:

Just focus on development. I love it. We don't only accept Rapid Start.

Speaker 4:

We also have the possibility to add backup files. So if you want to work with backup files, one can set up a container, create the backup from this container and you can use this backup file for new containers. And we are also supporting to run PowerShell scripts inside of the container so you can really set up your container once and every new container will get exactly the same configuration and it's just a few clicks inside Cosmo Packer to set it up.

Speaker 2:

Yes, it's amazing. I had watched the video Marcus I think it was your video possibly on working with the contribution pilot for Business Central and when I had worked on it to create an environment with Docker, you know you had to use the PowerShell script to go through it. It took some time. It worked. It's great. Again, it's just different technologies.

Speaker 2:

But to see it done on Alpaca it took minutes or I feel like almost seconds. It went by so quickly. I almost thought I usually watch YouTube on you know higher playback speed so I can get more out of it. I thought I had it on double speed. It went so quickly. Uh, but I didn't. Uh, you had mentioned it works with github and devops, so with that it would link to your repository. So you manage and work with your github repository. Is that correct? And then alpaca, when you create the container, will create the project or use your workspace project, whatever you have to generate and build and create the project or use your workspace project, whatever you have to generate and build and create the extension within the container.

Speaker 3:

Yeah, so for the GitHub site, we are using ALGol for GitHub in the background, basically. So we are using the workflows Microsoft provides. We are using the proposed structure for the project and so on and also the workflows Microsoft provides. But what we basically enable you with, with alpaca on top of it, is to handle a bit more easier.

Speaker 3:

So we we like heard from many partners that I go for github is great, but, um, it's like sometimes hard because you need to know which configuration file I need to change if I want to enable code signing, for example, and which secrets I need to change if I want to enable code signing, for example, which secrets I need to add under the GitHub action secrets and so on. And, yeah, we think there was still a lot of requirement that one would need to know, basically to use Algo for GitHub. And so we added support for GitHub and Alpaca as well and letting Alpaca handle this for you. So, for example, if you're creating like a target environment in Alpaca Wait a moment environment where you want to deploy to an, alpaca is changing the configuration files for you, alpaca is creating the secrets for you and GitHub so you can just do everything from from VS code and yeah, don't need to click through five different config files and go to five different github pages to do it so?

Speaker 2:

does the compute for building the artifacts work within alpaca or because you're using algo in the background? Is it on your github account, where you're using that for processing of whether you're running any tests or building the artifacts for your application or your extension?

Speaker 3:

yeah, so currently we are still using the cadet posted runners, but we are currently working on providing our own runners also running in an alpaca in our infrastructure. Basically, we already have that for Azure DevOps. So in Azure DevOps, when you set up a new project via Apaka, apaka will also set up an agent in the background. So, yeah, you get a little bit cheaper runs and also agents that are more like tailored to business central workloads and not like generic.

Speaker 2:

Yeah, Wow, that's great. So, using the ALGo in the background or the ALGo process in the background, you're keeping up with what Microsoft adds within those workflows as far as testability or processing or creation of those extensions. So you're still with it, just in a much easier fashion Because, again, like you had mentioned, a lot of great tools out there but sometimes it takes a little bit of time to learn how to use these tools and then, when changes come around, to go with them With the containers that you had mentioned that you had created. Working with services or tools such as this, you know ISVs partners or even you know end user developers sometimes have concern for who has access to my code repository, because I may have some intellectual property or, if we're working with configuration packages, we may have some data that we're using for tests that we don't you know we shouldn't have any sensitive data for testing, but you know it's just one of those things that people get a little nervous about, justifiably so in some cases.

Speaker 2:

So what type of security measures or assurances do they have that you know, when Cosmo Pack has access to a GitHub repo or these containers that it would be isolated?

Speaker 3:

So we're basically using your user. So if you are signing in with your GitHub user, you just have the access that your GitHub user would have on GitHub functions, basically. So I'm taking that from there. And and regarding the data and so on, so we're using the Azure Kubernetes service in the background. So that's a container orchestration service by Microsoft.

Speaker 3:

Basically that's provided in the Azure cloud and there we have like a an isolated area in that cluster for each customer. So every, every customer has their own space in there with their own data storage and their own file share and so on, and also every container is fully isolated from other containers. So really just the developer that has created the container has access to it, file share and so on, and also every container is fully isolated from other containers. So really just the developer that has created the container has access to it, unless, of course, he decides he wants to share it. You can also add like a second owner to a container, so the colleague will also have access if you would do that. But apart from that, they are just fully isolated is.

Speaker 2:

Is there a limitation to the number of containers that a developer can set up within their subscription?

Speaker 3:

no so um, that's really the great part about using the azure kubernetes service in the background. So, um, you can basically create as many containers as you want. Um, and, yeah, in the background, azure um just works on the scaling. So if you need more resources than are currently available, then azure will just scale up the resources for you, start some additional machines in the background for you. So it's all very transparent and also enable us to really have a great scale.

Speaker 2:

That's great. As far as licensing for Cosmos Alpaca, how is it licensed to a user of the application? I call it an application, but it's more of a service, so how is it licensed? How can someone purchase or get started with it to use Alpaca in their development workflow?

Speaker 3:

Yeah, on Alpaca, we have a usage-based pricing, so we basically just pay for what you use and the only thing we bill is the container runtime. So if you are starting a container in the morning and stop it in the evening, you have a container runtime of eight hours and as a Microsoft partner, you would pay 90 cents per hour of container runtime. Yeah, and basically the same goes for the pipelines. So you also pay 90 cents for one hour of runtime of pipeline agents and also bc containers that are started from pipelines. Um, yeah, just very, very easy, very transparent and also enables yeah, it also enables partners if they have like fluctuating workloads, like, um in summer, where you maybe have more or less projects depending on where you live or whatsoever, and you also don't pay that much. So it's really a great model for them.

Speaker 2:

I like that usage-based workflow, as you had mentioned, it allows you to stay with your current workflow or your current design and what you need to as far as development or applications, which is an amazing feature. How quickly can you create a container and set it up and connect to GitHub? Now, like I said I had mentioned, I had watched the video with it and I admit I haven't been able to fully use. I just started to mess with Alpaca and I've talked with other members of the community and everyone who started to use it appreciates it greatly and wish they'd learned about it years ago because of the time saves it has. How quickly could you say that someone could set up a container to hook with a development project and also start to be able to build the artifacts?

Speaker 3:

Yeah, really fast. I think you just need to repository set up before and for usage. Before Parker we also have standalone containers which also work without you just need the repository set up before and for usage. With Alpaca we also have, like standalone containers which also work without a repository in the background. And what we do in the background is we are having like a central place where we store the different versions of Business Central, so we are using the same image storage or images for all our customers and that basically enables us that almost every pc version is rightly available. So, I don't know, in like 90 seconds or something like that. So the the, the chance that a version or that the version you need and somebody else needed before you like in the last seven days is very high and therefore the um, the chance that you need to wait for your container to like build this specific business central version is very low.

Speaker 2:

So, yeah, usually it's very fast excellent and it does work with all versions of business center. What I mean by that? It works with the world version as well as the different localizations for the regions that you need. So if I wanted to to create a US container, I could create a container with Business Central with the United States localization.

Speaker 4:

We add new localizations as fast as we can and we have every localization which is available for Business Central we have in our system that's.

Speaker 2:

I'm excited. I want to start playing with it today. Um, you had mentioned it's uses-based licensing. Is there a trial that someone could use if they wanted to work with it and test it out, and how would that trial program work?

Speaker 3:

yeah, like I mentioned, you just need to download the extension from vs code and if you then signed in with your microsoft or github account and then we will automatically identify you basically and look up if you already have a subscription and if you don't have a subscription yet, automatically our 50 hours trial will start. So we have 50 hours to try out Alpaca, to try out pipelines, development, containers, automations, stuff like that.

Speaker 2:

Excellent. So you have 50 hours of runtime across, container runtime and workflow runtime for any pipelining, automated testing, so that you can get a good sense for it. I think 50 hours is great. If you have a repository and application, 50 hours you should be able to get quite a bit in there. Did I hear you mentioned that if you do not work with a GitHub repository, you have containers available, that you could work with the containers directly? Or do you have to have code within a GitHub repository or DevOps repository?

Speaker 4:

We have the standalone containers, which Markus already mentioned, which is basically a plain Business Central container so you can set up the version and the country code. And then there's a plain Business centric container without any relations to any project or repository. And when the container is started we also have functionality to open the terminal inside of the container which gives you partial access to the container. Then you can set up your container from scratch if you want, and you don't need any connection to a project or configuration or something like that. Of course it's not so comfortable because you have to set up everything inside of the container, but you can start from anywhere.

Speaker 2:

That's great. So it's almost like having a Docker container in the cloud. You know, to simplify input issues Because, again, with Docker, you have PowerShell access as well, and when you do that, does it also manage the configuration of your connection and your launch files or your workspace configuration, if you were to connect to the environment, if you were able to publish as well? So that's something the developer would have to worry, because I know we have to connecting to this environment. I need to set this up, I need to put this tenant ID, all of these settings that you usually have to worry yourself with. With Alpaca, that will take care of that for you.

Speaker 4:

Yeah, so basically the workspace is created when you create the project. So if you need a workspace, then you need a project. But for the launch Jason, you can create a launch Jason for every container. So basically you you click with the right mouse key on the on the container, and then there's an option, which is a great launch Jason, which is just creating the configuration for this container and then you can already start by downloading and loading to symbols or already published and debug inside of this container.

Speaker 2:

That's super easy and I think with the compute it sounds like it's much better than also running that on your local environment, because I know sometimes which I want to talk about now when you're running tests or other applications, it can get a little intensive. So when you're running automated testing or running tests within Alpaca, how is that performance scaled for that?

Speaker 3:

The great thing really is that we are very flexible with resources. Like I mentioned, we are running those containers in the cloud on Azure, so we basically have an infinite amount of resources that we can use. So if you have like very intensive performance tests, you can just like increase resources for your test containers and have them run nightly and stuff like that.

Speaker 2:

And if you increase the resources just to go back, it's still with that 90 cents per hour runtime. So if you have to scale up the resources to run a large set of tests for your application, you still so currently we basically have a range that is fine if you change the resources within that range.

Speaker 3:

Of course, if it gets like triple the amount of normal resources, then you also pay two or three times the amount.

Speaker 2:

Okay, excellent, excellent. It really is a tool, a development tool, to make a developer's life easier. And then also, I like to hear that you're using it yourself internally, because it also helps. You have developers using an application that's intended for developers. Therefore, a lot of the workflow or the usability of the application also gets managed by a developer. I've worked with some applications that are designed by someone else and they really don't use the product. Therefore, it can be a little bit difficult. Um, one other thing yes, maybe something to that.

Speaker 3:

Yeah, so that was really the initial start. So we really initially started developing our backup for ourselves. Um, mainly because, I don't know, we are having like a new project almost every day and, um, like, sorted, setting up a new project, like creating a new project, setting up some review policies, for example, setting up some branch policies and setting up these structures and repositories and stuff like that, it's just I don't know around two days or something like this to just set up the project and we thought, okay, that just must be easier. And the second problem we had internally was basically that we often had developers like switching from one project to the other project and we often had the problem that projects just work differently so the one product had different structures, different review policies whatsoever, so it was not really standardized.

Speaker 3:

That's also was something we built into our back-end. So when you create a new project, for example, then you also get predefined standard settings so you always have the pull request policies you want to have. You always need a work item linked, for example. You always have the same structure within your repository. So, also bringing that standardization into our project so that really every project looks and feels the same for developers. Developers can quickly hop between projects without having to learn something new, and that's also a big goal of ours. And then we basically at the unsorted not just we, not just we would have the problems, also other partners having the problems and that was then the time where we thought about creating a product out of it and also bringing Alpaca to other partners.

Speaker 2:

It's an excellent product and it definitely, from what I know and understand and from talking with many users of and it definitely from what I know and understand and from talking with many users of it, it definitely does streamline the development workflow and it's a great development tool for developers. I know to cut down a lot of that Docker container support or environment support or even the ALGo workflow support. It is worth much more than 90 cents per hour in my opinion. One other neat thing where I told you I had mentioned in the video was the Alpaca containers and working with the Microsoft Contribution Pilot repository for working with the base app. Can you tell me a little bit more about that?

Speaker 3:

Yeah, so that's also something we saw, that we basically want more people contributing to the pilot program because we think it's really great that it gets a community effort to also bring some stuff you personally need as a company to everybody. But we still found that it's, yeah, rather complicated. Like downloading the repository it's the simplest thing here but then like having all the dls available locally, um, moving the base application to the dev scope, for example, that you can override it during development. So just a lot of quicks and quirks, basically that you need override it during development. So just a lot of tricks and quirks, basically that you need to know if you want to work on the base app.

Speaker 3:

And so we just talked to Freddy at Microsoft and asked what features we basically need to have to automate, and we then just added, I think, two actions. In Alpaca you can, for one, easily download the DLLs and also prepare your container for basic development so that moves all the system apps to the DevScope so you can override them, also increases the version inside of the app, json and stuff like that. So it just does everything for you so that you can get started with basic development in just some minutes. See that you can get started with basic development in just some minutes.

Speaker 2:

See that right. There is the key that you had mentioned, because that's where some of the challenges are, when some of the time is concerned. Because when you create a container or an environment that you want to develop against the base app, you have to have that within the dev scope. So you have to go through that process of creating a container and if you can do that in minutes because that does take a long time to build, to unpublish, to republish, just to get it so you can develop I know, with myself working with doc containers, I can go make a cup of coffee and come back, and it's still not done. You know so. Or even a pot of coffee, and it's still not done. Another interesting thing about that what is the fee structure if you want to work with the contribution to the contribution pilot program using an Alpaca container?

Speaker 3:

Yes, currently contributions to the pilot program are completely free for, I think, up to 20 hours a month, so you can just use Alpaca to make your life easier and do something for the community here. We just wanted to provide it for free because we just think it's such a great program. And, yeah, like I said, I think everybody should contribute and do some things for the community.

Speaker 2:

That right there is. What impressed me the most as well is because not only can you use it for your development project, but also now you can have 20 hours of runtime per month to contribute to the base application. So it's something that makes it quite easy and you can take it on the go, as I say, with it in the cloud. Is there a limitation to the computer that you can use or the environment that you can use or the environment that you can use? I know that you need to have an AL extension. You need to have the AL extension, have that Visual Studio Code and the Alpaca extension, but the underlying hardware some of us work with a Mac and hate Windows, so we're forced to use it. So does Alpaca work with Linux, mac or any environment that Visual Studio Code works on? Does Alpaca work with Linux, mac or any environment that Visual Studio Code works on, or are you required to have?

Speaker 4:

a certain operating system or anything else in your environment. The new preview is also working in the web version of the VS Code. Of course you cannot develop AL because AL is not working in the web extension. But basically the preview version is working everywhere and the normal version is working, at least under windows, linux and mac, I think so basically everywhere.

Speaker 2:

Well, I'll uh I just there you go. No, I know I know I use Windows machines for working now, and I use the Mac at times most of the time as well too. So I'll give Alpaca a try with the Mac later on today.

Speaker 3:

I'm also working in the Apple ecosystem, so also with a Mac and also using Alpaca time there. Oh perfect, thank you See there you go.

Speaker 2:

Now we can talk to Marcus all afternoon, because I'm so into the Apple ecosystem. You know, when I use Windows I have to use Parallels and then even have to have another remote machine for Docker because you can't run. You know, in the Apple Silicon you can't run Docker virtualization, so it just becomes more complicated for me. So now to be able to use Alpaca to create the container we're still developing on the mac completely simplifies my life, um, which is what it's intended to do, and just that alone. And I'm happy to hear, patrick, that you can work with alpaca in the cloud, because then you can set up and manage your containers, your environments. You may not be able to develop against it, but at least you can manage and set it up within there, which is also nice. That way you can work with it anywhere, which I like you can even do it on an iPad, then yeah even to an iPad.

Speaker 3:

Yeah, that's also fine. You can just use Alpaca in the browser. Basically, like Patrick mentioned, the only thing is that if you hit F5 to compile and publish your AL application, then the debugger won't open in the VS Code web version. But apart from that, everything is working in the browser as well, so you can just use a smartphone and start your containers and start AL developing and do everything apart from publishing. That's excellent. See, we're getting start AL developing and do everything apart from publishing. That's excellent.

Speaker 2:

We're getting there slowly as well. As far as Alpaca is concerned, what type of support is offered if someone's working with the application, they have questions, they have any concerns, problems or troubles that they have working with Alpaca, what type of support comes with their subscription?

Speaker 3:

Included in the subscription is also enterprise support. So you get a portal, basically where you can just create tickets and we will answer them. So Patrick, me and the other two colleagues will answer them directly. So you also get the expert at your hand, basically. And, yeah, we will help you setting up things. And normally for new customers, we are also doing one-day workshops to show them everything, also moving existing projects to Alpaca, for example. So, yeah, we're usually in close contact with our customers and you're also listening for like feature requests and stuff like that.

Speaker 2:

That's excellent, it's good. It's nice to know that you have uh, you know the support with the application and then also you get to talk with the individuals that manage, develop and create and enhance. I'm excited and I'm also a little envious, that you get to work with such a great tool and it's so much easier to use, and it truly is a tool that makes the developer's work life a lot easier to cut out a lot of the complications of setting up the environments, even with different versions. It's hard enough to to manage the code for the different versions or the different runtimes of Business Central, but you know, the environments are another challenge and it's nice to know that we don't have to work with those anymore. If someone would like to know more information about Alpaca or register for Alpaca you had mentioned, they can do it all within the app. What about any information or resources that are available online to learn more about it?

Speaker 3:

Yeah, we have a landing page. If you just go to wwwcosmoconsultcom slash, cosmo Alpaca, you get the landing page. There's basically all the information on there. You can also just search for the extension in Visual Decode. You will also get some links to pricing, to documentation and stuff like that, so you can have a look at everything and also like to get an idea if all those features you need basically are available.

Speaker 2:

And yeah, I can't think of a feature that developer needs that isn't available with Alpaca.

Speaker 3:

Yeah, so we are developing Alpaca since over four years now, so I think we, like mostly, have all the features used most often already in there. So what we just started out with is the support for GitHub. So for GitHub there are not yet all features available, but I'm working hard on that to bring that as well.

Speaker 2:

That's excellent, excellent when working with the containers and other. Everyone's talking about integrations today with APIs and all of that. So with a container with Cosmo Alpaca, do you have access to APIs within your container?

Speaker 4:

So if you wanted to test APIs externally to connect to your container or any of the other web service type functions, yeah, so basically we have a route to our container which is linked to the old data endpoint and we also have a route which is linking to the old web service endpoint. So basically you can call every API or web service which is available inside of your business center and of course also the other way around. Our containers are connected to the internet, so if you have a third party API somewhere, you can also call it from our containers. So basically, I guess most of our projects have APIs and web services, so it's a daily use case for small talker.

Speaker 2:

That's great to hear and, yes, that's what I was going to. It seems that everybody, everywhere every day, wants to integrate all these systems together. It's funny how development changes or it evolves over time to have isolated systems, to separated systems, to connected systems, and we'll go back again to having isolated systems, to separated systems, to connected systems, and we'll go back again to having isolated systems. It's just, if you look at the history of, you know the technology where you had mainframes, desktop PCs, networks, you know it's funny how technology seems to cycle back and forth, with the same type of setup A little more efficient, though it's great, with the same type of setup A little more efficient, though it's great.

Speaker 2:

Well, Marcus Patrick, thank you very much for taking the time to speak with us today to talk to us a little bit more about Cosmo Alpaca. I know I'm a big fan of it and I know many other members of the community are a big fan of it, and if anybody hasn't tried it, I do encourage them to try it out. I mean, as you had mentioned, you have the 50 hours where you can trial it. Which 50 hours Does that? 50 hours come with support as well too. So if someone's trying it out. They need any assistance or guidance. Can they reach out to you via the support channel as well? Sure, they can always reach out, that's perfect.

Speaker 2:

So that 50 hours should give someone enough time to work with even a basic project. It doesn't have to be the most complicated projects. That was something simple so you could see the workflow and how it works, to build the application, to get a good sense for it. And also 20 hours a month at no charge to be able to work with the Microsoft contribution pilot is also a great feature to have in there so that we can have other members of the community.

Speaker 2:

I will start using it for that as well, because sometimes, to be honest with you, the delay in being able to work with some of those contributions is having to go through the whole process of getting the system application or the base application, excuse me, to within the development scope and having that container created. And then you know needing to move somewhere else and have it on a Docker container on a Windows machine, but I won't tell anybody that. So now I'm looking forward to that. Uh, but if anyone else would like to contact you to maybe find a little more information now you had mentioned someone for um information is available online and you have the support and you go to the application, but how could someone reach you if they wanted to learn a little bit more about the cosmo alpaca package or product.

Speaker 3:

You can also always send me or Patrick an email, or you can just hit us up on LinkedIn, twitter, whatsoever. I think we are both available everywhere, so just shoot us a message.

Speaker 2:

Okay, great. Thank you, Patrick. How about yourself? What is the best way to someone to get in contact with you? On LinkedIn and Twitter.

Speaker 4:

I'm reacting to Twitter and LinkedIn and also via mail. I guess every channel you find me. You can contact me.

Speaker 2:

Excellent, I do see you everywhere. It's nice to know that you're available. Again, thank you both for taking the time to talk with us about the application, and we look forward to speaking with you again soon. Thank you.

Speaker 3:

Thank you very much.

Speaker 2:

All right, ciao, ciao. Thank you.

Speaker 1:

Bye-bye.

Speaker 2:

Thank you, chris, for your time for another episode of In the Dynamics Corner Chair, and thank you to our guests for participating.

Speaker 1:

Thank you, brad, for your time. It is a wonderful episode of Dynamics Corner Chair. I would also like to thank our guests for joining us. Thank you for all of our listeners tuning in as well. You can find Brad at developerlifecom, that is D-V-L-P-R-L-I-F-E dot com, and you can interact with them via Twitter D-V-L-P-R-L-I-F-E. You can also find me at Mattalinoio, m-a-t-a-l-i-n-o dot I-O, and my Twitter handle is Mattalino16. And you can see those links down below in the show notes. Again, thank you everyone. Thank you and take care.

People on this episode