Skip to main content

← All videos

What legacy? Migration tactics for monolith to composable

July 28, 20231:03:14
Live · UniformComposable architectureCMSPerformanceCloud & infraFrontend

Alex and Tim explore migration tactics for monolith to composable architectures.

Transcript

all right we are life back with another what Legacy stream and this one is going to be super fun because Alex here our CTO at uniform has made a really big mirror board that I have not seen and it's all about going from monolith to composable and all the tricks of the trade that you need to actually do that and I he just told me he might quiz me and now I don't know what to do but maybe just put it on and before we move on so Alex do you want to quickly introduce yourself just so everybody knows um who you are what we're doing yes um hi Tim and good morning good day good evening afternoon to everybody my name is alexiba I'm co-founder city of uniform uh prior to that I spent 13 years at psychor I do various technical things um and I'm passionate about fast web modern front-end tooling and Edge Computing I think that's that that will sum up my recent passions but uh besides that passionate about building great teams and and shipping things so that all the things basically all the things that's completely unprepared intro I like that because this Edge thing is bigger than everybody thinks and so we might even see some more of that today absolutely and uh my apology for my voice is going to be going on and off a little bit but hopefully it gets better with time we'll see yeah more use should be all right depending on how hard we go today though all right so um migration tactics for monolith2 compostable to me that sounds like a lot of different things edging from Tech to politics so what direction are we going in you know we definitely need to scope this and this this is really intended to be applied to CMS and dxp Landscape so that's and we're probably gonna scratch the surface and hopefully go a little bit below the surface um that's the intent go keep this a little bit more conversational we have quite a few topics to think about talk about and I think we can lean in on our collective experience team in this space probably over 25 years if we combine the years together and we train us now we know why we feel old based on this only speak for me about that so yeah and this is in the series of our what Legacy live streams which is intended to challenge this preconceived notion of legacy and that you stuck with Legacy and you we kind of want to talk about what to do with the Investments of the prior decade and how do we kind of um combine and the the power of modern front-end and Edge Innovations and the existing Investments realizing that it may not be an option to completely switch overnight to Modern headless composable so what do we do with billions of dollars of Investments right and and hundreds of thousands of uh folks that you know have this Niche special specialization whether it's AEM sitecore optimizely what not so that that's the thing yeah by the way um just to quickly interject here we have uh quite a lot of people watching so what I want you to do everybody who's watching if you agree or disagree just let us know because this is going to be one of those um I'm not sure how polarizing it will be but we have certain ideas that we think are awesome right and we've done this for a long time but if you don't agree because you come from a different context feel free to just put that in the chat and we're totally happy to to go over that with you and if we're wrong we'll we'll learn something as well yeah absolutely thanks for the reminder we do need to know if this makes any sense does this track exactly um and what kind of other topics would you like to for us to cover in this realm um this is a second live stream we did one about um uh kind of ultimate makeover of existing psycho solution and we we kind of turn it instantly headless if you haven't seen this one check it out um this one you're gonna build on top of that and we're gonna go a little bit deeper and a little bit wider but you can see the emerging theme here uh happening and we're going to be talking about cmsdxps here if this is a foreign concept to you you haven't heard about it you're probably tuned in into the wrong Channel about different sort of uniforms but if you're interested to learn you know welcome the comments in live streams from people trying to sell as like school uniforms and stuff this is like the stuff that makes me so happy when that happens anyway um a quick notice I just realized that if you ask oh was that it sorry something went wrong with the Internet there I think we're good again okay I didn't have any blips or anything okay I did I wanted to say um it looks like if you put a comment in our LinkedIn stream it might not have reach us here in this Stream So once in a while I'll be going there and if there's a comment I'll answer and so the first one is was a question about let me just quickly check it before we continue um let's see yeah so um essentially um is this a general migration strategy for all things monolith it's like monolith Commerce engine or a specific model X CMS to dxb I think we can I'm surprised wide-ranging right I think the concepts intersect a lot but composable Commerce is a very different Beast um so our specialty is within cmsdxp so we'll talk about that use case but I do have in the plans there for later to get into Commerce conversations but bring somebody who's who's done this for a decade and we can talk about that and expand this topic yeah um that being said from what I've picked up in in recent couple years about that problem if there's a lot of similarities and I think the patterns and practices of architecture back in the day they apply universally whether you you're building a big Commerce Suite or CMS or dxp exactly I do know that the person that wrote this comment is in the Telco industry so they do have their own set of challenges that we might not know absolutely absolutely but um having spoken to him for a long time it's very interesting to to hear all those things but feel free to just comment away and then we'll just check on with this and see um what comes up yeah sounds good all right so Tim Isaac first question for you this I I Cherry Picked a few dxps from uh analysts website here and all right definition uh I have a logo quiz a couple logos uh do you know what the logo of this company is is that bloom reach you got it you got it nice nice okay everything else is easy how about this one let me think Magnolia you got it all right how about that that was fun yeah but that's a new logo for them so I had to really dig deep oh that's we did and that's that's expected so we're gonna talk about dxps and kind of into section CMS and dxps because cmsf not not enough blocks to talk about monolith but the XPS do um and kind of going back I realized we we started talking about this I'm sorry thinking about it 2018-19 but yeah really started talking about it in early 2020 where gemstec was all all the rage and and this was sort of our take on combining these two worlds of um uh modern front-end development offloading websites to CDN with static side generation remember this was this this was the thing I used in the existing World deaths in every presentation I made animations on it all of it yeah exactly so the concept here is is essentially you you have a multi-vendor um system here where every block whether CM has them you would use another product from another company and you put it all together in your own stack and you're you're becoming chef of your own stack so it's it's not a new topic we've been talking about it for a while and it has been over three years and it makes me feel even older uh but before we go too deep I think starting with why is important um and talk a little bit about you know why why would you wanna slice them on with decompose the monolith or move to composable right so this is the model with you you're dealing with this is a collect electrical area from the desert in Utah somewhere do you know the story Tim yeah well I know about the monolith on the left that it's somehow appeared magic but then the one on the right that beats me it sounds fun it looks fun yeah there's a couple of dudes had to disassemble it that that must have been a fun project I kind of want to know how they did that like was it in the ground or was there like literally screws so because some dude like a farmer put it there no idea but uh there's a couple articles if you're interested to find out I've recently learned about it because I kind of skipped that news but yeah so that that is sort of what we're dealing here with but in the software realms um you have this big block of software that's doing a lot of things including handling your content handling your search probably handling your presentation experience layer which we'll talk about um you'll likely build some form so use some forms module on top of your cmsdxp um you likely ended up building a bunch of custom apis because we used to treat CMS the XPS sort of application platform back in the day and yeah for sure I bet um I bet Tim you built a couple of apis yourself I know I'm guilty of that yeah because this is the thing you have this kind of home base where things happen because you run the server right so put it yeah and some of these systems were really good like sidecar had this whole pipeline thing where you can just put in something and build your a whole own thing and that's in that sense was it was quite composable and it worked really well and so why not do it in there right you have gone down this Rabbit Hole anyway so why not it was too easy because you have content there to store some of your configs and it just it was the thing to do and and yeah exactly that kind of got us partially in situation where we're in where everything becomes kind of too coupled um yeah and I've seen Commerce systems like shopping cart implemented on top of CMS just just oh yeah me too one time execution environment and then these crazy things like a whole dictionary with like a million items database rows with one word is that but then the the key then you add like a one or underscore final and then you have another one and it's through later throughout everything you've built and so it's in that sense it's the least composable again right so you use the composability of an internal system to make something completely glued yeah exactly and what makes things worse is that you have this bov thing on top uh that's another question what do you think blv stands for not not by uh Louis Vuitton not not not that but something else I I wish I knew but build your I know I I'm not going to try because I'm only thinking about BLT because it's on lunch and almost dinner it's a big Legacy vendor aha of course so of course you have ever the whole box comes in a package from one company and I mean there's pros and cons uh you have one paper to sign one throw to Showcase I hate that the phrase or that's used in business context you can just overwhelm their Professional Services because something doesn't work I have certainly done that in my time something's up yeah you guys taught me I could customize this now I did and now you have to fix it it was pretty nice to be able to do that yeah it makes certain things quite easy they were very unhappy because we customized the heck out of it right yeah and as we know in technology it's all about options and choices right so pros and cons everywhere um this is sort of collective list of bullets what in my experience where the problems are and it may not apply to everybody but this is sort of the the most drastic list of of issues um that that we've seen collectively pepper throughout the ecosystem what sucks is that especially in this economic climate pain for you know paid 100 of the price tag for 30 of the features again approximately but we've seen the worst we've seen better we've seen 50 we've seen 20 we've seen 10 of usage it's it's a little bit generally on the 110 side use it all and then make your own things on top but put it in the same box that's also not great to be honest yeah you're painful differently um yeah and it's it's getting expensive um I I know that there is a SAS versus pass sort of conversation but a lot of the systems built in Prior decades um they they are passed trying to look like SAS so they are they're not as efficient they're not using just timing wise they didn't have access to like serverless compute to some of the new database Technologies is just do you think it might be time and place as well like if they started now it would have been a completely different game using different Tech that because right now you just use all these serverless things and things just scale up while even four or five years ago you had to go like you know the um more I don't know figure out the server cluster about yourself and deploy some customized packages on that even that short time ago you had to do that right yeah and I know some will say kubernetes is the answer I'm not buying it like it's I don't know the docker thing is awesome but I almost feel like it was just built to say it works on my machine here's my Docker go I know that's a joke but I've heard people say that like in real life yeah and I mean shoving huge monolithic Services right into a container and that that's that's never a good idea if you have build a tiny service is one thing yeah but this is really apples and oranges but where it's all started happening I think where Jam stay came into picture and and react and now next year has taken over the world by storm the the developer experience expectations evolved so much in in the the standard is so high there is no way for any system that owns the rendering it dictates how to build websites web apps is Gonna Keep Up and and it's just um it's it's a game some vendors tried playing but it's always feels like something bolted on top rather proper kind of properly designed um experience yeah exactly it's just too hard like being a front and Def myself in my career I've gone over so many changes of what I like this time and then what I like that time and then what business dictates imagine you have certain needs that you have to be met but out of the box one of those dxp systems just doesn't give you the accessibility that you need then you're gonna have to update their whole front-end idea to make this accessibility need work and then they do an upgrade and then you are not going to do that upgrade because then you have to somehow hope there's no clashes between whatever their new front-end things are and what you used and then you're waiting let's say five years until you're like the cost of doing nothing has become too high and you just go Greenfield and I've been in that situation and it just kind of sucks yeah because there's a lot you invested in and just you know unplugging things immediately it's it's it's not an option for many many companies the bigger you are um so yeah it's it's not a great place to be um I mean that being said it may work for some it's not uh it does so I don't think no well what I think is interesting is to see like I've had projects that were large like 100 sub brands in one huge platform right and their goals were to give all of these brands of voice the quality of the output of the website didn't matter as much as long as they had their own voice and they had like a little page for their own brand and then it was kind of fine to use whatever out of the box front-end game and just use the multi-tenant system in this dxp and do that really really well and so they gained process and then of course in two years they were all unhappy with their websites but at least you had success in the short run right and it would have been a too big a challenge to go Greenfield on that for them at that moment and then you see them mature over time and they realize oh well this front end didn't exactly fit but at least we got successful in the eyes of our stakeholder and then you go to the next step had they have gone over all this like best of need stuff we'll keep talking about nowadays the startup would have been a lot higher a lot harder to do but then they would be flying away after a year and choose whatever they want to choose and then be super agile with it and then if people say hey can I get this feature you just say rather than maybe in six months you'll say maybe next week or do you want it in two days I can put that together you know more clicks than code and that's pretty interesting but it's also very complicated what to choose yeah and that's one of our Missions at uniform is to lower that barrier of Entry uh into composable you don't think about it as Unix versus pc windows sort of uh approach where you know you get everything from one vendor in Windows you get operating system with some photo editor and stuff like that but you probably need to end up buying a couple of hundred dollar pieces of software here and there um if you Embrace if you get Linux installed you have full control over you bring some open source goodness you you kind of assembling your own operating system in a way out of components that are great at what they do right and that's a philosophical choice and it means that the barrier of Entry is a little bit harder yeah this is the mission we have to offset that and make it um super straightforward to get started assemble a stack launch and it to read the key there is not just improve that initial get installed experience but stay fast uh exactly don't cut yourself into a corner because I just spoke to to a friend of mine he's at an agency and they said yeah we could have built a uniform not as good but we could have built it ourselves somehow and I've done that in the past with certain projects the thing is though when you look at uniform themselves we we actually productized the thing that everybody wanted to do and then built upon it based on the time and place we were with the right things with serverless and all that stuff and so it's now more approachable to people who don't fully understand it or have the time at all to build something like that right I've once had to hire 20 people and work for two years to get even close to what you get with uniform when you just buy and get started yeah of 12 15 years ago where everybody would would build their own CMS right same sort of idea I've done that because we know the Cycles right we are old enough to to remember those those things so yeah it's very similar and I remember conversation we had with a big brand Automotive brand and they build their own box um and they call it blue box and and they're like can you guys take it we don't we don't want it anymore yeah yeah it's a multi-cms abstraction wrapper and and and that's that that's we've seen this happening so that's how our mission is to communicate that you don't want to become a product company unintentionally yeah and you all become that and then how does it work with upgrades security patches all that stuff you don't want that at all anyways let's go back to the slide because I've been on a rampage for a sec no that's good that's a really promised conversation also people oh there you go uh one important aspect I think here in composable architecture we can see these blocks I kind of start departing from being glued together um is a that's what makes it truly composable architecture that the multi-vendor aspect that you can easily plug in um systems from companies that you know don't work together don't integrate together that's a good marker can you make um a particular search provider work with another big Suite companies damn or CMS right that's a big marker and um that's reality in a lot of cases where you come into a customer uh they are on Oracle marketing cloud and that's it right deal with it so yeah you want to make it work there you you come in there and then they are on on Adobe for for for the marketing layer and so that's that's the reality of these Enterprise customers that there is there is a need for the sort of multi-vendor connectivity and that that's what makes it super hard uh but the the benefits are massive like it's it's just a different ball game in terms of the type of architecture you get yeah The evolutionary architecture with that right seeing this one of the reasons why we started uniforms it's seeing a amount of waste in in in the space of millions thrown at upgrades just to keep upgrading uh without really moving the needle right having rip and replace every five to seven years right there's companies that went from psycho to AEM back to psi core or I've been around that one too it's crazy but you know what's interesting here and this is what not everybody who's technical like us thinks about especially when you work at like an agency and then you say to your client or your customer you know what let's upgrade this version so everything else gets easier later sure everybody kind of agrees you have to do that on a technical level but then imagine you're a stakeholder and you are maybe the Chief Information officer or you're a CEO or someone around there and you pay for this thing you the Optics are really bad because you see a software upgrade but you don't see an uptick in sales you don't see an uptick in how it looks it it might get a bit faster or certain things you get better but those are metrics developers care about and so going to upgrading and through all these things make sure to keep the Optics in mind of how it looks to others other stakeholders not just technical people and then you suddenly start to realize how much money and time is being thrown at upgrading from you know cq5 to AEM 6.2 or something I've been around that one where you almost saw no change at all but the developers were happier well after not during but the front end was the same or broken and then you had to have an application after this right yeah and then another six months to fix bugs that doesn't look particularly good to um you know the stakeholders that have paid for it and so there's always this there's balance to be found and I'm not saying that's super easy with composable but at least the chunks you are attacking are a lot smaller right that makes these things easier you can move incrementally you can have more of an evolutionary approach to architecture changes and what we often talk about is that you have sort of this insurance policy against any major events shifts in the market or vendor becoming hostile and jacking up the prices right this is a lot more friendlier to a customer sort of architecture in in other side effects that I think we don't talk enough about is talent pool access and and being more efficient by maximizing the use of front-end experts that they don't need much to know they don't need to be trained with a particular flavor of the front end and and know how do you work with this uh uh concrete CMS or dxp right you can paralyze back an API development front-end it just makes you a lot more efficient with um with the I mean resources you have and I mean it's all about that doing more more with less these days yeah and I've had the most fun experience where I want name clients or offenders but the people who know me and watch this know what I'm talking about but we actually on this is a project Alex you and I worked on before uniforms so where um this vendor became hybrid headless right so you would be able to work at XTS and then you can work locally in your MacBook you didn't need.net or Java or whatever right and so you can then later on connect and that's a really cool idea to still have that front-end experience where you can just do all the things build an amazing next or next app and then later on connected to this backend and they can still do the fancy CMS the inline editing and everything because they had a node.js layer in between that it was kind of complicated but it did work and then it happened where we just threw this project at a really good reactive developer then you notice that these developers have different Minds so react developers if you know react a little bit you know that they are really granular when it comes to components everything is a component you can really do amazing things and this system worked with kind of slots or places where you can inject components into and of course these react developers made like hundreds of these on one page but the CMS from back in the day they were like maybe two or three and then performance is cool and we started to build this amazing front end with hundreds of displacement spots where you could put components in and then the performance was horrific and we didn't understand because we took a front-end approach to it which means hybrid headless is not actually Atlas at all because you need to know exactly how the system works behind it and if you do you're cool but then you have the problem with the talent pool again because you cannot just hire any amazing freelancer to just build you a front end no you need to have a specialist that understands that dxp and is really good at building a front end they're going to be a thousand a day maybe more right and there's not that many of them and so yeah it's always kind of fun to see how that works no exactly and atomic design principles are also quite important no matter what you do I know there is a react way of thinking about it but it's the atomic design principle that's always a Missing Link in react developers head and that that should be true though yeah so I'm not saying that approach to building front end is great like I'm coming from the ugs world where we do a lot less of that I'm not saying it's better it's just they're different flavors and if you build a dxp that you say hey this is heartless so you can do whatever you want to do in the front end make sure you can deal with the flavors yeah and um we had the point this is a very exciting time where it's not just Theory we actually have documented successes huge successes yes with this approach of migration to to composable and um this is one one example that I have a couple of quotes from this um North American Insurance Company and just the the best really the freeing experience and and the acceleration you you double the speed for your for your second site that's that's huge like that's that's where we want it to be um that was the uh we've been talking about it you know for a while like this is you invest once and then get faster now we have the proof points that this is this actually is working and it's extremely extremely exciting um we're gonna get this one published so you can learn a lot more about this case study but uh this is one of my favorite one because it kind of talks about performance and Lighthouse core what vitals talks about a fast time to Market and yeah it's it's just amazing and we were part of this mental transformation um and working together uh with the team to to to to get get to composable way of thinking as well as you know getting things shipped so super exciting stuff I think what we do need to mention here though is like if you just go from Legacy to composable you're not gonna just gain 30 points in Lighthouse course right you need to know what you're doing still so that's why we're always quite close because you it's not just the concept of changing that's better you actually have to know what you're doing and then it can just be exponentially better I guess or maybe that's a big word but if you have more freedom you can hire better people that know what to do with that freedom and suddenly you can get much better results faster I think that's a part of this however it's a really good point you can mess up like a hello world from fgs App if you really try I think that would be a good live stream to to see how low we can we can go with some best practices right oh that's true however the reinvestment of you used to spend time and dealing with plumbing troubleshooting your Docker container and dealing with the the internals that he didn't want to deal with all at that time can be reallocated to treat performance first and actually invest in performance you have a lot more tooling at your disposal to play with it's sort of like you know that moment when you use better tools and you become better engineer in a way and the tooling framework kind of steers you towards that it's awesome I think there's been two too many abstractions from the web from the past and it was just you know things may get sideways without your intent now you you'll have you need to have that intent as a part of the the process and this means that you have a lot more time and control over great performance metrics yeah exactly um but the big question how do we get there is there when we talk about it we talk about an Express train which is a rip and replace and just start over Greenfield and we have tools to get you there faster but that's that's a commitment you have okay we need we need to rebuild um sometimes there's no option but we talk a lot more about the local training experience right and this is beautiful trainings Swiss Alps that you can take it's a bit slower but you take it on your own uh sorry you have you can plan your own Journey you can stop at some beautiful Villages and explore beautiful waterfalls and stuff like that so this is this may be a better option for a lot of companies we we talk with and um so this is where we can break in but I think that's really important because when you look at uniform sometimes people think hey so I always have to do Greenfield for this but nothing is further from that it's actually it's so flexible that it the whole point is to just inject it small first and then peel the onion and see how far it can go so that was a lucky move to this slide thank you there we go so how do we peel the onion oh here we can see blocks being kind of disassembled one by one uh last live stream we talked about the the hosting deployment being able to connect to to your existing cmsdxp we're using sitecore and and deploy it to yourself straight away um so turning it instantly headless so you're immediately moving off all the concerns about hosting deployments the ICD all of that experience out of into the modern era right so that's great um so we kind of advocate here cycle XM does that exactly what is different what is the difference we well our story we can do it with any version of sitecore um it can be on-prem version it could be MVC version um it can be um react to Knox based front end that talks to a 10 year old instance right so we we don't have to touch or upgrade anything inside of your psycho instance that's I think one of the most fundamental uh principles and and there is no need to if you own old license Perpetual license you can keep that so you don't have to move to consumption to kind of get get get these benefits um and you can also just kill your CD servers but I guess inside your XM that's the same right yeah I think there's a replacement for CD server um I think there is a larger view here to consider because in composable architecture where it gets even more compelling where you start thinking about decoupling other pieces and you're becoming a multi-source architecture right where we used to shove everything into CMS your product catalog right your search was running here deal Dam or quasi-dam was sort of there it was never enough because you know that world has been evolving as well we just played with uh cloudinaries AI new AI generative fill capability oh yeah my mind right yeah I'm about to make a video on it because it just it's it's not fully there but it's so insane it's so good I tried it like on 10 images I was blown away so that's an example of you can access this sort of Innovations if you use it for purpose you never get that in a dxp because I've looked at the like even Adobe is dumb that's really Advanced right they don't actually do proper delivery stuff at all so if you wanted that you would still have to go elsewhere and then inside core they do have delivery stuff but when we looked in that code properly it's actually like I don't know they call it like image magic from like 2000 I8 or 9 or something yeah that's not gonna compare to anything that you would choose that's best to read and it's just it's just not worth it let's get this this is that philosophical commitment as an architect you need to make like we are using best of breed best of need and that's that's sort of how you roll and and then this sort of content and this just becomes a part of the puzzle but there was a lot more puzzle for you to kind of uh Wrangle right so I think the where it gets really interesting is Within These experience in content layer what do you do with those so I want to talk a little bit more about that um starting with experience presentation layer so we we gotta need an example and for an example we we can use the um I'm most familiar dxp and presentation experience from player from there so this should be familiar to some and this translates the more I learn about other Technologies of the same decade this roughly translates to their approach because everybody thinks is number one in it though I think they have managed to separate these things out really well where in Adobe it almost feels a little bit more like just a bucket of files that you have to make Dynamic which is fine in a way because for scaling it works very well but when you look at sitecore really they they do have like this whole data template approach where you can it's it's really nicely separated I think that they they deserve props for that for sure yeah logically it's really nicely separated it's crazy we're talking about physical separation right yeah all these things um so then you have a question to ask once you transition to this composable architecture um is headless CMS really the right place for your renderings placeholders layout Details page level items Etc and there's another question for you too I would say no to all of them sorry I might be ahead of time oh yeah there we go no exactly that's that was a big no in my brain that I might be too idealistic right what do you think I I think you I mean any you can do anything in technology it's it's a bad idea we've seen you know folks try the the moment you can model you can model anything in the Headless CMS but it always feels like okay that's bolted on top that some architect's idea of how this should be architected so when business users come in they're like okay where's my stuff where's my page where's my you can have if you have a super simple scenario with like three stacked components you can model a component it's if you in like super simple landing page scenario but things get complex when you need to have more advanced layouting layout control right you have visual representation of that not just in content objects and content entries yes you can do it I've seen this go really bad um and similar headless was not designed for that so we're not really uh right we need to acknowledge the original intent and design of headless CMS and yes some of them different components but it's it's never it's just it's a different thing and people need to somehow get to grips with that but I don't know like I've seen um I talked about this in the Stream two days ago with Mark and and Dina where essentially we built this glorious thing for the developers we loved it was a data model to make on a product age we had four tabs with product details like you can tap one had had a specific content Tab 2 could have content and each tab could have a title but it also had like a placeholder and anything can go in there and it was really it was magical and then a Content editor started with this where we sold them this whole amazing thing and it took them 30 minutes to make one let item of four tabs and they had 400 pages and so yeah what do you do then do you go do you come back from that idyllic horse you were on or like and so this is just to illustrate that even if these things don't fit in had the cms's doing it in a way where it's idealistic in a half the CMS might also cause 20 minutes of work for something that's one minute when you do it in a way like how uniform would attack it for example yeah and so yeah to the business user right that marker that somebody needs to use this day to day but you may think like it's easy for you as a developer but but they they come from a very different world they may switch from CMS to CMS in a large company they you know you can have multiple agencies working with different spaces and then they the different architects involved so their version of this reality may be very different so yeah this can get really messy and it just doesn't scale so this this builds up for uh for proper first class capability and this is one of the things that we do really uh it's uniform I think this this sort of encodes the upgrade it's kind of flying like business class overseas or first class uh in in us but mostly if you have a flown Emirates business class I had pleasure once and that's one of the best experiences of my life uh oh boy it was expense trips but I mean that going back to economy right that's that's and that's kind of how it feels like when you deal with a feature that's you know it's built with different intent yeah you can fly you know 15 hours I've flown to Australia for 14 hours my back still hurts that was two years what's so nice from where you are it's only 14 for me it's like 30. how you get out of that yeah we just fly to Hong Kong and then have an eight hour layover and then fly to Perth it's horrific wow anyways that's another story that that's just a mental model to think about yeah once you get you get to work but the the question is how do you get all of the Investments that that you put in into your the XP presentation experience layer and how do you decouple this talk about hello CMS as an option with uniform this is another option and then we give a couple of uh pieces here to to think about there's an automated migration approach semi-automated where you can kind of cherry pick what you actually want to salvage and transfer over and completely manual uh where you recreate the components and and presentation definitions to power your pages um the view is that after that it's connect your front-end of choice next next Gatsby whatever right um remix Astro or some interesting options emerging um and then you know go have fun the the data is there you have pay manage pages and you can you can go pretty much fast from there um I gotta just just visualize it again I wanted to show you how this could look like and um yeah I was just gonna say within our time frame this might be the perfect moment to actually show it yeah exactly so in in uniform I'm going to show you an empty project here that that doesn't have anything no components no compositions we need to go over the basics and the glossary of uniform or do you just want to show the magic and then go into it I think we'll just show the magic so think about you know you have an empty space where you need this presentation experience layer to live right the content will still reside in your content storage of choice your CMS of choice whether it's headless or whether it's a legacy system whatever this is about the layer on top right um so for that I'm gonna run this is we're gonna use psychosa as an example here but this could be AEM or any any other dxp that has this notion of presentation components so this is sitecore 10 I think looking at your url this is psycho 10 without using any psycho 10 features so this could be Psycho eight okay it's just uh it's easier to install I think my former most formidable years were 8.2 I did six before but then it was like all the code behind it was a bit messy and in 8.2 it became smooth I feel for me yeah um so what we're going to do we're going to take all these pages and all the presentation settings and we will convert and move them to to uniform so this so what is something this is a uniform connector that gets installed and it gets you some migration tooling ah cool okay well you do have to install something yeah so let's let's connect to it that's doing some some magic and extraction transformation um so here I run push and at the end I should get all of my components imported here that already worked it's automatic there we go so you can see oh you see them come in holy crap coming in coming in yeah having our back end in react where if data just changes your interface just updates no refreshes nothing it's crazy I love this so once we have the components the only thing we're missing is pages and for that I'm gonna make sure this page is alive run civilization so it will serialize everything on disk and then pushes this into my project is this the serialization making these Pages go into like a Json format or like a yml format or something yeah I think it's just uh Json files maybe yeah yaml files I'm not I'm not sure to be honest but uh files on disk that will be converted and you can see now we have all the compositions so these are compositions for your pages these are your layout details that get propagated and manifested here and to get together with that we have a Content tree and this is our project map so this was just created out of the sitecore project you were running yeah exactly so it gets Wilder if I go and open up this page in canvas uh you can see you haven't had a preview yet I guess that's not a problem so I'm gonna start it up locally here and this is uh an xjs app that's running here this could be nox this could be any front-end Tech it already implemented the front end in react so all it needs is data and so this is your little project in react that you want the front end to be like you just have to connect a uniform to get the right data into this component right exactly okay so I'm gonna paste the localhost preview and then hopefully in a little bit of time maybe it's easy oh is it running oh yeah it is oh you get an API client error it seems yeah let me let me check looks like I'm not using the right project ID or something let me see this is the beauty of live streaming we're living on the edge living in the edge oh yeah you need to have the proper project ID oh yeah okay I saw that too late though and by the way people you can copy these things they're only read API Keys No Worries here yeah okay so something is not a project in there doesn't like the project map even though I think the API key may not be good you could just create a new API key for this project basically I guess yeah exactly so let me do that yeah this is the beauty of us knowing the product so well it's relatively easy to solve online I hope this is it because oh yeah otherwise we have a bad moment and it worked for me yesterday of course as always I I think I haven't updated this API key I think let me see is [Music] magical moment there we go it was okay so it was just API key rights or reading all right then where's my uh uniform project let's let me get back to that and just go and refresh my project my empty project that's not empty anymore no exactly here we go so this is a representation of hobby that essentially that we created and now it's running on localhost but it also goes to preview mode through the uniform SDK now so did you literally just spend time to make a react version of habitat that's from like 2007 you know we have to do some weird things here oh my God including like that that crazy accessibility read over a dark blue thing you just copy that I love it man yeah I never thought I'd see this but here we go and the thing is that it retains the references to your original content inside course yeah for install the integration I'll be able to pick different pieces okay so this is interesting this is good to know so you just copy this into uniform and the data sources are there but we didn't install the sitecore integration so if you wanted to change the data source now you just have to put another uu ID in right um yeah exactly um which is not exactly a fun thing to do but maybe we can just install the integration uh yeah then if you install the integration it will get you the nice picker nice UI and everything so I want to show that I think it might be good for people depending on your um oh yeah yeah I don't know if it's hard to do I imagine it's not too crazy it's not it's not at all so I mean just we said we want to show magic right and Magic is not a uuid exactly okay okay okay I get it I get it let's do it so I'm gonna need I'm not pushing my CTL to the max I'll I'll hear about this tonight that's okay uh so let's install the integration uh all we need for the integration is to know which endpoint to talk to um so I'm I'm tunneling here uh through analog and get the API key from PSI core and which sites I want to connect to test connection it's successful boom done ready to go and we can now go back to our home page and you can see now instead of Google is that okay that was that's too easy and we have so we now have ability to query the the whole cycle content tree and keep picking the data source items from existing systems so essentially this is could be a phase one you decouple the whole front-end presentation layer and then uh what you have there left is content right and uh dealing with content here it could be a couple of options but we kind of reduce the dependency to data templates um content items so you can keep using headless CMS for that you can keep using existing system or you can move this into headless CMS either headless Amos whatever whatever you feel like but this becomes a more of a universal bridge between yeah I think it's important to to tell people that integration we just installed right the side course thing oh that's a nice picture by the way um we we have Integrations to any CMS like that so if you decided to move your data models from sitecore into another CMS like contentful or content stack it also just connects like into uniform just like that and even if we don't have an integration we we have data sources so it's literally just it's like Postman in in uniform you can put any URL in there that's a rest API or something like that yeah exactly so a couple notes Here I went to migrate and you know senior developer answer it depends it depends on you know how coupled you are to to your content layer is there anything else that built on top of that or this is just used for website content um and that that really is very much solution specific but the beauty here is that once you ready and have the need it becomes a lot more achievable because you already modernize the customer facing portion of your stack and it becomes less Mission critical to to work your way downwards right um the question is always what is salvageable if your content models you're happy with them um great um there could be again automatic semi-automatic manual migration and you can start piecemeal for move the whole content uh repository right so we we've done these assessments uh for many many folks so if you in doubt want to have a no strings attached sort of assessment happy to help um but this is from eight considerations from my personal experience of what you think about when when you attempt something like that and this is typically de-risked and discovered during phase zero pilot it is figuring around how how clean is your content model if you're happy with the results in in a headless EMS if you attempt this migration what kind of other dependencies you have where does the media go like media is often treated as content does it make sense to consider a fit for purpose Dam or versus Hadley CMS all the questions uh there could be different question different answers Rich Text Editor could be a fun one because most of headless CMS have a stronger type and adjacent based reach text editor that is not really taxed so there's some some interesting transformation you need to think about linking like where the page is going to be managed how are you going to transform these internal links some Fields complex Fields custom fields and and yeah whether whatever automated solution you put together what we've learned over this decade is that it needs to be moldable extensible and open because you cannot really program one approach um so that's these are the things to keep in mind we have a ton of experience with that so if you wanna the gold brain you know how to reach us and with that in mind looking at the time and thinking Perfect Dude Perfect you know here so in upcoming live streams we we want to talk more around more purple boxes here or maybe Barbie pink I don't know that's that seems to be a thing yeah um so we want to talk about search um forms forms in mid-august and other a live stream there's a lot to talk about forums and and how to handle that how to decouple that from CMS and we can look into new cool services that that handle forms really well from the libraries and and how to approach this in general there's multiple things to consider search is a big topic you know mention Commerce I'd love to pull in an expert in Commerce migration we can we can talk about that as well and damn too so a lot of new boxes to talk a lot about and uh hopefully this will be a continuous team and we'll be able to share more how to's and how to decoupled in the decompose your whole monolith um exactly and you know what what's really interesting here is that you can actually do all this stuff while keeping your site or adobe or whatever you use your Epi server in play because your content editors might have been trained on that but you can then just swap out certain things and you have your front and super modern and then have this uniform thing in between and you choose how much you do yeah that's actually one of the more important things because in my career when I wasn't at uniform but before my success was generally about the Optics of how does it look when we move from the old school stuff to the new school stuff are we going to spend two years and then do a big bang release and hope it all works or because that also includes training people agencies have to understand the new thing writing documentation what if you can just do small chunks right and then let it all still sit and have your production architecture in place while using the old stuff and over time when you have the time then you move these things around but you always take care of the Optics like I've even had projects where we updated the design of the Legacy website and then build the new website at the same design and then we would literally just swap component by component or Page by Page and in a year they saw changes every two weeks every Sprint release but then it took a year to then slowly move everybody it's like literally taking your client by the hand and I think that's a really important part and uniform plays a big role there so I just sorry for the pitch but that's I wish I had uniform back then because that would have helped us so much yeah no that's and that's the reason why presentation uh experience layer needs to be first once you decouple that you're becoming multi-source this means that you can bring in other content source and you because your app becomes if you use uniform match becomes unaware where the content is coming from yeah it doesn't just means that you can do component by component migration without making any code changes it becomes kind of content remapping exercise um and what's fun about it is the last five years we've been doing this we actually helped a couple of cycle customers extend the lifetime of their investment so they're they were looking at multiple options um by by handling this sort of front-end modernization and composibility it kind of diffuses the situation in a lot of ways it becomes less coupled and you you can you can extend the lifetime of what you've invested over the past decade and we're all about that it's this is how you do this in a sustainable way and we have a ton of information right you can go to our website or just go to our YouTube channel and you'll see because we just set the words uniform mesh if you want to know what that is how it all works you can just go to our Channel and then watch the videos I probably I just look back and I think I made like 92 videos about all that stuff and so um we still have a whole bunch of people watching which is excellent we love that why don't we do a little experiment do people have questions you want to maybe put that in the chat right now while we're still here because if you're still here after an hour it you're probably interested otherwise why look at our two faces right so is there anything you want to ask or maybe you don't agree which is totally fine because we are not claiming to be all knowing about all these systems right because I know there's like a Adobe hybrid CMS and they do all these amazing things maybe we've missed something if there's anything feel free to add a boxer must maybe a use case yeah exactly right and it's sort of uh it's built from sort of collective memory sometimes painful but maybe there's a couple of boxes we missed we'd love to add them to to the Chart it will make exactly impressive um while we wait for that um we do have this which is interesting so we have a composable CMS evaluation guide that we brought out a while back and so Mark Damini and I and we've been doing live streams about how to actually okay so you have your old system you want to go to a new one or you are already in a modern composable system but you somehow want to change something out but you don't know how to do that so we've built you or written an evaluation guide and we're doing two streams a week now where we talk about subjects and go in depth there so while you wait here and while we might get some comments or not um feel free to have a look at that because that's actually a pretty interesting thing also and um because we go super deep into okay what does content modeling mean or like um tomorrow we have a live stream about okay so you haven't had the CMS what do you have to pay attention for for its SDK like what does that matter and how does that compare like do I still need that SDK if I choose uniform for example and so there's lots of stuff this is interesting about is is is cool um anyways we don't seem to be getting the comments however you see the people still watching um Alex is there a little anecdote you wanted to share or we call it a day I think it's a wrap I think it is there's been plenty of content hopefully this was useful but yeah please do let us know if the depth was okay we need to go deeper we can adjusts these live streams in mid-flight if we wanted to oh totally thank you so much for joining spending your precious Thursday probably Day evening afternoon so we appreciate that cheers everyone um see you next time bye-bye