ÃÛ¶¹ÊÓÆµ Experience Manager Champion Office Hours - Cloud Manager
Join us for the May edition of ÃÛ¶¹ÊÓÆµâ€™s AEM Champion Office Hours as a panel of ÃÛ¶¹ÊÓÆµ Experience Manager Champions discuss best practices, share tips, and engage in a live Q&A surrounding AEM’s Cloud Manager.
Whether you’re new to AEM, have a question about how Cloud Manager can streamline your workflows, or want to understand how Cloud Manager’s out of the box build pipeline and stable deployment enables organizations to build, test, and deploy AEM applications to the cloud automatically, our AEM Champions have the answers!
I will take questions, some questions that were fed into us ahead of time, but we’re happy to take questions on the fly as well. I’m playing a little stump the chump, ask us questions, see if we can answer them for you. Give you some some good advice. If there’s anything that we’re unable to answer, we can always follow up afterwards as well. But since recording just started again, I’ll once again welcome everybody to a AM Champions Office hours. This time we’re going to be talking about a AM Cloud Manager with some folks from our 2022 AM Champion class.
Real quick agenda. First risk get touch on. Make sure everybody understands what the ÃÛ¶¹ÊÓÆµ Champion program is. We won’t dwell on that, but just so you know who you’re chatting with today. Some of the folks that we got on the panel today. Definitely the best in the industry. Couldn’t be asking for advice from better folks. Will introduce them all and then we will start in with some of the pre submitted questions. We do have a handful of questions that were brought to us beforehand. Just a reminder for future office hours. If you’re looking to get some questions answered, you can submit them ahead of time and we’ll do our best to get through all of those. But again, feel free to add questions to the chat area throughout the presentation. We’ll get to those as well. Uh, hence number four will be answering live questions and then we’ll wrap up with a little bit of FYI around the AM Champions program. Talking about the Champions program in 2024. Which is exciting 23 to 24, so I guess it’s the 23 class coming up real quick as well as future office hours. So the AM Champions program, who are we? Well, we are a dedicated group of practitioners that play key roles at our companies as either thought leaders or product influencers, not just at our companies though, but also in the industry as well in the community. Some of the things that we do like this office hours to get our knowledge out into the into the industry and just offer it as a service. Be helpful to folks. We’re just passionate about tools, passionate about ensuring people are getting the value from the tools, sharing our technical expertise, best practices, strategies, both from a technical side as well as a practitioner side. So as we get to at the end, we’re wrapping up in applying for AM Champions. Don’t feel like that. This is a technology only group. We highly value and have champions that are on the practitioners side as well. Honestly, our our our lead this year. Greg Maris, you know, is more on the practitioners side. Probably one of the smartest guys you’ll ever find on the AM in the AM community. And most helpful, you’ll see him all over the place in terms of benefits. We have to share and network with each other, which honestly is a humongous benefit. Gives us a tight knit community to ask our questions and we run into things that we haven’t run into before getting alternate opinions so it could be highly valuable for those that are part of the program. We get to collaborate with the product leaders at ÃÛ¶¹ÊÓÆµ, understand what’s coming down the pipe for road map as well as have some some opportunity to influence that as well. And then last but certainly not least, the opportunity to engage in exclusive speaking and content creation events and increase our own personal brands. You know it’s just an overall great program. This 2022 was the inaugural program. We hit the ground running. It’s been a great program run by Robert Solvie and look forward to a an awesome class in 2023.
Your panelists today I’m going to hand it over to Max. Go ahead, introduce yourself. Thanks very much. Brett. Hi guys, I’m my name is Max Bres. I’m the CTO at Ankara. It’s a do be only consultancy. We offer full stack implementations of ÃÛ¶¹ÊÓÆµ Tech to clients in Australia, so I’m pretty far away from from the rest of the team, but I’m here nonetheless. I do have connections quite a lot of people in ÃÛ¶¹ÊÓÆµ on Australia and I know a lot of people here on the ground as well, so they’re keen to pass on my knowledge. I also look after the design. Blog online and I publish online quite a bit, so hopefully see around there. Thanks Max. Go ahead, Rami. Sounds good, so the name is Rami Olgamal. I am a senior solution architect as well as the director of Rennie Consulting, which is a small consulting firm based on North America. So both Canada and the States doing everything ÃÛ¶¹ÊÓÆµ AM as one branch, but Commerce, Target, Analytics, all the journeys, AAP, etc. And yeah, that’s it. Thanks Rami and Venga Dash.
Hi all, this is Vangdesh. I’m working as a multi solution architect in Qatar, which we like handling ÃÛ¶¹ÊÓÆµ as a platform where multiple integrations between the ÃÛ¶¹ÊÓÆµ suits. So probably handling the commercial brand of Qatar, which is katharwes.com.
Excellent thanks Vangadesh. So we’ve got an awesome technical panel for you today given that the topic today is quite technical. Just see in our where I’m Brett Brishbach, SVP of the ÃÛ¶¹ÊÓÆµ practice at Bounteous. We are a full service ÃÛ¶¹ÊÓÆµ Agency APA, JO, CDP, CJA, all the acronyms, but I’ve grown up as a developer in a myself developer and architect and now lead the engineering group of ÃÛ¶¹ÊÓÆµ technologists at Bounteous and have a special place in my heart for a AM and I will be doing my best to moderate these fine looking gentlemen on your panel today. So with that, let’s go ahead, hide the screen and let’s jump in just for a real quick overview for those that you know maybe are less familiar with cloud manager or just make sure we’re all talking the same thing. I just want to open with a quick overview of of cloud manager. What are some things maybe we generally use it for and you know what are some things that maybe it’s not for? We can just start with that.
And you had a few ideas. Yeah, sounds good. A lot of the times when we think about cloud manager. The problem is you go from your typical sort of on Prem flow that you have today, whether it’s from a CI CD perspective, so deployment development, get repositories or whatever using all the way to going in and being able to alter things with an AM on the fly and I know there was a couple questions. I’ll touch lightly on that as well as going into debugging. Now cloud manager does some of this stuff, not all of this stuff, and we tend to mix what it does and what it doesn’t do. That’s why I sort of we started with this topic. So what does cloud manager do? Cloud manager will give you access to the deployment process, so not pre deployment. This has nothing to do with your branching strategy with your I don’t know, whatever you’re going to do, your release branches, your development branches. It has nothing to do with the approval process of PRS, MRS, whatever you can use to look pull requests, etc. What it does allow you or where it starts to be active is the code is approved. It’s good to go. Now I need to deploy it to my container with it. Your dev environment, your RDE, your prod, etc. So does provide you the get repository, but again that get repository should underline should be your deployment should be used for the deployment process, not the governance process, right? Now, assuming that the deployment is done, there’s level automation. Of course, whether you want to do like an on push deployment, etc. But even after that we go into debugging so it will give you access to things you typically would have had access to directly on your CRX DE or your system console, or you’re just simply your logs going in to be able to see your logs, whether it’s dispatcher, whether it’s your different instances, etc. Again, it’s not the tool that allow you to go on and alter something into system console. It would allow you to see what’s in system console. So think of it as a read only process. The only right that you do with cloud manager is the deployment now. What it’s not is not Jenkins. Don’t treat it as Jenkins. It’s definitely not Jenkins, right? You can do your entire process or anything parallel to that, of course. You can do your entire process of approval within your Jenkins bamboo or whatever. Azure, whatever you’re using to get to that point outside of the realm. Once your artifact is ready, you’re going to push it to the get repository that ÃÛ¶¹ÊÓÆµ provides. So in theory you should have your own get repository and I strongly recommend to have your own get repository where your MRS or PRS would happen. And then once everything is approved, you just need to flick the button, right? So not everybody has access to your actual. Get repository should have access to cloud manager. It should be a very governed process, right? You don’t give everybody access to Jenkins, right? It’s it’s it’s very similar and that would be a starting point. I’ll open up to the rest of the folks on the call as well to see if I’ve missed anything. Nothing you covered at all. Essentially it is a. And again, DevOps platform for 4 AM and it replaces what largely you would have as on Prem solutions made up Jenkins or whatever else you got going there. It replaces your on on Prem jar files. All this kind of stuff that you you really I would say you be struggling to maintain properly because it’s just a lot of tech and you have to keep in mind. Yes, it it puts in in place. I are very stringent and I think it’s very good kind of pipeline for, you know, getting a code, building it, compiling it, best practices, analyzer, you know. All the testing is security testing your performance testing. Yeah, functional user testing here and then doing deploy sign off support here. These are the things that I would be. I wouldn’t probably if I look around it, but we won’t find many people who implemented it properly. So I think it’s I am is done quite well. You know, I’ve I’ve wrote about this back in 2019 when I was in the beta program saying it’s game over. Boy in pipelines, because they just did well like they know what just do it the best way and I did it and it just came out and it’s gotten so much better over the last few years. So it definitely like the DevOps gold plate. It you want to look at cloud manager say that’s how you supposed to do a M deployment eventually. OK, so you have the you have all the latest I am features as well, which you like sling features which you don’t really have on on Prem anymore. Or you wouldn’t have anymore. Sure, sorry. Go ahead and get asked adding adding to both like there is two aspects to cloud manager. One is deployment. The other one is like there are certain enterprise clients. They have their own pipelines. They will always keep asking this questions and many forums is saying that like I have my pipeline. Why I have to migrate to this cloud manager pipeline right? So when we move from an odd Prem or any managed services to a cloud manager you are hosting your application to ÃÛ¶¹ÊÓÆµâ€™s infrastructure right? So they are accountable for their infrastructure and hence they put a stringent guidelines on what is best practice to be checked before it is deploying to the ÃÛ¶¹ÊÓÆµ infrastructure like how we are doing our checks on our infrastructure before we deploying anything they are doing the same thing right? So that is the mindset change has to happen. The second thing is on on our side. So we we we also want to convince our internal enterprise gateways and our own standards right? So for that there is a provisioning within the cloud manager and DevOps as well saying that you can have your own branding strategy to pipeline and your own roles. Sonar cubes and all those things where you can run in your repository. All these checks and then the DevOps platform, which is a cloud manager providing the different tokens and keys using that you can using the SDK’s, ÃÛ¶¹ÊÓÆµ IO SDK’s predominantly and you can trigger the entire process like it’s like a chaining of your gateway with the chaining of the actual ÃÛ¶¹ÊÓÆµâ€™s gateway right? So that’s how the recommended approach for the many other enterprises. So in case you have encountered such kind of questions, I think that OK, can I run my own thing before going into this? Yes, it is possible.
Excellent thanks for Gadesh. So hopefully I mean it’s a good overview of cloud manager. Hopefully that spurred some thoughts and questions that you might have. That was a lot of stuff covered there. I think a lot of hot topic topics is to like where cloud manager is a good fit, where it’s a slight change from how we did things on on Prem and you know whenever we change things there’s always questions of like well I want to do it this way. This is what I’m used to this cloud manager do XYZ and so if you got any of those types of questions, let’s talk about them. I do want to move on to some of the questions around logging actions. We kind of got three different questions about logging, so it seems to be one of the most popular topics. The first question was around web hooks and what are some things we can do with web hooks to forward the deployment logs. In one case it was asked for in terms of forwarding those logs to configured email address and then beyond that maybe some other options for web hooks to forward logs. You probably wrapped this in together Brett in one go because the other questions where it’s an integration of air logs into into cloud trial or Splunk. Yeah, I suppose if you to do this via DevOps DevOps where you could use ÃÛ¶¹ÊÓÆµ IO because they have a functionality to tail the logs from instances so you could essentially set up your own instance where you can collect the logs and do what you want with them essentially. So the answer to the question is it can you watch and stream them live? Yes, you can using ÃÛ¶¹ÊÓÆµ IO. I can post a link into the chat for everyone to review. You set it up yourself. Give all the credentials and then you can stream them and that’ll end for those three questions. I know we can answer more one goal, but yeah. For custom perspective, yeah, you could. You could just stream them and put them wherever you want really for any purposes. Sure, so that’d be a little bit more of a polling the stream through ÃÛ¶¹ÊÓÆµ IO. What do we have for capabilities with webhooks at Bangladesh or is Rami back yet? I don’t know if I think it should be have experience with that.
Normally like the webhooks is a concept, right? So there are many tools like not only Splank that are people using log analytics and many areas, right? So more than a real time, right? It is always in our cases and we use like a scheduled or batch kind of a thing, right? So you have a success already mentioned saying that there is an ÃÛ¶¹ÊÓÆµ IO which is what your gateway to access. How do we experience clouds? The back end pieces of it right? Use that and integrate your analytics that is like more of like an app builder like you can even create an app in ÃÛ¶¹ÊÓÆµ IO. You can create your own schedule and then you can write asynchronous jobs to push the important events as alone to the log analytics kind of a way.
Oh Brett, there’s probably also the question for the for the for the audience was asking about this. I suppose the webhooks there is already in there by your webhooks capability so you can hook into things like that. Talk to log streaming. It’s kind of different realm. Because webhooks are like advanced and you know you have triggers and so forth, so you’d use it for that like you know get pushes, you know, scenario for that. Yeah, so there is so you you really wouldn’t want to just stream the logs into the cause you don’t like it’s a stream. So just die like I mean, yeah, so you want the one use case I’d be curious of it. I’d be curious if if anybody’s got an answer for like what if I had a type of event that was like very, very rarely logged, but when it is logged I want an email like basically a fatal error or something like that. Would that something like anything like that be possible? Well, suppose yeah, you do this if you were going to. You know you rely on logs to do that. Yeah, you would actually have to monitor those logs and you could write yourself an extract like if you know you can use per man. These are something you get prompt to basically sit there and monitor the stream and raise alerts. For example, yeah, if you do it like yourself, yeah, but yeah, you could potentially use also like the normal events and just if you have an error that you capture somewhere to log it, you could essentially also log an event within ÃÛ¶¹ÊÓÆµ IO from your instance as well. For example. If you were going to implement it, if you’re going to use hooks web hooks, you go down that route saying OK if I can capture it in a in an error, then potentially I can rise those events as webhook as well. If it’s if it’s something rare that you can identify.
Robby, I think you’re on mute waiting for you to hard to believe that you could be muted, but.
Oh no, you may have to give permissions. Yeah, keep going. We’ll catch you soon. Rami excellent. So in terms of the logs, you know we’ve got to go ahead and yeah, just one more point like when you talk about like an important event, it is more of like an observability concept, right? So when you talk about observability and monitoring, I think recently there is an integration is passing between the log monitoring tools with ÃÛ¶¹ÊÓÆµ Cloud Services as well like New Relic or some some such kind of an integration use those integrations and what will happen is these two will directly talk to each other using an ÃÛ¶¹ÊÓÆµ IO and it can listen to an event right? So when such kind of like us. It has mentioned saying that when such important event occurs automatically this new really connector within the ÃÛ¶¹ÊÓÆµ Experience Cloud will listen to that event and then it will alert your internal stakeholders for further actions. Yeah, and can you hear me now? Yes, yes, yes. So that’s that’s my assignment for the day. So a couple things. Yes, definitely New Relic. If you have not, if you’ve not played around with the New Relic add on, well it’s not an honest, it’s part of AMS Cloud Service. Please look into that now going back to the alerting alert part and Brett to answer your question, I think it depends on the type of error, right? So if it to me there’s multiple layers going all the way from the front end from the site going down, for example, in which case there should be a monitoring tool that directly hits the site etc. And ÃÛ¶¹ÊÓÆµ has that as well. And if you get a P1, that’s how you get a P1 ticket, right? The site is down. Oh my God, you’re going to receive that email. So that’s a great way of looking at it. The second part is if you have a fundamental error like like again, an oh my God error, but the site is up the you know, like an API call that’s always giving you a 500 or something major like that, especially when you’re looking at something like an ecommerce or a transactional flow in general. I think it’s not about waiting for it to be written to a log in order to get a webhook in order to read that and parse it out of the file and then send an email. Your monitoring should happen right in the code where it’s like OK if you get a 500, don’t wait for it to be written to the log because you don’t know what happens if your actual IO falls apart. What happens if it’s so major that it never makes it to the log file? Keep in mind that the log file is a by product of an error, so if you really want to read that error, right? I would say OK within your Java code or JavaScript or whatever using your spa, you should have an internal trigger that goes. If this happens, bypass everything. Don’t go to near well go to New Relic, but send me an email directly, right? It’s no different than a workflow finishing and you’re notifying the users that the workflow finished. This one is a little bit more drastic. But yeah, this just the type of error I think has to do with how major it is. Lead submissions for example. So I’ve had a client. Out where their entire site is based on content. It wasn’t an ecommerce site. It was really I want you to know about my company and how well we do and at the end of the day I just want you to submit a lead. Think of even automotive back in the day, not today where the entire site. The whole point of it is look at these pretty pictures. I want to convince you to buy a car without somebody talking to you until you submit a lead and the moment you submit a lead, that’s when the human interaction starts to happen. So to them the submission that form submission was as crucial as the side being up. So the notification we literally did not have a solution. We literally had Selenium testing running on these forms. I think we did like three or four times a day for every single form. 3600 forms on the site being tested on a daily basis, and if one of them fail, you’re getting either getting notifications directly. It bypasses the logs. So again, just just understand what the logs are meant to do or what they should be used for. Yeah, I’m going to be quiet.
I like that approach, but I think sometimes when you ask a question and how do I do this? It seems hard to do this with this tool. There’s there’s always value in taking a step back and saying, well, is this the appropriate solution in the first place? And that’s kind of what you’re hitting on around me is like in these situations this might not be your best path, so forcing it to work. Yeah, we can come up with ways to force it to work through this, but there might be better, better methods as well. Alright, so one of the last things the logs we’ve gotten questions around. Integrations with things like cloud trails, Splunk, other tools. What are some like? What do we have available out of the box and what would we have to kind of do something custom for? At Max, you kind of mentioned like with the IO thing, I assume that be more for the custom solution, but like in terms of Splunk, I believe you can hook it up out of the box. Is that as well? Yeah, yep. So that is there. New Reliquy I am aware of it. There is a documentation also available within experience leak. I’ll thank you that yeah, go ahead Max. Yeah, I’ve I have spoken to the team previously and never recommended to do the same thing. I should pull the logs. From Splunk as you can essentially you’re going to Splunk and setting up an Explorer so so it’ll be using other value. So any tools that you have like in in the DevOps world you have this concept of exporters which you do, which they basically either take the metrics off the. Of whatever you monitoring or taking logs, so moist tools that have this kind of capabilities they allow you to create their own custom exporters which do stuff you can tell. OK, connect to this IO and download logs. Yeah, so tile will be one of those. Prom, that’s always matching Prometheus like the like the movie and it’s an open source version or you can do that and Splunk. They all do this so. Excellent. Alright, so let’s move on from the topic of logs. I think we’ve hit that pretty hard. If there’s any other questions, feel free to add them to the chat. So one of the questions might go slightly out of order here. Cloud manager, so we don’t have the ability to access config manager directly in cloud service via the UI, and so there’s sometimes we need to get some configurations out there quicker than doing a gigantic build and full deployment of a full code base. What are the approaches for doing that? Or what’s the recommendations? And thank you, Dash, will start with you.
Yeah, in my view, like touching the OHA configuration and running production instances like putting your hand on the fire stick. There is an engine is going on and you are suddenly taking and bogey out of it. It will derail. Simple, right? It’s not a best practice and it is not recommended approach as well. When you touch directly OSJ configuration, such kind of an framework when something is running on its own, that is why ÃÛ¶¹ÊÓÆµ has put such kind of restrictions right so that the product itself puts such restriction, which means it is not a best practice. Right, so we just so the concept of cloud manager is always whatever you want to do currently in the manual process or go and easy access or all all those things is like a code as a configuration, right? You just need to write run modes and put it as part of your code and it has to go through its own pipeline checks and then it will tell saying that OK you are done it correctly and hence I’m allowing to put it into my infrastructure. So that’s what we have to follow.
Alright, so yes, I completely agree that there’s a good reason why these restrictions are in place. I want to touch the stove anyways, so if I really, really, really want to do it, how do I do it? So let me let me OK. I’ll I’ll add a little bit and then we’ll go from there so because I always like to sort of to challenge the way you do things today. Because it’s fun. Let’s look at a EM and for the longest time and I know there it’s going to touch also on something else because we’re talking about what’s mutable, what’s not mutable and why. But really the most. Easy to change piece in a EM is content right? And the reason for that is it’s fast time to market. You want to give this to business and go go crazy, right? So stuff. As you go up from there you go into configurations, so you go into the design dialogues, you go into templates and then things start to restrict and slow down a little bit because you want the smaller funnel of people to touch that stuff. Then typically in a EM you hopped into properties and you hopped into something like a dictionary, for example, which still, by the way, requires code deployment on cloud, but it’s it’s a little bit slack as well because you can still have more people touch it. Now you go up to OSGI configurations and before you did have access to go into a EM directly to go in and do the changes. Today you don’t. And the small answer to this is there is no way without an actual code deployment that I’m aware of that you can go on and change an OSGI configuration. However, there is a layer in between now that you can actually do right on cloud manager, which is cloud manager configurations, so I don’t know if you’ve actually looked into this for the person that asked that question, but if you do have a need where there is a major configuration that you need to change, you can still code change it on the fly without a code deployment through cloud manager. You would have to change your variables. It’s no longer going to pull from an OSGI configuration. It’s going to pull from the configuration cloud manager and we do that a lot, specially for keys. So things that should be star star star star not playing text right in your code base, whether it’s an OSGI configuration or something else. So look into that as a solution. But my challenge is, is it really a need that you have to change something that frequently? Because if it’s something that needs to change frequently, then it should not be an OSGI configuration. It’s part of that system now. It’s part what you’re truly saying when you do an OSGI configuration is you’re going if you are an author instance, because it’s down to what your run mode is. And if you type prod, I want to change this very important key to be 123 instead of 456. And if it’s something that changes frequently, that needs to come down that funnel. That’s no longer an OSGI configuration that could now be a cloud manager configuration that can go on an alter. Or it could be something within, I don’t know. A client context configuration or something that you would do read in the JCR and read from the JCR rather than an OSGI configuration.
Yep, yeah, I think that makes a lot of sense. I know I’ve built. We’ve built a lot of sites where, like for instance, you want to change a URL of something and some of those things can be done in shared component properties or global component properties. If you’re using ACS Commons, which is something where it’s still only edited in one spot, but it’s actually treated as content because of the velocity you want to be able to change that that value. So that’s one option, but I think it’s really good. Max, anything to add? I was going to say exact same thing. I mean, OSGI the. The reason why you can’t change this configuration settings in the fly is because this GI settings get compiled out and they sit on the only basically any container itself, so they’re not actually in the repository, so you can’t change them. So there’s a process I covered is in my article is a process of converting the packages you create. Typically in the old days into sling feature files and that extracts basically all the code in OSGI and just waxing on a disk. Yeah, so you can’t on the fly do it. Yeah, you totally right. You do variables. Yeah, but if you do building your own personal services, there’s absolutely no reason why you can’t use configurations and just stick that into your configurations. You can build your own consoles like and have your own configurations within the repository and you really should be thinking of it like that as well anyway, because if you’re building multi site if you have an OSGI it’s kind of one for everybody and it’s not really like I can’t think of many things you should do that anymore. These days everything should be like parasite per page, pull folder so you might as well just make it all content driven and just have your services be smart about it. Yeah, because yeah this I I just I really can’t like I struggle finding anything with these guys. You would rewrite in this GI just trust. I would highly encourage you want to avoid using those GIS or fall back here. Use content. That’s what CMS is for exactly. So normally. So normally like in terms of configurations, right? There was multiple ways you can store the configurations so normally like the we currently the traditional way how currently I am is built like people always thinking of voice as a configuration repository, right? Any configuration comes in, they create run mode and they will create configuration. The wise which is which is not also right way because over in a period of time I am is evolved. They come up with a different ways you store the configurations. It can be like in a context aware configurations where you have a multiple ways you can inherit your configurations right? It can be in the site level or it can be a page level. It can be the folder level so we based on like if it is a global, it’s a global level configuration. If it is a country, it’s a country level configuration. So for that also you need to have to write code, but it would be like rather than dumping into OSJ everything, you have to be absolutely clear how you want to manage your configuration, right? So only the tokens or keys such kind of things can go into OSJ because as Max already mentioned saying that it is all like again it is. New compilation and it is stored in its own way of storing that particular configuration where context aware is not such kind of a thing. Even in the cloud manager it was recommended as a big practice that avoid as much as possible to store the configuration as part of the run modes, right? So run modes are very, very limited if you take the cloud manager so you cannot create your own custom run modes where it has its only like production stage and I think you wait I guess. Yeah, so these are all the three standard run modes only available where most of the things are to be best practices to recommend to go towards context aware configurations. Yep, that makes a lot of sense. Thanks for that. Alright, so we did get a question that came in and I am curious. We got any creative solutions for this one. So question from Roshan. We don’t have separate access control for production pipeline, so if I give somebody access to anything they have access to everything, which means that they can deploy to development. They can deploy to production. What are your thoughts on that? Let’s start with Max.
I was hoping somebody else can have a go at that one. I I I know it’s true. Look today, so this is yeah.
That is true. That is I have raises with ÃÛ¶¹ÊÓÆµ and we’ve spoken to us quite a bit. Yeah, I have seen people deploy to production by mistake because they approve and they reject buttons so close together and there is no dialogs when you press one of the buttons. They approve when you like. Ah, you can’t stop it either. What’s happening? So yeah, that is happens right now and there is a. There is a dilemma, so yeah, you you need to train your people and you shouldn’t really give away the pipelines to anyone. I I think being a guest with mentioning before what I’ve done with some of my clients now is I don’t give them access to the cloud. Yeah, I let them. I have to have GitHub and have big bucket so I do all the basically management of the what goes into where in there. So the PRS manager to deploy if they want to deploy production, they mentioned to master. Do PR and then whoever’s got approval to measure to master will do that and then you can set up your pipelines automatically start deploying. So essentially you just you don’t really want to manage your permissions of access to like the pipeline stack. That’s not that’s not obvious problem. Don’t bother doing it. That’s why you should be putting it in there because you’ll be forever building that. Just do it in your side and that you should be doing anyway because you want to get people to commit and manage your code on your in your git and not just deploy whatever they want into commit to directly into ÃÛ¶¹ÊÓÆµâ€™s kit. Because that’s also an anti pattern, right? Because you’re not actually doing peers. You just simply I’m just going to just commit this code and then you don’t know. You don’t know where it came from him. So essentially yeah, you really want to manage it through so you have somebody set this up initially on your own gate and they just have direct commits. Pipeline examples for Bitbucket and GitHub. So if you guys want to reach out, I’ll give it to you right? And I think it’s good point in terms of like the development pipeline could just be set up as a trigger so that it happens automatically so somebody doesn’t necessarily need access to do that. Rami anything to add. Um, real life story that probably made me lose half of my hair. I blame anything on me losing here because that way it’s not my fault, but. Mass is like turn off your camera. Turn off video.
You look alright with the hair. They have a lot of problems that I’ve had.
I positioned the camera accordingly, but so the client that I’m talking about we’ve had. Probably I don’t know 80 different developers. Just that magnitude of client. And there is a two out there. So if you’re thinking Jenkins and I’ll pick on Jenkins first and then we can go into other other things. But Jenkins, for example, like for example, has a direct connection to. Cloud manager where you can literally just write a script within your get repository that governs what happens during the bill. So for that client specifically, what ended up happening is we would go through you would do your PR that would push into, let’s say your develop branch, which we eventually know will go to your dev environment. Once that happens, Jenkins will do its thing. You’re doing your internal build, and you’re looking at bigger enterprises, even though ÃÛ¶¹ÊÓÆµ does its own due diligence and has a whole bunch of checks and balances during the build process to make sure that there is no problems. A lot of these companies, specially that big of an enterprise, will go in and be like no no no. We’re running our own swinter key where we have our own steps that we have to go through. So you’re going to run through your Jenkins process and eventually once you all your checks and balances are good to go, it would push to dev. But now we have that script that does the governance as well. That goes once the code is pushed to dev, fire up a build on cloud manager as well. So exactly like Max said, and that’s sort of why when we started this call, one of the things I said is cloud manager is not Jenkins, right? It’s not. It’s not a. It’s not really a governance of deployment as much as it is the actual deployment process. What happens before has to be governed by something else. No different than Azure. You can read a little yaml script that also governs and runs through a specific set of steps. But at the end of the day. All cloud managers should be doing for you is. Deploy right? The governance is the checks and balances. The approval process should happen pre you going into cloud manager. I know in some cases it is challenging. We are not micromanaging permissions. It is in some cases annoying, especially when you have somebody who has two developers. They just want to have one PR the other and then eventually deploy and not automated and to Max’s point. Sometimes it but approve button and you go crud. And then I think everybody has done it at some point. My two cents would be if you’re using a tool outside. So add your Jenkins or whatever. Look at the script to automate based on your governance is right. Don’t give access to cloud manager except if you absolutely have to. It’s truly at an administrative privilege when you go into cloud manager and hopefully through the cycle as it overseas. This we might see more micromanaging permissions, but that doesn’t exist. Thanks for anything left on that one. Becca nationalized. We can move on to another question. OK, so one thing is on the straightforward that is no out of box way to. Control it, yeah, for a per program you have test and production. This stage you have access to all right, so the government has to happen outside. It can be like done in multiple ways. Creative is like if there are more developers and they want to do an individual, you can create a custom screen or small app based on what they have selected. You can do an authentication against your AD or something, and then you can trigger using another be IO to where you want to push it. Or you can have a peer branch like that one solution already Max has mentioned. It’s more of like a creative thought process has to come in. In such cases, and I do sure makes sense. Can always solve it with more software. Excellent, so let’s let’s chat real quick on since I’ve not seen any other questions and we do have time for a couple more questions from the from the folks that are attending. If anybody has them all eyes, we’re going to chat real quick on just the concept of mutable versus immutable areas in a EM. I think it’s just a good understanding in a cloud service and part of why things are the way they are, why the process does what it does and takes time that it does. I guess if we want to talk a little bit about mutable and immutable areas and separation, a EM. Things that we can’t change at runtime. If you want to start with that finger dash.
Yes, this mutable immutable concept is not new with the cloud manager. Exists in I think from AM 6.5 recent versions onwards, right? So it is always like not why it was like forced from cloud manager. It is started forcing it currently people are still using it in 6.5, but when you start moving towards the cloud manager, the restrictions apply again the same point, right? So it is their infrastructure and they have to ensure that the new upgrades could impact the existing their infrastructure, right? So that is where this restrictions comes in. Mostly like anything under libs or etc, all those things will become mutable where you cannot change anything, right? You are trying to change your own application code, which is what recommended as well.
Alright, what you got Max? Oh, I’ll do a shameless plug on that before any will do it as well. I’ve actually if you look at dispatcher module, it’s got a lot of these immutable configurations which are very hard to track down. So I recently wrote a an article and I wrote some code to try to help testing like the full stack on your local. So when you talk about dispatcher. There is quite a bit of quite a few areas which are like Linux configurations for HTTP D and you know available sites that are you can modify in and it can get a bit tricky for people who set up dispatch initially where they just modify things and the things break and they don’t know. Can’t test them locally until they deploy. It’s poison am. It’s a bit more straightforward for you because you can’t modify those areas, but in dispatch you find there’s a problem. I totally agree as well. Yeah, you should. You know this. There’s all rides and inside the GMs shouldn’t be modifying anything outside of apps as far as the application configuration concern, right? So any of the UIs you want to change? You know they always go into apps, right? Everybody knows that you can. You can override essentially everything. There’s only a few times where I had to go and dip into the forbidden well where you kind of write certain files, but that’s, you know, part of the part of the game. But hence, and hence the customization is always a tricky in cloud manager like so. It’s absolutely necessary because a EM is a platform. Platform it is not just like a product is a platform, right? So when a platform comes as a concept where it will provide a lot of things out of box, right? That is the process means that’s the process that you have to follow in order to achieve certain steps, right? Doing a customization you need to be absolutely clear saying that is it really required? You can challenge that right? Why you cannot do this way rather than this and you have to understand before customizing it, is it the right approach? Is it a best practice to do that way, right? So that is the question we have to ask ourselves before we doing any customization. Sure, for the thoughts, Rami.
Uhm, I feel obligated now that yes, but I joke so going back to just the definition of mutable versus unmutable. I think a lot of when you’re looking at it, when you’re looking at it, you’re trying to thought is why right? Why is this specific path mutable versus what’s unmutable? To Max’s point, there are elements in dispatcher, and that’s the reason it’s we have some mutable is because there are governance is that ÃÛ¶¹ÊÓÆµ has to. Sort of maintain. Let me give you an example, right? If you have a security rule that is needed to be pushed to everybody because somebody found a way around the dispatcher rule that goes into a part of where you truly cannot alter or change because it’s mandatory. It’s like an antivirus. It’s it’s. It’s like your checks and balances when when you’re when your company gives you a corporate level laptop etc. These are things you cannot change. They’ll give you a play area or play zone for you to put in your customization, right? And these are valid customizations like dispatcher rules. Of course you’re going to have your own dispatcher rules based on your domain and everything else in between. Going into a M. So keep in mind that we need to go into containerization of things. It depends on where things are stored and what you use it for. So typically UI content is really your playground. You can go in there and do whatever you want, but that’s because that’s where your templates are. So your slash com for example, because you know templates, content fragments etc etc. Go into that as well. However, just to clarify, when we’re talking about customization, there is two sides, right? There is valid. There’s a customization you creating your template. You creating your dispatcher rule. These are all valid and the system, even though it’s code and code assess system, is allowing you to do so in order to deliver the content that you need whenever you need it. There are layers though, so your slash lives. So now we’re going into overlays, which is still a customization, but I can guarantee you if you start playing around there. But one point or another, it’s going to break because now you’re overlaying something, making the assumption that the underlying code and logic doesn’t change. That worked well. Because you know exactly when you’re going to upgrade your AM, you know exactly when the next service pack is going to be installed, and even there that it has its own challenges. Even with AMS, there is a little bit of a manual process there because, well, then you have to talk to your CSE and eventually do the manual process to your testing etc. AMS cloud service is not as forgiving because you’re going to go to sleep and wake up in your ear on a totally different SDK with it. So there could be a lot of fundamentals that are changing, so draw the line. The mutability has, yes, there are technical limitations due to the fact that you’re in a container of things that you can’t change runtime, right? It’s just that is the image that is the thing. It’s not going to change until it’s destroyed and rebuilt. But even within your overlays, you have to be really careful. I’ve had a lot of clients, especially in the dam. There’s always somebody who wants to do a damn change because there’s something about the interface that they don’t like. You know, at a button here for a report at a button there for I don’t know the person that last touched an asset etc. But that’s going to come at a cost, right? And if it’s truly a feature that you want added to a young to the interface, please do put a ticket. Say hey, this is a feature and if I do realize this is a common feature between every single client build, they’ll spend the time and effort on the road map to add that feature as well.
Very good alright, we are kind of coming close to time here. We’ve got maybe time for one more question. If one comes in via the chat otherwise, I’ll start wrapping us up with a few closing things about the AM champion program before I do any any final final thoughts from anybody.
It’s all good, thank you. OK, yeah, if you’re the one the one thing that I’m going to say really quickly, if you are using cloud manager. If you have teams or slack, do invest the time to use webhooks to make sure that your deployment process notification actually goes to a channel. It does help your developers a lot to know when the deployment starts and when it finishes etc. It just gives them a line of sight on what’s going on. There are plenty of documentations online to get it done. If you’re hitting a brick wall, let us know as well and give me a hand. Excellent, alright, so real quick on the champions program. I’m hoping this slide is up, but if you’re interested in joining this champions program, I do want to let everybody know that there are applications open for the 2023 class. Those applications close at the end of this week, so now is the time if you or somebody that you know you think would be a good fit for this program, it’s guaranteed to make you better looking, more attractive, guaranteed to not add hair unfortunately, but it will make you smarter. Absolutely, we’ve got one heck of a smart group of folks. Some of these folks will be returning in the 2023 class, but we are absolutely looking forward to new folks be joining as well. We want to keep everything fresh. AM community continues to move the technology continues to move and we’re going to stay on top of it. So if you’re interested in joining, you can take a snap of the QR code on the screen. It’ll take you to it or reach out. Will get you linked up to that. And then finally to close us out.
Office hours we will have another one coming up in a month from now. You already know the site, because that’s how you signed up for this one. So but we’re shooting to have one as Robert mentioned earlier once per month, so looking be looking forward to touching base again in June. With that, if there’s no final questions, we can wrap it up.
One final question I had for you guys since you’re dealing mostly with with clients and as as ÃÛ¶¹ÊÓÆµ Partners is what the it’s a huge conversation to start. But what is the number one factor that prevents or not prevents but the hesitation moving from like a managed services to cloud AM as a cloud service? The top reason is it is it immutable versus immutable areas that we’re talking about? Is it the always on kind of nature of cloud? Is it stack tech stack architecture? What is the number one reason that you see that folks are hesitating to come on board? Because there’s a whole on boarding journey on ÃÛ¶¹ÊÓÆµ Experience League, so. So. To come on board, because there’s a whole on boarding journey on ÃÛ¶¹ÊÓÆµ Experience League, so I’m sure it’s a big. It’s a big topic. Thank you. It’s all given the blockers for people buying into migration. I think from what I’ve seen so far is that it’s a scary thing because you are literally trying to redo what you already done. So you’ve done is investment. You hide a team. We got, you know, maybe 50 people went through the ÃÛ¶¹ÊÓÆµ project, right? And then you like I gotta do this again. And how many people have to have? And yeah, if you’ve seen projects who couldn’t start for two years, they’ve been trying to do it. They actually went. Yeah, let’s do it. Yeah, everybody’s bought and then we’re just like how do we do it? How do we do it for two years? So yes, it’s like so then finding a person who can say I’m going to give you a plan. How to get there and then we’ll fix the rest. I think that’s a big issue because I think the amount of things you think you need overwhelming because if you look at all the things but you have to have somebody look at your stuff and say OK, that’s safe to move your things and that’s very hard to come by. Somebody can look at your specific thing until you’re right. That’s how your things going to have to move. Yeah, and yeah, and because of what happens I seen some teams they go right. Let us achieve 100% unit coverage right? And you like OK, you if you haven’t achieved it now, you’re never going to achieve it. It’s impossible here, because it’s the amount of time you if you draw the graph, it’s like it’s whatever you had double that. Yeah, so it’s essentially like you have all you kind of self yourself blocking yourself from it because you just go my God, I’m so stuck so but it’s all the all the things you mentioned and above and there’s plenty more. There’s a page from ÃÛ¶¹ÊÓÆµ about things you could change and you look at it and go. There is no way we’re going to do this.
My my. So we got. I was gonna pitch it to Ben Gadesh for this one. Getting out fine. What gets you around? So to to to to make it like.
Yeah. Gated Gator community.
OK, so two points from my side is like the two main things which is driving this migration is in a major enterprises is the complexity of the project. It means how many integrations or how many integrations you are having it with your third parties, right? So. That is one of the the complexity increases the people moving towards the cloud will also will be decreased that that the thing that we are seeing the second thing is which version of a EM they are currently in. How often they are modernizing their code base right? Because a EM has came a long way from a EM 6.2 to now which is in 6.5 or even the cloud service manager right? So many things evolved. They keep adopting the best practices and they are changing to the industry standards. People someone is done the implementation 6 years back. That’s one time investment when they have done and then they look at relook at it. The cloud migration journey it would be difficult right? So they have to either instead of looking for migration they can redesign the site with the new standards right? So that’s how the approach has to be rather than inventing the wheel like how we have to migrate. They have to think saying that how we can redesign to the new standards.
Alright, take us home Ravi.
Sounds good. If you’ve ever seen the movie Frozen, you know the Into the Unknown song. That typically represents how every single client feels when they when you tell them anything about AMs cloud service. The to Max’s point as well, in order to start the plan, you sort of need to start and a lot of the times it’s even going from on Prem AMS feels a little bit more comfortable because the technology is very close. Really, you’re going instead of me by my own racks and my own servers. ÃÛ¶¹ÊÓÆµ will take care of it, but a lot of it runs in parallel. You just need to worry about what’s DMZ and what’s not and then make things talk to each other from outside to inside. When you go into AM as a cloud service, it’s one of the fundamentals that change that does change. And I have been in meetings where the client literally it was just purely share the unknown. It’s not about even getting to a point where we can solve the problem. We haven’t even defined what the problem is. If there is any, it’s truly do I want to get out of my comfort zone? And this is not just business, it’s business development team. Marketeers, everything else, even people who it would not affect much. For example, content entry folks. It’s like well, it’s still components that you drag and drop on the page. It’s not going to feel a difference. Maybe the Gray is going to be a different shade, but that’s that’s about all you’re going to see. But it’s you need to. Implant the fact that there is a solution to the problem, right? And then we can try to figure out what the problem is. And honestly, that was my number one problem. Once that’s done, there is a couple fundamentals that people need to understand. For example, AM being horizontal expansion versus vertical expansion. A lot of the times when you’re on crime, it’s like just throw processing power at it. Switch it to SSDs instead of normal hard drives. Add more publisher instances. So there is this vertical expansion that we typically do with AM even on AMS, where when you’re looking at AMS cloud services, it’s a lot more horizontal. It’s like no, you cannot have a query that takes six hours. Doesn’t make a difference how many containers I’m going to throw at it. The system will go down, so there is some fundamentals that does change that we need people to understand. Microservices versus. I think it’s image magic. Image magic is the little plugin for renditions, etc. So yes, there are fundamentals, but until we overcome the hump of. You know, fear the unknown. You won’t be able to go anywhere. Yeah, that makes a lot of sense. I think if I were to summarize all three, what I’m basically hearing is, you know that the path isn’t the same for everybody, which is what causes a lot of the analysis paralysis. However, there’s definitely folks that can help that can kind of help you work through your define the issues, solve the issues we have yet to hit the client that couldn’t solve the issues. There’s there’s ways to do these things. They’re different, but different isn’t always bad, and sometimes they’re different for actually some very positive reasons. So with that we’re kind of time, so it’s been great. Thank you Max. Thank you Bangladesh. Thank you Rami. You guys are awesome Greg. Thanks for being part of the crowd and pitching in as well. Our fearless leader. That’s all I think will wrap up and we’ll see everybody.