 People here that's good Okay, so let's get started so um, yeah, perfect. So welcome Today's session will be about the communication service with the open stack and my name is Alex Melik. I'm work for interactive intelligence and Our company is based out of Indianapolis we do provide unified communications collaborations and Customer engagement solutions to our customers. We deliver them in two main Modes so we sell and product which customer install on their premises and we run cloud Offering which we call communication as a service so We the company is three twenty years old it been one of the leaders in this market and has six thousand plus customers around the globe but we We run our services in multiple geographies we basically have data centers around the world We do cloud delivery Today we run Our cloud offering that been in business for it been offered for four years Now and it runs perfectly. It's Does very good job. We have a lot of satisfied customers The main reason why we start looking at the new platform It was that our customers surprised us with the uptake of the cloud offering Originally, it was started as everyone Tried to do the cloud give the toe in the water and see what will happen We did the same four years ago and suddenly the uptake was so huge that we Have really hard time keep up with the demand and on board customers fast enough so the one more important piece to mention here is that The services which will offer from the cloud. They are based on the real-time communications. So our requirements for the the platform which underpins our offering is Potentially a bit different than many other Customers of the open stack have so we really have strong depends on network That's one of the key requirements Which we have that network needs to be flawless if you have web Application you can miss a packet tcp retrieval send it again life will be good everything will be working still with Real-time communications if you miss a packet for the phone conversations You get that there you get unsatisfied customers and that's One of the From our perspective, that's one of the outages on our platform. So we need to make sure that platform works flawlessly the other important differentiator for us is compared to many other People who are presenting this conference is that for us Offering the platform itself is not the end product. We don't offer platform to Internal groups or to the customers. We don't really sell virtual machines. We don't read them what we sell is the our Communications the service so the platform is hidden From our customers customers don't really get visibility into what we run What is important is that it runs and it stays up and the delivery of the Interactions is happening flawlessly, so so when we start looking at the new platform to Accelerate our Delivery we basically had three main goals in mind We need to reduce time to market. So we need to deliver faster sign up new customer deliver faster we need to increase stability and stability was high and But we definitely cannot go below what was there. We need to do better with new platform And of course reduce cost every management Every executive will tell you that you're not putting anything in until you're telling them that you will reduce the cost one way or the other So focus areas for us was number one, of course is stability Even though the executives saying well the cost is important The first thing which they keep in mind is stability platform goes down. It's cheaper But it goes down. It's not gonna work. So you The stability is was number one requirement for us Security is very big in our business. We offer products for the call centers We have financial institutions. We have health care companies as our customers and they have very strict requirements on Securing the information which they provide to us so for example as a Financial institution a lot of them they take credit cards over the phone. They need to make sure that that information doesn't leak out ever Same for the health care. They have HIPAA requirements which Secures the information For their customers as well as their employees Scalability is important. We've seen that growth could be Explosive we need to make sure that we can scale and continue on building the platform and increase the size and scalability Agility is the area where And we coming from the lessons which we learn is that whatever you put in place is not your It pretty much never your final product as soon as you get done with something You will find out that you need to change it you get new business requirements. You get new set of customers So you for example, you build the offering thinking that only small customers will come and start using your service And the next thing you find out that you've got humongous customer and Requirements from them is very different than used to be from the small one. So you need to adjust you need to Have a platform which allows to do that Flexibility that's another area we we offer a lot of options to our customers for example from connectivity perspective They can connect to us through internet. They connect through VPN and PLS So all those connectivity options is important as well as we want to have a flexibility when we Decide to make the next move or improve our platform if for example, we Have to adjust or add new products or adjust the currently deployed products. We have that flexibility as well Then and the cost of course, that's that's the area of focus So the partners which we selected for our platform was the plum grid providing the SDN basically fueling the The platform we have piston cloud as an open source or open stack distribution and we run cumulus as a operating system for the switches So I will talk about each area a little bit more details give you more visibility into what What we have done how we address particular Area of the focus so with stability the one of the major thing we wanted to Achieve or to get to to get to the stability the one of them area. We want to address was that In and when we learn is a hard way if you have a platform which requires human touch humans tend to make errors Intentionally or unintentionally doesn't really matter. They make errors platform get affected you have Outage big or small it's reduce your SLA and your customers are really starting to questioning your stability of the platform overall and how you operate in it The other area which is affects the stability of course is that with open stack and SDN Underneath you actually get the great opportunity to deploy or to implement the continuous integration typically it's very challenging to do in your standard enterprise deployment model whether you have a Lot of hardware resources. Let's say if you do support the hardware networking Which you need to duplicate production in your development environment in a lot of cases is just impossible from the cost perspective as you run very big Equipment in a production if you do the Miniature scale in the development typically doesn't give you the same look and feel and you cannot really test the same way as the production so with the with the This new platform what we were able to achieve. We basically have three different types of Of the environments we have development environment stage environment and the production environment They all build exactly the same way the only difference is the number of compute nodes How many compute resources you put on it? So you really can test in a development and stage what you will be putting in production one for one and The last point is important is that with this platform We also get the opportunity to really draw the line between the physical implementation and the virtual implementation So whatever implementation we have for our application in the virtual world it can change and can be morphed and it's Pretty much not dependent on what we have done in a physical layer So for so this is what we deploying we basically have the our Internal world physical world where we have the compute nodes directors for the plumb grid and gateways and Internal network that environment basically built once and it doesn't change until you deploy additional nodes wherever External connectivity coming in we pushed it to the side. We keep it on a edge network That network get modified change, etc. But those changes really not trickle down into this platform environment so that gives us a lot of The gives us ability is to solidify the platform physical layout Test it work out all the bugs and since we don't have to change it. It's pretty much run steady and stable for a long time and Does the thing which will learn the hard way also is that open stack and SDN so they it's a software applications They run very well if you underline infrastructure runs well Soon something happens in underline infrastructure start affecting the higher layers in a very Unpredictable manner, so sometimes it's easy to figure out what happening sometimes you see side effects and takes long time to come to the Resolution where that actual problem is So by basically separating external world from the internal world Helps to solidify the platform The other area of focus the next area of focus is security. We have a lot. We have big security team who do look after us in So support in our certification. We have PCI certification. We have HIPAA certification They're making sure that whatever we do with the new platform. We don't break the model so They have a lot of interesting requirements some of them we agree with Some of them we don't agree with but in the end we have to implement them Doesn't matter what we think about them. So the some of the Areas which we being push hard on From the security is the tenant isolation every tenant has its own data and that there should be no leakage of the data between the tenants that's address pre well with combination of Projects in the open stack and virtual domains in the Plumgrid product. So we feel Pretty comfortable with that implementation than the other two is encryption at rest and encryption of data at rest and encryption of data in transit so You know with piston Cloud open stack distribution they do encryption at rest by default Plumgrid is working on the encryption transit So those two areas will be covered nicely. The other interesting part is the DMZ requirement that comes from the interpretation of the PCI requirements that you have to have DMZ and The access rules are not enough So what we were able to do was the flexibility which Plumgrid provides to us as we actually build the DMZ as As a project in the open stack and we build the tenant the project and then link them together That linkage isn't visible from the open stack, but Still all the security access rule security policies applicable to That interface because that was a managed by Plumgrid and they do a very good job of securing those both hands and In our environment basically have one DMZ which links to multiple tenant virtual domains or projects From the scalability perspective Our approach was since we know we will scale up. There is no way around that We will be moving more and more customers from existing platform to the new platform and we see Still significant demand of the customers car wanting to get on our service So whatever building blocks we put in in place. We maximizing them up front so we basically ordered the biggest and Most stuffed up with the gear quanta servers We also Basically our approach was is build our environments as a pods so we have a two racks set up with servers in them maximized and when we need to Expand we just add two more acts we do the pots it was two racks primarily to achieve the High availability and redundancy we have top of the rack switches and both and they we wire every server to both sites and then on top we do just Pretty much same model as Marcel was mentioned for the Swiss come as we do a leaf and spine Network architecture and we do the layer 3 network on top and the last point sir is that Leveraging NFV is is very important. We When we address some of the requirements with the virtual machines, but anytime when our vendors come up with the new Implementation we leverage them and we trying to push as much of the networking related capabilities into the platform layer and remove the VMs from there so from the agility perspective so we have the platform which what we see in our existing Cloud environment it's continuously changing the world the way how we are addressing some of those requirements We have to build parallel environments every time so we want to break that model into into in the new platform and we basically Looking at and When we chose the plurium we looked at the ability for us to control that transformation of the environment So for example, we get a new requirement. We we develop the past How we will evolve existing customers to the new one testing the development environment script all the necessary transformations put it in a stage validate again and push it to production so That's also will give us ability to add functionality bringing your applications on the platform From flexibility, of course, we want no vendor lock-in and as much as possible and What that means to us is really we we just want to have the flexibility that if things are changing significantly and the past we're on diverse from the past where the vendor wants to stay on we have the flexibility to switch the Switch the provider Go with another for example the From open stack perspective the benefit which you got was open stack There is multiple distribution distributions and you can switch between them But at the same time you don't lose any Automation work which you done for the previous platform because it's maintains the same APIs All the interfaces stay the same the fact that you changed The distribution doesn't really affect them dramatically and of course that means that Pretty much every product which you select needs to have solid API. So you develop the automation scripts to the API. So you don't do any proprietary non-standard ways of doing things so the other flexibility which is important is You have vendors in Open stack community which offer you different Support models so you can go from some of the companies who offer you a product or you can all the way to the companies hover services only and You have flexibility to choose between them our approach in this scenario is we went with companies who offer products because we develop the products that mentality is easy for us to work with but if You know the flexibility is there if we need help or we want to switch the gears and go within different model we can So what's the results we got? So far is yes, we increased speed to mark now the deployment of new customer increased significantly We also were able to adapt the continuous integration model which helps us with stability which helps us with With more controlled way of rolling out new functionality Which I mean in it The one part which I'm not mentioning there that there is cultural change Of course in the company when you do something like that that's still going on that's we still working through it It's it's definitely a challenge, but at least we have the tools in place Which we hope we can show the real results and show the benefits from them and The last point which might seems Small, but it's actually very significant when you run big cloud offering and you deliver in your application What we have seen is that when you start When you enter the cloud offering you build You build the infrastructure to support the application and It's all good for the first wave and over time The infrastructure which you build becomes limiting factor for your application So you want to more of the application you start trying to situation where you have to rebuild infrastructure significantly Therefore you start forcing your application to adopt the infrastructure you have and that's That's quite a challenging situation to be in this market demand quicker change and If you cannot adapt to that you Get more and more pushback from the customers Every customer expect when they hear the word cloud they expect There's some kind of magic which morphs automatically You ask for anything and it's get delivered next day So it's all kind of the all the expectations are there. So you just need to build a platform which support that so what was the challenges which we ran into the first challenge Which took a little bit of time for us To work through is that there's too many options. So There's a lot of projects in the open stack. They all look great. It's all shiny stars you try to jump on all of them and that's I mean, it's it's good to do that, but it typically if you start chasing them all you will Limit your time to deliver the real results. So So we had to limit the functionality which we were getting from the open stack to what we need now Understanding that if we need to add more over time, we have the capability to do that so instead of trying to Try out every possible option and see how we can tie them all together We decided to shrink the scope and implement what absolutely necessary for this phase and then be prepared to add on or evolve over time so The other point is that network requirements which we had it They exceeded the ones which were offered through the neutrons. So We had to integrate for some of the functionality We had to integrate with the plum grid directly using their APIs directly. So we built our own orchestration layer which Orchestrates the creation of the environment where you have most of the activities performed in the open in the open stack and some of them being Supplemented by the changes made in a in a plum grid directly and And that those requirements for example, we have since we do the telephony applications they very intolerable to any kind of nets in the past So anytime you spin up the network which has a net in it You will not get very good results. So you will get no results So that that that forces us to build the environment may be slightly different than what overall thinking in the open stack community is how network needs to be layout, but again, that's that's our application we need to put that in place and the very important point on stability of the environments yes, it takes time and It takes a lot of energies what we were fortunate with is that the vendors who were working with they willing to partner with us and that's very important because coming from one Implementation environment to the other Sometimes you're trying to just replicate what you used to have in that environment and as the end result you go against the philosophy of the new one and That only creates problems when you do it that way. So when you have the vendors who are Partners, they will listen to your requirements and they will suggest the appropriate Implementations and that might change your requirements as well or how you approach the new design So that collaboration is extremely important and for us, we're very we were very fortunate that we got those partners and we work very closely with them, so And a few lessons which Learn and we want to pass on is that number one is just don't try to boil the ocean Focus on what's important at this stage Because what we also learn is that you pretty much never will build the end product up front You will whatever you will build will be absolute as soon as you're done building so you you don't try to build a humongous castle and Hoping that you will put people in it start with small house and then build it up as you get more people coming in Which also very interesting Discovery was is that when you go from standard enterprise Delivery model into the open stack delivery model or with the open stack you're basically shifting from kind of standard IT methodology to more development methodology and that's where you can look at that like the agile development Which say it's that do or implement requirements you have in front of you now Don't try to build for something which you're dreaming up So do it now environment will support you to add on to it over time rather than build Build the end product and hoping that that will stay forever So Very important point which I mentioned is that if you can find the vendors which willing to partner with you that will be very beneficial, that's that will make life significantly simpler Finding all those roads on your own. It can be a very lengthy pass and The last of course is when you build the environment you happy with it There's the time when you need to start working on the next one or the next iteration of your environment because whatever you build will not be Final product anyway, so and with that if you have any questions No questions I cover it well. Yes Thank you very much. I appreciate your time