 Hi Okay, let's start I'm going to talk about this Who use WordPress here Any WordPress users? Okay, not much. Okay, so what do you do like your engineers or Publishers company owners What do you say? Oh Okay, okay, okay, so I'm a WordPress developer So we are we are digital Q That guy with the hat is the CEO, and I'm evangelist there Okay, so we are half a WordPress professional. We have like 10 years of experience Experience so we contribute to that one press project we've done that 10 years and the rest half is Like Amazon Web Services people so we offer like hosting WordPress website on Amazon platform and then So our service is like managed hosting or we deliver AMIs or cloud formation through Amazon marketplace so our strong point is like we know both WordPress and AWS so and today's my talk will be Our like sharing our knowledge and a bit of like conceptual thing Okay, so this is me Shin Ichi Nishikawa It's a bit long. So people call me Shin and I Used to live in Bangkok for two and a half years and Now I moved to a island in Japan like I went back to Japan and this is called Ogi Jima Ogi Island There are 150 people And Yeah, and I moved here with my wife and two kids kids are going to school the first The elder girl is seven years old and grade one and that school has four students so Nishikawa my name my Family name is Nishikawa so Nishikawa girl and the other three are Yamashita kids I mean Yamashita family kids Yeah, and we have elementary junior high school. There are also four and teachers are 15 Okay So this is my daughter like fixing the house and we are now like cleaning and then renovating the house Yeah, so this is my life and this life like my life is like totally like Backed up by like one press open source software and its community. So I work as a Developer and I also contribute back to the one press project as translator or Theme reviewer theme is a like a one press template like a view layer and then I Organize events like this. So this is one press meet up in Bangkok So when I moved there, there was no like meetups So I started once and then and now they're like Continuing and we are going to have a bigger like Event which is called World Camp Maybe early next year Okay, and now This is on like on the island. So we are It's me and it's my wife and she's the owner of this Library Oggi Library. It's a private Library, so they they asked to the government local government. Okay open a new school open a new junior high school and Open our Nazaree school and they said, okay Yes, yes, yes, and they invested a lot and then they said like She asked to the government. Okay. One more maybe library and then they said no and she built it so she crowdfunded Money a little bit of money and she she collected people to help her and I went there. So that's the starting point. I moved to this So this is like small one press meter So three of us are from like a living on this island and three others are coming from the mainland Yeah, so this was a World Camp One press conference in Tokyo 2012 and it was these are the organizers so and volunteer group so it was 1,400 people who came to them to the event so that's how I Work with the world press. Okay, so Yeah, so this is the topic Hi traffic websites spiky access like suddenly you get a lot of boxes and world press so world press It's really great. Like it's it's mission is democratization of Publishing so he let people like publish whatever they want to say if they have like domain name and their server and Something and world press then they can say whatever they want So it's a great tool Maybe like if you get like ten access at the really same time Then it's really tough. So what happens if you have like millions of access? So that's the thing we handle Okay, and of course, there are a lot of things you can do like a caching or like optimization using CDNs or like a configuration inside the server or inside maybe world press and there are Plugins plugins. Do you know what world-class? Plugins are like it's the ads functionality. There are like a caching plugins and stuff like that, but Today I want to focus on like outside of WordPress so to use like more AWS stuff so WordPress weak points So one press is not good at these things searching It can search you can search but it's slow and salty or related posts or Related products or maybe recommendation like you you have And they're like Amazon.com like shopping. Yeah, sorry And then logging lots of data such as access log or security log. You shouldn't do this Inside WordPress. There are plug-ins to do this, but you shouldn't and backing up itself So this is how a model which described How usual WordPress plug-in work So you have a one press core and you have like plugins and plugins they Hook into there. There's a hook API. So you will press loads and it runs a code and Like there are a lot of points you can hook into So It's going to be one big process So if something fails like maybe like PHP they tell error then like everything is gone like it's white screen so this is how WordPress work and plugins work and This is like simple and it's good So you cannot decouple like if The thing this plug-in does is really like heavy like it the process is heavy Then that's all like whole website is going to be slow So this is the off-loading model so you have The functions or the jobs that are done outside of the world press or outside of the server then you connect them through API and because WordPress itself the WordPress core itself doesn't have that Like a point to Like you cannot This one should should be like as it is you cannot edit these files. So you are plugins but plugins here They are connector plugins. So you just communicate It connects one press core and micro services like outer services. So like handling Data through like communicating through API Yeah And then maybe this is a like search something. This is ranking something This is like maybe CDN and then one press Will be like simpler as it is you don't add like heavy processes so for example This is a plug-in page. It's a it's called Akismet So Akismet is a So like it tells you if a comment is a spam or not but the idea is So everyone has Akismet plug-in inside There one press it up and then You send data to Akismet server with IP address and I got a lot of things And then and the comment itself and the name and email address and stuff and then Akismet server collect them from all over the world and then They analyze them or like people sending out. Okay. This is a spam comment Then it's marked at spam and it's going to be shared and you get the feedback from the software so This idea is not that new because this plug-ins is I think Ten years old something. Yeah, it's been there. I've always So you need to you need to pay to use this you can use it for free, too But yeah, so this this idea itself is not so new and other examples are security plugins So it checks if the files are not changed or It does really a lot of things but the core feature is Blocking the the back access like a firewall. So that one should happen outside of one press or outside of the server Then again the plug-in the security plug-ins are acting as a connector plug So how to do that? So our off-loading ranking or popular posts. So you we want to show Like top three like most you post like this So top three most viewed posts within seven days in a category JavaScript Under slash E and slash So if we want to achieve this only inside one press then Basically, we need to log all the access all like a timestamp and false ID and stuff like that right and then it means Every access will add one row to your database So what happens you you get like millions of access a day. So it doesn't work So who should do this It's Google Analytics So this is a connector plug-in again simple GA ranking and so This is PHP you you have like these arguments like we want to show three posts and Seven days post type is post category in JavaScript and filter like you can this is like Google Analytics API something so and You get the data and you save it or you cash it Temporarily in WordPress and then you can just like loop it and show the result So this is the basic idea how these connector plug-ins work and Search related posts So like cases are like this So we we want to look up the content user is reading now and we want to do that like full text search or like related posts or We want to look up look up to the look into the category names or meta data for example like I Yeah, and then we don't need to have the perfectly matched words like misspelled one we want to look forward and then Other cases like rate the post with frequency rate of the related was appearance so the default one press search is like you find the words and then Like it's listed. They don't care about the order. So we want to rate or Search products by price range. So from five dollars ten dollars and If we want to do this one like price range search within WordPress, it's really slow because It's saved in so each post have like one row in post table and then You need to join another one like post meta table and he has the I post ID and You need to you need to join and look at all the products and you need to sort and This is the post meta table is not the values are not indexed. So it's really slow and Yeah, so for this Elastic search say elastic searches, do you know what elastic? So okay, it's a It's a search server or service here Which is really good at like full text or like fuzzy matching or assaulting or stuff like that So when a post it added or product it added You save the data into your MySQL database and you send the data through API to elastic search server they save the data and We can pull through RESTful API and They are applying for that elastic press or elastic commerce related items Search form and simple one and we have a demo here So this is a demo website These are the products and he has like price or rates in its metadata and Here's our we can We can sort by popularity or newness or price And if we go here Then yeah, it's going to be shown this quick This is because we are not asking WordPress to do this We just send the data like the Send what we want and they give us back and then we render them. Yeah, so caching Cache and CDN we found that the easiest caching is on CDN before. Yeah So and this one is C3 cloud front cache controller It's a This one like lets you like delete or like a flash the cache on the CDN from inside WordPress Admin page like you you want to delete everything then you click then it access to the c3 I mean cloud front and They they will be passed and also like when you update a post or you add a post then it will Delete caches like which which needs to be deleted Yeah, and backups and storage and more Okay, so Until here like we we saw like how to offload things like searching or But so this one is our basic setup so we Put out the database out there and then they are going to be like Backed up all the time and then media is our on F3. So we have the plug-in for this too and They are cached here and Before we are we were caching inside our yeah, this is easy to inside our easy to suffer like engine next proxy caching and it was really quick, but after the Cloud front came out like it's a lot easier and it's cheaper It's cheaper to serve from there than serving from the easy to directly so and We add to the one press like a simple GA ranking or elastic search service and then WordPress gets a lot like simpler and simpler and We want to maybe we need to change the view like how we understand the WordPress and other services. So this was the The model we saw the better one not the monolithic one and We have our one press in the central like like a hub and you have to connect the plugins through the API you Communicate with other microservices Yeah, now it's like a one-press is a hub in that model. So building microservices So microservices, what's microservices? It's like system of multiple components They are and the components they are working Like in Tibet independently to like they can work like standalone and They are loosely coupled through restful API. So that's the the idea then Yeah, this one look like microservices, but if we go forward more then The model maybe should be like this like these are components So maybe elastic search something else and you have WordPress as one of the like members So I did this talk to yesterday at the World Camp Singapore But I didn't like speak out in this one very loud Goes like one one press is just one of like components But the world or won't press itself is moving toward this way One of the biggest news These like one two years is one press has its own like restful API like WP rest API It means like you can ask any world press To give me the data like you can say that would be API slash post One it's an ID then it will give you back the idea the content the post ID one content and then you can Put the content you can delete you can update content through the HTTP API like requests that means like One press is not the central or the hub It's going to be a microservice Right like you can you can call WordPress from outside and you get the data Maybe you can just save a data here and then you use it like from somewhere else Then one press is not anymore or like central thing so that was how we do and from here I'm going to talk about like what we do what we really do So this is a Mimoto AMI AMI Amazon Machine Images. We sell that but Also, we are open source people so we sell AMIs and we sell Cloud formation, but they are all open sourced and we we serve We host Matsuda website or Japan Times website They are really like high-traffic website and we host on Amazon We have a lot of the experience and we we have a bit of like failures to like this When this happens this fails like this then we need to change the setting like this and we have open sourced everything Yeah, so you can See this Amimoto IO If you are interested in a project then you can go here Yeah, for example Yeah, so this is the AMIs like yeah We use them when when we like a boot so they are the settings and they are over cold and and You can use them like from now And so this is the open source project. We have more tools So please go here and look at our like tools and products so the user name or organization name is a Mimoto AMI but our product we which we sell is These we sell We have we sell the AMIs through marketplace Amazon marketplace So we have several products like products for WooCommerce or like different like PHP versions and if we choose this one Then you go to this screen then you can you choose the region and Yeah, two more clicks then you will boot then you can use them and also The cloud formation the formation version like you have not only the EC2 like all DS and a 3 and Yeah cloud from then Yeah from From here you can boot or maybe from here you can also boot Yeah So these are our products and if you want to know more about the products and how to Set up yourself then on speaker deck if you search for a Mimoto then You will find all the instructions. So you it's like really step-by-step First you log in you click this button You get this ID and credential and you put this here and you click then It's done. Yeah that kind of like Resources And also we do the Managed hosting to people if you have developers inside your company, then you want to do that this yourself but This is for like those like they don't want to care about the infrastructure They they want to do their job inside at the WordPress only. Yeah, then we can host them to Yeah And this topic was like from monolithic WordPress to serverless WordPress. We are preparing for Service like more easy service not not managed one, but more serverless style WordPress service I think I cannot like release it now but I want you to like a look at our like Twitter account or Yeah, our social movement. We are like really excited about like using AWS to make one person a lot easier to for like high traffic websites or agencies And that was my talk Thank you. So you have any questions or Something you want to talk Ah Okay, so like we all Examples this is all for our money Yeah, yeah, we manage them like managed hosting service It's hosted on Tokyo region, but yeah, CDN, yeah, it's really close Five 50 million 50 million So if this is like very static and cashed on CDN I think you don't need to do anything because like no one comes to your side Like it's it's going to be delivered from the CDN. We cash everything including the HTML Which means like WordPress is like WordPress generate a page only one time and then after that it's cashed on the CDN and People are watching this content delivered from the CDN. So no one is coming to your server or WordPress It's same same. Yeah Yeah, I come on is a CDN service. Yeah Yeah This is Yeah, really close to this one. Okay, we have multiple data. And like triple or like, yeah, they scale automatically. And then we have two, multiple. But basically this is, okay. While creating website, there are some sort of options which are being given, while initially setting up the website. Options are coming in. So are they coming from AMI or that is the kind of portal that you... What do you mean like options? Like when you are creating websites? Yes, initially when I open the WordPress and I want to close the website there, it provides me some of the panels that I need to select while setting up my own website. I do have a domain, I want to create a domain where I can create a free, you know, free HTML page or some sort of those things there initially. Are those coming from this AMI portal or that is completely different things that I'm trying to mix together? So this is the hosting architecture. So the content or design or the program which run on this, you need to make yourself, right? That was another good... It is simply going to be easy to instance that we are going to post here in right now. Is it something like that? Yeah, like that. We have two. Like one is like single AMI. Like you can host on Amazon yourself. That's only this one. And it has database inside, like MySQL server. But this setup is like in here, you have PHP and WordPress and web server. That's like the basic. It's a ready made template. Yeah, yeah. What did it say? It's a template. Template, yeah, yeah. This whole setup is a template and you can launch this with a few clicks. So it means the kind of version that I was explaining while creating a website there, it is simply a web page. It has nothing to do with this AMI than in that case. Is that correct? I think I'm not getting it. When we create a website... Yeah, so you design, you talk to your clients or you think, and then you do the HTML and WordPress. Yes. So that's a different concept than this. Is that correct? Yeah, WordPress is inside this EC2 web server, right? Yeah, WordPress is running inside here. Okay. Yeah, yeah, yeah. Oh, sorry. Apology, I missed the session. When you say that your platform... Yeah. It goes into more than just the English version. You have the Japanese version, so it came simultaneously, automatically, or it doesn't... Do you mean the WordPress or this platform? All the clients are together with this AMI. Yeah, so... So, www.amazon.com page itself is like multi-lingual. Yeah. So, yeah, people can buy in their languages, because it makes sense. And WordPress also, like, it's multi-lingual platform. So, yeah, for example here, you can choose languages from English, Spanish, French, yeah. But, too often you find in the Japanese contact, because the Japanese website do not have the English capability. Most of it. Yeah, true. And so, does Q promote the kind of multi-platform? Does it, you know, it's easy to deploy your system? But most of it, for example, in Japanese, in Korean, and also in Chinese, most of it in vernacular. So, when you go for translation with Google translation, it doesn't have a translation. No. So, does Q have that capability of bridging the problem? Yeah, when we do that as, like, agencies, then we do that inside WordPress. So, WordPress is, like, internationalized. So, it has, like, more than 100 languages. Like, it's available in the languages. But it's only for the system. For contents, you need to translate them yourself. And there are plugins for that, and they are quite good. So, it connects. Okay, so you have this family page, which describes about, like, we had an event today in Singapore about AWS, and it's written in English. Then, you have, like, a language switcher button. Then, if you click that, the Japanese version, you don't want to go to the top page, like, home page. You want to go to the, like, yeah. So, yeah, that kind of thing can be done inside WordPress. So, and, yeah, it works very well. Like, it's just hosting the system. So, yeah. Yes. Maybe a bit, too. So, just wondering how you handle dynamic content. Ah, yeah, really good question. So, for example, like, e-commerce websites. So, people log in, or they add to cart, like that. Then, you cannot, basically, you cannot use this, right? Like, if you cache everything, like, then, yeah. So, before, basically, like, we remove this. But before that, like, we can do some sort of settings. For example, even with this setting, the admin pages are not cached, right? Or, like, when you have comments, like, a comment, then you don't want to cache, like, people's email address. Or, there are a few more things, like, a scheduled post. Like, you can set inside WordPress, okay, this post. I've written this, and I'm gonna sleep. But it must be published, like, eight o'clock in the morning. That kind of things need to work. So, inside WordPress plugin and some settings, we handle that. So, maybe you can, one is, maybe you can do something about, like, e-commerce. But, basically, we take this off, and make this bigger. And then, like, old scale. And also, we want to offload, like, outsource, like, heavy processes. Like, searching, or maybe storing orders. We haven't done this yet. But, yeah, that kind of stuff, like, needs to be really outside of WordPress. WordPress is really good at managing content inside your admin page. And the view, like, the theme structure is good. And you can add many functionality through plugins. So, it's really good, but it's not for e-commerce website, like, by nature. So, this kind of thing. But, for example, this one works with WooCommerce. WooCommerce is a WordPress plugin, which serves, like, 16% of the e-commerce website in the world. So, it has also, like, add-ons, or extensions, like, plugins of plugins. So, we want to use that, but we cannot do everything there. Yeah. What do you have in the sessions with load balancing sessions? Ah, load balancing session information, what do you have? What do you have in the session information? For example, the user who's logged in. But, there's only one user. There are two or three users. Ah, the user who's logged in. Ah, the user who's logged in. Ah, ah, ah. Okay, it syncs automatically. So, even this will be like... But, this one will handle. Yeah, thank you. So, of course, we are... For writing Microsoft, we are getting more and more into... Hmm, hmm, hmm. Here is what you guys are using. In this setup, we don't use. But, inside our new service, like, we are calculating many things. So, it's like for... In the business, we use Lambda. In Lambda... Yeah, we don't use that in this setup. Yeah, other services we use a lot. So, what are the things that you guys use in writing your Microsoft services? You mean, ah, Microsoft, what do you guys do when you guys write? What do you guys do? So, we are building a SaaS service. And inside that, we are using Lambda and Dynamo TVs. Yeah, this does this and it saves this. And this will pull the data and do this calculation and something will happen. Yeah. You are looking at GSP, okay? How does that slide out? Do you mean to say that there's a particular shortcoming of incubability? You are not going to overcome it or living it in depth or the next project is going to be overcoming to that the interoperability seems to be more dynamic. Are you going to say that, no, that part because we don't interlink, we don't interplay, or we'll leave it in then. Are you going to say that, look, we're going to overcome that or we intend to overcome that? You mean the dynamic stuff? Yes. No, it's kind of opposite. Yeah, like e-commerce websites are really like a suburb, suburb full. Could you say that? Yeah, it's really, yeah. The product we are creating now is not that kind of thing. Not including that. Do you also include the interoperability with the multi-giddy payment system? No, it's not about e-commerce websites. Yeah, it's for more like easy users to be able to... When you talk about elastic commas, so what is the definition of elastic commas then? Ah, okay. So the whole thing was like, we don't want to... So this is the old style. Like WordPress is there and plug-in, they work like together. Yeah. But we want to do like this. You connect other services through like connector plug-ins, and then like this one does what it's good at, like WordPress does the management and like view and stuff. And then other things will be done outside. Not on the basis of the multi-team that WordPress works on. WordPress goes on multi-team that you have what kind of team, T-H-E-M-E. Does you work on that order or you just came up with your own? This is the basis of the platform. What do you mean? Like a team? Yeah, because WordPress is very much on the team. They have the team system. And then you know they have the... You mean team or team? Team, T-H-E-M-E. T-H-E-M-E. Yeah, yeah, you have the team. Yeah, they have that umbrella. The question is yours is inside umbrella or outside umbrella? Oh yeah, it's kind of outside. You have WordPress? So themes are basically they are like templates, right? So it doesn't matter what theme you're using. So plug-ins are like functions. So these needs to work. Like these work with any themes. That's the basic concept thing. Sometimes there are something in that, doesn't it? Yeah, because WordPress very much is a cell system that multicellular. Your cell is one of the cells within the nucleus. So I don't know. I assume that when you are outside, that means it is a different planet altogether. Yeah, I understand. Yeah, we'll discuss more later. Maybe that's all for me. Yeah, let's talk.