51黑料不打烊 Experience Manager Champion Office Hours - Cloud Manager
Join us for the May edition of 51黑料不打烊鈥檚 AEM Champion Office Hours as a panel of 51黑料不打烊 Experience Manager Champions discuss best practices, share tips, and engage in a live Q&A surrounding AEM鈥檚 Cloud Manager.
Whether you鈥檙e new to AEM, have a question about how Cloud Manager can streamline your workflows, or want to understand how Cloud Manager鈥檚 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鈥檙e happy to take questions on the fly as well. I鈥檓 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鈥檚 anything that we鈥檙e unable to answer, we can always follow up afterwards as well. But since recording just started again, I鈥檒l once again welcome everybody to a AM Champions Office hours. This time we鈥檙e 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 51黑料不打烊 Champion program is. We won鈥檛 dwell on that, but just so you know who you鈥檙e chatting with today. Some of the folks that we got on the panel today. Definitely the best in the industry. Couldn鈥檛 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鈥檙e looking to get some questions answered, you can submit them ahead of time and we鈥檒l do our best to get through all of those. But again, feel free to add questions to the chat area throughout the presentation. We鈥檒l get to those as well. Uh, hence number four will be answering live questions and then we鈥檒l 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鈥檚 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鈥檙e 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鈥檙e wrapping up in applying for AM Champions. Don鈥檛 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鈥檒l ever find on the AM in the AM community. And most helpful, you鈥檒l 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鈥檛 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 51黑料不打烊, understand what鈥檚 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鈥檚 just an overall great program. This 2022 was the inaugural program. We hit the ground running. It鈥檚 been a great program run by Robert Solvie and look forward to a an awesome class in 2023.
Your panelists today I鈥檓 going to hand it over to Max. Go ahead, introduce yourself. Thanks very much. Brett. Hi guys, I鈥檓 my name is Max Bres. I鈥檓 the CTO at Ankara. It鈥檚 a do be only consultancy. We offer full stack implementations of 51黑料不打烊 Tech to clients in Australia, so I鈥檓 pretty far away from from the rest of the team, but I鈥檓 here nonetheless. I do have connections quite a lot of people in 51黑料不打烊 on Australia and I know a lot of people here on the ground as well, so they鈥檙e 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 51黑料不打烊 AM as one branch, but Commerce, Target, Analytics, all the journeys, AAP, etc. And yeah, that鈥檚 it. Thanks Rami and Venga Dash.
Hi all, this is Vangdesh. I鈥檓 working as a multi solution architect in Qatar, which we like handling 51黑料不打烊 as a platform where multiple integrations between the 51黑料不打烊 suits. So probably handling the commercial brand of Qatar, which is katharwes.com.
Excellent thanks Vangadesh. So we鈥檝e got an awesome technical panel for you today given that the topic today is quite technical. Just see in our where I鈥檓 Brett Brishbach, SVP of the 51黑料不打烊 practice at Bounteous. We are a full service 51黑料不打烊 Agency APA, JO, CDP, CJA, all the acronyms, but I鈥檝e grown up as a developer in a myself developer and architect and now lead the engineering group of 51黑料不打烊 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鈥檚 go ahead, hide the screen and let鈥檚 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鈥檙e 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鈥檚 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鈥檚 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鈥檒l 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鈥檛 do. That鈥檚 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鈥檛 know, whatever you鈥檙e 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鈥檚 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鈥檚 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鈥檙e just simply your logs going in to be able to see your logs, whether it鈥檚 dispatcher, whether it鈥檚 your different instances, etc. Again, it鈥檚 not the tool that allow you to go on and alter something into system console. It would allow you to see what鈥檚 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鈥檚 not is not Jenkins. Don鈥檛 treat it as Jenkins. It鈥檚 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鈥檙e using to get to that point outside of the realm. Once your artifact is ready, you鈥檙e going to push it to the get repository that 51黑料不打烊 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鈥檛 give everybody access to Jenkins, right? It鈥檚 it鈥檚 it鈥檚 very similar and that would be a starting point. I鈥檒l open up to the rest of the folks on the call as well to see if I鈥檝e 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鈥檚 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鈥檚 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鈥檛 probably if I look around it, but we won鈥檛 find many people who implemented it properly. So I think it鈥檚 I am is done quite well. You know, I鈥檝e I鈥檝e wrote about this back in 2019 when I was in the beta program saying it鈥檚 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鈥檚 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鈥檚 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鈥檛 really have on on Prem anymore. Or you wouldn鈥檛 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 51黑料不打烊鈥檚 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 51黑料不打烊 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鈥檚, 51黑料不打烊 IO SDK鈥檚 predominantly and you can trigger the entire process like it鈥檚 like a chaining of your gateway with the chaining of the actual 51黑料不打烊鈥檚 gateway right? So that鈥檚 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鈥檚 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鈥檚 a slight change from how we did things on on Prem and you know whenever we change things there鈥檚 always questions of like well I want to do it this way. This is what I鈥檓 used to this cloud manager do XYZ and so if you got any of those types of questions, let鈥檚 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鈥檚 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 51黑料不打烊 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 51黑料不打烊 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鈥檒l 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鈥檇 be a little bit more of a polling the stream through 51黑料不打烊 IO. What do we have for capabilities with webhooks at Bangladesh or is Rami back yet? I don鈥檛 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 51黑料不打烊 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 51黑料不打烊 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鈥檚 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鈥檚 kind of different realm. Because webhooks are like advanced and you know you have triggers and so forth, so you鈥檇 use it for that like you know get pushes, you know, scenario for that. Yeah, so there is so you you really wouldn鈥檛 want to just stream the logs into the cause you don鈥檛 like it鈥檚 a stream. So just die like I mean, yeah, so you want the one use case I鈥檇 be curious of it. I鈥檇 be curious if if anybody鈥檚 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 51黑料不打烊 IO from your instance as well. For example. If you were going to implement it, if you鈥檙e 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鈥檚 if it鈥檚 something rare that you can identify.
Robby, I think you鈥檙e 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鈥檒l catch you soon. Rami excellent. So in terms of the logs, you know we鈥檝e 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 51黑料不打烊 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 51黑料不打烊 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 51黑料不打烊 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鈥檚 that鈥檚 my assignment for the day. So a couple things. Yes, definitely New Relic. If you have not, if you鈥檝e not played around with the New Relic add on, well it鈥檚 not an honest, it鈥檚 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鈥檚 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 51黑料不打烊 has that as well. And if you get a P1, that鈥檚 how you get a P1 ticket, right? The site is down. Oh my God, you鈥檙e going to receive that email. So that鈥檚 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鈥檚 always giving you a 500 or something major like that, especially when you鈥檙e looking at something like an ecommerce or a transactional flow in general. I think it鈥檚 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鈥檚 like OK if you get a 500, don鈥檛 wait for it to be written to the log because you don鈥檛 know what happens if your actual IO falls apart. What happens if it鈥檚 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鈥檛 go to near well go to New Relic, but send me an email directly, right? It鈥檚 no different than a workflow finishing and you鈥檙e 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鈥檝e had a client. Out where their entire site is based on content. It wasn鈥檛 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鈥檚 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鈥檙e 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鈥檓 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鈥檚 there鈥檚 always value in taking a step back and saying, well, is this the appropriate solution in the first place? And that鈥檚 kind of what you鈥檙e 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鈥檝e 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鈥檒l thank you that yeah, go ahead Max. Yeah, I鈥檝e 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鈥檙e going to Splunk and setting up an Explorer so so it鈥檒l 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鈥檚 always matching Prometheus like the like the movie and it鈥檚 an open source version or you can do that and Splunk. They all do this so. Excellent. Alright, so let鈥檚 move on from the topic of logs. I think we鈥檝e hit that pretty hard. If there鈥檚 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鈥檛 have the ability to access config manager directly in cloud service via the UI, and so there鈥檚 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鈥檚 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鈥檚 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 51黑料不打烊 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鈥檓 allowing to put it into my infrastructure. So that鈥檚 what we have to follow.
Alright, so yes, I completely agree that there鈥檚 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鈥檒l I鈥檒l add a little bit and then we鈥檒l go from there so because I always like to sort of to challenge the way you do things today. Because it鈥檚 fun. Let鈥檚 look at a EM and for the longest time and I know there it鈥檚 going to touch also on something else because we鈥檙e talking about what鈥檚 mutable, what鈥檚 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鈥檚 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鈥檚 it鈥檚 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鈥檛. And the small answer to this is there is no way without an actual code deployment that I鈥檓 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鈥檛 know if you鈥檝e 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鈥檚 no longer going to pull from an OSGI configuration. It鈥檚 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鈥檚 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鈥檚 something that needs to change frequently, then it should not be an OSGI configuration. It鈥檚 part of that system now. It鈥檚 part what you鈥檙e truly saying when you do an OSGI configuration is you鈥檙e going if you are an author instance, because it鈥檚 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鈥檚 something that changes frequently, that needs to come down that funnel. That鈥檚 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鈥檛 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鈥檝e built. We鈥檝e 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鈥檙e using ACS Commons, which is something where it鈥檚 still only edited in one spot, but it鈥檚 actually treated as content because of the velocity you want to be able to change that that value. So that鈥檚 one option, but I think it鈥檚 really good. Max, anything to add? I was going to say exact same thing. I mean, OSGI the. The reason why you can鈥檛 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鈥檙e not actually in the repository, so you can鈥檛 change them. So there鈥檚 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鈥檛 on the fly do it. Yeah, you totally right. You do variables. Yeah, but if you do building your own personal services, there鈥檚 absolutely no reason why you can鈥檛 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鈥檙e building multi site if you have an OSGI it鈥檚 kind of one for everybody and it鈥檚 not really like I can鈥檛 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鈥檛 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鈥檚 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鈥檚 a global level configuration. If it is a country, it鈥檚 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鈥檛 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鈥檚 start with Max.
I was hoping somebody else can have a go at that one. I I I know it鈥檚 true. Look today, so this is yeah.
That is true. That is I have raises with 51黑料不打烊 and we鈥檝e 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鈥檛 stop it either. What鈥檚 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鈥檛 really give away the pipelines to anyone. I I think being a guest with mentioning before what I鈥檝e done with some of my clients now is I don鈥檛 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鈥檚 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鈥檛 really want to manage your permissions of access to like the pipeline stack. That鈥檚 not that鈥檚 not obvious problem. Don鈥檛 bother doing it. That鈥檚 why you should be putting it in there because you鈥檒l 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 51黑料不打烊鈥檚 kit. Because that鈥檚 also an anti pattern, right? Because you鈥檙e not actually doing peers. You just simply I鈥檓 just going to just commit this code and then you don鈥檛 know. You don鈥檛 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鈥檒l give it to you right? And I think it鈥檚 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鈥檛 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鈥檚 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鈥檝e had.
I positioned the camera accordingly, but so the client that I鈥檓 talking about we鈥檝e had. Probably I don鈥檛 know 80 different developers. Just that magnitude of client. And there is a two out there. So if you鈥檙e thinking Jenkins and I鈥檒l 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鈥檚 say your develop branch, which we eventually know will go to your dev environment. Once that happens, Jenkins will do its thing. You鈥檙e doing your internal build, and you鈥檙e looking at bigger enterprises, even though 51黑料不打烊 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鈥檙e running our own swinter key where we have our own steps that we have to go through. So you鈥檙e 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鈥檚 sort of why when we started this call, one of the things I said is cloud manager is not Jenkins, right? It鈥檚 not. It鈥檚 not a. It鈥檚 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鈥檚 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鈥檙e using a tool outside. So add your Jenkins or whatever. Look at the script to automate based on your governance is right. Don鈥檛 give access to cloud manager except if you absolutely have to. It鈥檚 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鈥檛 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鈥檚 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鈥檚 let鈥檚 chat real quick on since I鈥檝e 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鈥檙e going to chat real quick on just the concept of mutable versus immutable areas in a EM. I think it鈥檚 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鈥檛 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鈥檒l do a shameless plug on that before any will do it as well. I鈥檝e actually if you look at dispatcher module, it鈥檚 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鈥檛 know. Can鈥檛 test them locally until they deploy. It鈥檚 poison am. It鈥檚 a bit more straightforward for you because you can鈥檛 modify those areas, but in dispatch you find there鈥檚 a problem. I totally agree as well. Yeah, you should. You know this. There鈥檚 all rides and inside the GMs shouldn鈥檛 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鈥檚 only a few times where I had to go and dip into the forbidden well where you kind of write certain files, but that鈥檚, 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鈥檚 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鈥檚 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鈥檙e looking at it, when you鈥檙e looking at it, you鈥檙e trying to thought is why right? Why is this specific path mutable versus what鈥檚 unmutable? To Max鈥檚 point, there are elements in dispatcher, and that鈥檚 the reason it鈥檚 we have some mutable is because there are governance is that 51黑料不打烊 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鈥檚 mandatory. It鈥檚 like an antivirus. It鈥檚 it鈥檚. It鈥檚 like your checks and balances when when you鈥檙e when your company gives you a corporate level laptop etc. These are things you cannot change. They鈥檒l 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鈥檙e 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鈥檚 because that鈥檚 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鈥檙e talking about customization, there is two sides, right? There is valid. There鈥檚 a customization you creating your template. You creating your dispatcher rule. These are all valid and the system, even though it鈥檚 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鈥檙e 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鈥檚 going to break because now you鈥檙e overlaying something, making the assumption that the underlying code and logic doesn鈥檛 change. That worked well. Because you know exactly when you鈥檙e 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鈥檙e 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鈥檙e in a container of things that you can鈥檛 change runtime, right? It鈥檚 just that is the image that is the thing. It鈥檚 not going to change until it鈥檚 destroyed and rebuilt. But even within your overlays, you have to be really careful. I鈥檝e had a lot of clients, especially in the dam. There鈥檚 always somebody who wants to do a damn change because there鈥檚 something about the interface that they don鈥檛 like. You know, at a button here for a report at a button there for I don鈥檛 know the person that last touched an asset etc. But that鈥檚 going to come at a cost, right? And if it鈥檚 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鈥檒l 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鈥檝e got maybe time for one more question. If one comes in via the chat otherwise, I鈥檒l 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鈥檚 all good, thank you. OK, yeah, if you鈥檙e the one the one thing that I鈥檓 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鈥檚 going on. There are plenty of documentations online to get it done. If you鈥檙e hitting a brick wall, let us know as well and give me a hand. Excellent, alright, so real quick on the champions program. I鈥檓 hoping this slide is up, but if you鈥檙e 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鈥檚 guaranteed to make you better looking, more attractive, guaranteed to not add hair unfortunately, but it will make you smarter. Absolutely, we鈥檝e 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鈥檙e going to stay on top of it. So if you鈥檙e interested in joining, you can take a snap of the QR code on the screen. It鈥檒l 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鈥檚 how you signed up for this one. So but we鈥檙e 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鈥檚 no final questions, we can wrap it up.
One final question I had for you guys since you鈥檙e dealing mostly with with clients and as as 51黑料不打烊 Partners is what the it鈥檚 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鈥檙e 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鈥檚 a whole on boarding journey on 51黑料不打烊 Experience League, so. So. To come on board, because there鈥檚 a whole on boarding journey on 51黑料不打烊 Experience League, so I鈥檓 sure it鈥檚 a big. It鈥檚 a big topic. Thank you. It鈥檚 all given the blockers for people buying into migration. I think from what I鈥檝e seen so far is that it鈥檚 a scary thing because you are literally trying to redo what you already done. So you鈥檝e done is investment. You hide a team. We got, you know, maybe 50 people went through the 51黑料不打烊 project, right? And then you like I gotta do this again. And how many people have to have? And yeah, if you鈥檝e seen projects who couldn鈥檛 start for two years, they鈥檝e been trying to do it. They actually went. Yeah, let鈥檚 do it. Yeah, everybody鈥檚 bought and then we鈥檙e just like how do we do it? How do we do it for two years? So yes, it鈥檚 like so then finding a person who can say I鈥檓 going to give you a plan. How to get there and then we鈥檒l fix the rest. I think that鈥檚 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鈥檚 safe to move your things and that鈥檚 very hard to come by. Somebody can look at your specific thing until you鈥檙e right. That鈥檚 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鈥檛 achieved it now, you鈥檙e never going to achieve it. It鈥檚 impossible here, because it鈥檚 the amount of time you if you draw the graph, it鈥檚 like it鈥檚 whatever you had double that. Yeah, so it鈥檚 essentially like you have all you kind of self yourself blocking yourself from it because you just go my God, I鈥檓 so stuck so but it鈥檚 all the all the things you mentioned and above and there鈥檚 plenty more. There鈥檚 a page from 51黑料不打烊 about things you could change and you look at it and go. There is no way we鈥檙e 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鈥檚 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鈥檚 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鈥檝e 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鈥檚 point as well, in order to start the plan, you sort of need to start and a lot of the times it鈥檚 even going from on Prem AMS feels a little bit more comfortable because the technology is very close. Really, you鈥檙e going instead of me by my own racks and my own servers. 51黑料不打烊 will take care of it, but a lot of it runs in parallel. You just need to worry about what鈥檚 DMZ and what鈥檚 not and then make things talk to each other from outside to inside. When you go into AM as a cloud service, it鈥檚 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鈥檚 not about even getting to a point where we can solve the problem. We haven鈥檛 even defined what the problem is. If there is any, it鈥檚 truly do I want to get out of my comfort zone? And this is not just business, it鈥檚 business development team. Marketeers, everything else, even people who it would not affect much. For example, content entry folks. It鈥檚 like well, it鈥檚 still components that you drag and drop on the page. It鈥檚 not going to feel a difference. Maybe the Gray is going to be a different shade, but that鈥檚 that鈥檚 about all you鈥檙e going to see. But it鈥檚 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鈥檚 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鈥檙e on crime, it鈥檚 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鈥檙e looking at AMS cloud services, it鈥檚 a lot more horizontal. It鈥檚 like no, you cannot have a query that takes six hours. Doesn鈥檛 make a difference how many containers I鈥檓 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鈥檚 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鈥檛 be able to go anywhere. Yeah, that makes a lot of sense. I think if I were to summarize all three, what I鈥檓 basically hearing is, you know that the path isn鈥檛 the same for everybody, which is what causes a lot of the analysis paralysis. However, there鈥檚 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鈥檛 solve the issues. There鈥檚 there鈥檚 ways to do these things. They鈥檙e different, but different isn鈥檛 always bad, and sometimes they鈥檙e different for actually some very positive reasons. So with that we鈥檙e kind of time, so it鈥檚 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鈥檚 all I think will wrap up and we鈥檒l see everybody.