 Okay, let's get started. First of all, thank you all for your interest in my talk. I hope you have been enjoying so far your week at the OpenStack Summit here at Boston. So today I'm talking about my experience working with an OpenStack startup called Ormucco. So let me start with some presentation. My name is Jules Facouri. I'm currently part of the engineering team at Ormucco since April 2014. It's been three years now. Before Ormucco, I worked for Ericsson in Canada and I received my engineering degree from McGill University in Montreal. Ormucco is a cloud-based service provider. We offer public, private, and hybrid cloud solutions based on OpenStack. We started initially as a telecommunication provider in 2008 delivering traditional IT services. Currently, we are an HP Helion network member with offices in Montreal, London, and Seattle. I was quite lucky at Ormucco to work in different aspects with OpenStack. I worked in technical support. I worked in research and development and even contributed to the business side. I hope to share with you today my own experience navigating with the OpenStack community and the challenges we faced both personally and as a company. My talk will be divided into three main sections. First, I will be talking about the first step I took to get started with OpenStack and highlighting the challenges I faced my first year at Ormucco. Second, I will give you insight into my experience working with system administrators and software developers highlighting the lessons I have learned from this experience. And finally, I will shed the light on the business use case of OpenStack and talk about my own experience navigating in the business world. So at the end of the talk, all of you, whether you are an engineer or a manager, will leave the room with a good understanding of a typical career path with OpenStack, what you can expect, and how to prepare. So getting started with OpenStack can be quite challenging and daunting. OpenStack is a big and complex project. It's important to know how to take the right steps to be as effective and possible in your learning process. Let's quickly review what is OpenStack. So it's a software to do cloud computing. It provides a platform to consume compute, networking, and storage resources. Those resources could be deployed either in a public cloud or in a private cloud for a single organization use. OpenStack is a collection of open source projects. You have different projects servicing different needs. The code is written in Python and there's a large community of operators, developers contributing to OpenStack and developing new features. OpenStack started in 2010 as a joint project between Rackspace and NASA. It works as on a six-month release cycle. Over the last several years, we had 15 distributions so far, the latest one being Ocata and the upcoming one being Pyke. The project is managed by the OpenStack Foundation and hundreds of companies have recognized its potential and joined the OpenStack project. So let's suppose you are a new engineer at your company tasked at working with OpenStack or maybe you are a manager interested in the potential benefits OpenStack can bring to your organization or your customers. How do you get started working with and learning OpenStack? The first step I would recommend you to do is to try OpenStack. Go on the major public cloud provider in the market based on OpenStack and just create a test account, register with them and see which cloud works best, compare the features and experiment with OpenStack. After you try OpenStack, I would recommend you to start learning the technical concept. You can attend a summit meeting here is a great opportunity to discover OpenStack from different perspective. You can watch past summit videos, read user stories or get technical books on the subjects. Once you learn and master the technical concept, you can start deploying OpenStack on your own. I would recommend to take the latest release, take a distribution of your choice. You can install OpenStack on Ubuntu or Red Hat Linux and follow the official installation guide step-by-step. I will give more detail later on on how to use the documentation of OpenStack. So I've highlighted here my initial project working with OpenStack in my first year at Tomuco. I've done a competitive analysis of major public cloud provider on the market. I built my own test server, my first year at Tomuco and I've used that test server to work on several technical projects. For example, I installed Red Hat OpenStack using Backstack on a single node. I learned Ceph and I installed a Ceph cluster on virtual machines and I followed the official installation guide to do a complete installation of OpenStack services on CentOS virtual machines. Working on those initial projects in my first year at Tomuco really allowed me to experiment with and practice with what I have read and learned about OpenStack. I highly recommend, if you're just starting with OpenStack, to set up your own test server. This will keep you and push you to constantly innovate and develop your technical skills. So I highly recommend to set up your test server early on in your learning process. Navigating through the documentation can be quite challenging. The official website of OpenStack contains tons of information information for developers, for operators and so on. I've highlighted the three sets of documentation I found quite useful in my first year. The first one are the installation tutorials. As I mentioned before, those are the step-by-step commands to install and configure all the OpenStack services. You also have the user guide. Those are the commands that interact with OpenStack from your CLI, specifically useful for system administrators. What I did myself to learn them, I kept a cheat sheet of the most useful command. For example, for Nova, you have the command to create a server. For Keystone, you have the command to list users and so on. And finally, you have the API guides, mainly used by software developers. Those will provide the list of APIs for each OpenStack service. You can use them to automate actions such as creating hundreds of servers with one code or deploying storage containers. My first year at Tomuco, working with OpenStack was quite challenging. I faced many obstacles. I've highlighted here the four main challenges I faced while working with OpenStack. If you are a manager, you are managing young engineers or developers who are working with OpenStack, you can expect your staff to face similar problems. So here's what you have to do. The first challenge I faced was the steep learning curve. OpenStack really requires you to acquire advanced technical skills. What I did myself to overcome this challenge was to really understand how to use documentation and work on several technical projects on my test server. Not only does OpenStack require you to acquire advanced technical skills, you also need to develop a cross-domain technical expertise. For example, if you are a software developer at your company developing code with OpenStack, you still need to have some basic Linux system administration skills to be able to understand OpenStack error messages or to troubleshoot a controller node which has stopped working. As a manager, I would recommend you to encourage cross-domain project among your teams. You can also have different experts in several fields sharing the knowledge among the employees. The other challenge I faced was the rapid six-month release time frame of OpenStack. By the time I was done learning a version of OpenStack and installing that version, a new version was being released with hundreds of features being added. This was a challenge not only for myself but also for our development and deployment team. Each time we had to upgrade OpenStack version, we had to update our software tests and packages. We also had to adapt our deployment and branching model to fit with the OpenStack release cycle. What you can do as an employee is join an OpenStack team. You will have the opportunity to work on features before they get released. This will help you stay ahead of the OpenStack technology. And finally, the large community behind OpenStack, the fact that you have many teams working on different components of OpenStack, can be also a challenge. Because my first year, for example, I found it quite difficult to find information in the right place or to ask a question in the right channel. So it's important when you've started OpenStack to really understand the framework, the architecture of this project, and take the time to go through the website and understand the different teams and people working on the OpenStack services. Finally, OpenStack is an open-source project. It really gives you the opportunity to get involved and give back to the community. You can do so first by subscribing to OpenStack mailing lists. You have mailing lists for developers, operators, testers. Those will provide you with regular updates on what's happening with the current projects. You can join an OpenStack group, attend their meetings either physically or through IRC. You can go to Meetups locally or internationally. You can answer and ask questions and ask OpenStack. And finally, if you're a developer, you can fix bug and contribute to the code of OpenStack. Earlier in the summit on the weekend, there was an event by the Opscheme Institute. They gave useful information on how to contribute bug fixes to the OpenStack software. I think it's important to not work in isolation with OpenStack. You have an opportunity here to give back to the community and at the same time develop your technical skills and work with people in the field. So after I became comfortable with OpenStack, it was time for me, after one year at Ormucco, to work with the research and development team, mainly with the system administrators and the software developers at Ormucco. So before I give you details about my experience working with the R&D team, let me tell you quickly how the engineering department is structured at Ormucco. So at Ormucco, we have three main engineering teams. The first one is the network and support team, responsible of handling all client technical support requests. The second team at Ormucco is the automation team, responsible of developing the tools to automate OpenStack installation and configuration. And the third team is the system engineering team, responsible of developing the code, the APIs, and the user interface for our main public and private clouds. I'm currently part at Ormucco of the system engineering team, but I had the chance over my three years to be part and work with each one of those teams. I would like now to give you an overview of my progression at Ormucco, year by year, highlighting the training I received on a yearly basis. So my first year at Ormucco, I was part of the technical support team. I was working with engineers and technicians to handle client technical support requests. At the same time, I was learning OpenStack and analyzing emerging technologies. I received training from Cisco on routing and searching, and I attended my first OpenStack summit in Vancouver in 2015. I remember back then I was in the same shoes as some of you attending my first summit. This was a great opportunity for me to learn and discover OpenStack. Year two, I joined the research and development team. I worked first with the system administrators then with the software developers. We really developed the cloud infrastructure and the software for our enterprise clients. I received extensive training from Red Hat on OpenStack and Linux system administration. And I even followed some courses on Python to refresh my programming background. And I also joined the OpenStack Magnum team weekly meetings. Joining the other meetings allowed me to understand better how OpenStack project development was being done. In my third and current year, I matured in the engineering department working on a particular engineering project. Also, I've been contributing closely to sales and business development. For example, in my current year, I've been delivering presentation to stakeholders and helping develop sales and business tools for the company. I received training again from Cisco on business analysis and technical sales. I was lucky to share with you the milestone I delivered with the R&D team. Working with the research and development team really was a great opportunity for me to work with high-end technologies and develop features that customers were using on a daily basis. With the system administrator team, we deployed a new region. We started initially with one data center in Montreal, expanded and deployed a data center in the UK. Later on, we had a data center in the Middle East. It was important for us at Omilco to deploy a data center close to the client location to respect data sovereignty requirements. We also developed tools and techniques to automate the installation of Omistak and the deployment of test and production environments. With the software developer team, we developed first the cloud portal for our public and private cloud, the portal where customers could sign in and create virtual resources. We also developed a reseller portal for our business porters. As we grew with Atomico, we started to build business partnership with resellers. Resellers could reuse our solution and sell it in their respective market. So the reseller portal allowed partners to monitor usage and consumption. Finally, we developed as well with the software development team a cloud management interface for the technical support team. This interface allowed them to manage all the data centers and the policies across the clouds. I've summarized here the technical training I received over my three years at Omilco. As I mentioned before on the system administration side, I found the Red Hat courses to be quite useful, specifically the RHCSA and the RHCE certification are very popular in the Linux system and the service administration field. On the software side, I would recommend you to get courses, online courses or technical books to learn Python if you are a backend developer or HTML, CSS and JavaScript if you're more focused on front-end technologies. Also Cisco and Mirantis have useful courses and certification on OpenStack and networking. My foundation itself has their own certification program on OpenStack. Finally, remember that attending OpenStack events joining OpenStack teams are good ways for you to train yourself and develop your skills. The mentorship I received at Omilco in my engineering team was critical for my success. My mentor at Omilco allowed me to really guide me through my project and gave me feedback along the way. He allowed me to understand myself and to know which skills I had to develop. The mentorship program could take the form of a new higher training program to quickly bring employees up to speed. It could also take the form of a career and professional development service to plan the long-term growth of employees. The OpenStack Foundation has their own mentorship program sponsored by the Women of OpenStack. It is open to all genders, male and female. You can sign up as mentees or mentors and they will match you up in pairs. You will have the opportunity to work on a project for a few weeks or months. I think that's a great opportunity for anyone new to OpenStack who wants to contribute and work with people, experts in the field. Finally, to summarize this section, I would like to share with you the lessons I have learned with the R&D team. So working with the research and development team really was a great opportunity for me and a great experience both from a personal and professional level. I focus here on the self-scales I acquired working with system administrators and software developers at Omilco. First, working with people, experts in the field really allowed me to outperform myself and acquire advanced technical skills. Second, working on several projects with different teams and with strict client requirements really gave me and my colleagues advanced project and time management skills. Also, OpenStack really teaches you how to become independent and work on your own. I think it's important when you're working with OpenStack to know how to use the documentation and to find the resources on your own. At the same time, you don't want to be stuck for too long on a given problem. If you cannot proceed without the assistance of others, ask for help and learn from them. Finally, because OpenStack is a fast-moving train, it really teaches you to innovate and stay ahead of the technology. Okay, we're now moving to the third section of my talk. As I grew up with the engineering team, as I developed my skills, I built an interest in the business side at Omilco. Indeed, in my third year, I had the opportunity to work on some business project for the company. Working on the business side with Omilco and with OpenStack really gave me an understanding of OpenStack from a different perspective, and I finally understood why OpenStack was important and how it was being used in real life. So to really understand and answer the question, why do we need OpenStack, let's look at the challenges IT organizations face today. From a business perspective, IT organizations face a lot of competition from larger, web-based companies. It's important for those organizations to keep up with the competition. It's important to have a faster time to market and to reduce the total cost of ownership. From an IT operation perspective, IT organizations want to deliver secure, on-demand and self-service capabilities to their customers. And finally, from a developer perspective, from the perspective of the developers of those IT organizations, it's important to have an infrastructure which is agile and cost-effective. Developers do not want to wait too long for resources. They want to be able to spin up test servers on the fly and reduce the software release cycle to the minimum. OpenStack brings many benefits to enterprise IT and can fill up the gap. First, OpenStack is speedy and agile. Developers, users could deploy test servers on the fly and use them on a pay-as-you-go model. Organizations can also take advantage of the hybrid cloud to do cloud bursting. For example, whenever resources on private servers is too high, the demand is too high, they can burst the public cloud and shift the load. Third, there's a vibrant commercial ecosystem promoting OpenStack, making this platform ideal for enterprise IT. And finally, OpenStack is an open-source project built in a modular way. Organizations can select which service they want to use, and they can even contribute back to those services and make them fit to their needs. To further understand the benefit of OpenStack and the advantages it can bring to enterprise customers, let's quickly look at a use case. This was a client we worked with at Ormuko, a client in the public sector. They had more than 800 servers, and they really wanted to perform an unprecedented technological change to stay a leader among smart cities. They were seeking a solution to have virtual resources to contribute storage and networking for their own operators. They also wanted their developers to use and develop application, database, API management, and business intelligence services. The Ormuko hybrid cloud, based on OpenStack, provided the right solution. It brought reduced cost and increased operational efficiencies. Developers and operators could use virtual resources on the fly. The secure API and the autoscaling feature of OpenStack brought higher security and scalability. All of this led to better service to the citizens. Okay, so now that we understand the use case of OpenStack and the benefit it can bring to customers, how do you go as a service provider? How do you go into starting providing OpenStack clouds? At Ormuko, we faced a similar challenge. As I mentioned earlier in my talk, we started in 2008 as a traditional IT service provider. Back then, we were delivering telephony and traditional data center solutions. In a few years only, we have shifted toward the OpenStack cloud model, and we now deliver hybrid public and private clouds based on OpenStack. Going through this transformation, Atomuko brought many changes in our culture and organization. So the first thing we did at Ormuko is to start with a pilot project. We kept our traditional IT project active and running, and we built a test cloud on the side. This test cloud gave us the platform to train ourselves and develop our OpenStack skills. We started this project with one unique cross-functional team made of experienced system administrators and developers. This team was making all the decisions regarding long-term development and architecture. As we grew, we started to divide ourselves into smaller teams, smaller specialized teams, and we invested a lot in employee training and onboarding. I myself, for example, I went through a series of technical and business training to develop myself and contribute to the OpenStack project at Ormuko. Finally, whenever your company is going through such transformation, it's important to keep track of your cost, keep track of your hardware acquisition, of your software acquisition, and develop tools to determine the long-term values this transformation can bring to your organization or your customers. It's important here to note that OpenStack brings many intangible benefits such as the improvement in developer performance and the overall performance of the technological solution. I talk a lot and I talk about training, employee training. I found it useful at Ormuko to have a good balance between my soft skills and my hard skills. Robert Katz is a social and organizational psychologist. He defined three set of skills all managers must have. First, the conceptual skills, second, the human skills, and third, the technical skills. So whether you are a first-line manager or a top executive, you still need to have a good balance between those skills. For example, if you are managing developers or engineers at your company, you still need to have IT skills to really speak the language of your team and gain the trust and respect. On the other hand, if you are an IT person interested in the business side or in managing people or projects, I would recommend you to develop your soft skills early on in your career. You can, for example, attend communication classes or join a public speaking club like Dosmasters. As you grow in your career, you can work later on on updating your IT skills to stay current with technological shifts. I've highlighted here my business project at Ormuko in my third year. I had the opportunity to contribute to the business side. For example, I developed business tools I worked on use cases for our customers and I built a TCO calculator to estimate the cost of moving to the Ormuko cloud. I worked on some sales engineering projects such as RFPs, requests for proposal and technical demonstration. What I really want to focus here is how my engineering background and my IT skills allow me to become successful delivering those business projects. For example, the hands-on experience I got with OpenStack and the technical understanding I acquired in my first two years really allowed me to deliver detailed use cases for our customers and partners and to respond effectively to the technical sections of RFPs. Also, the soft skills I acquired working in technical support and managing R&D project allowed me, gave me the confidence to engage and interact with business clients and stakeholders. To summarize this section even though the IT and the business world can seem quite opposite, you can bridge the gap with the right mindset. It's the first important to understand the shift to the cloud. Traditional enterprise IT is no longer agile and flexible enough to meet current needs. We are moving toward service and consumption model. This shift requires a horizontal skill set. As a manager, I would recommend you to identify the most useful skills for your ongoing strategy and start training and developing your team on those skills. Also, to bridge the gap between the IT and the business world encourage in your company collaboration between IT and the business departments. What we did recently is to launch a launch and learn program. Each week we have one person from a different team presenting a topic and sharing the knowledge among the staff. Finally, it's important to develop your self skills if you're an IT person or skills if you're a manager. You really need to understand your audience and knowing how to communicate and deliver your message. This brings me to the conclusion of my talk. At Ormuko, over three years I had the opportunity to acquire a diverse skill set and work in different aspects with OpenStack. My first year at Ormuko I went through a steep learning curve to get comfortable working with OpenStack. My second year at Ormuko I received training and strong mentorship to become successful with the R&D team. And in my third year at Ormuko, I used my IT skill to my advantage to contribute to the business side. OpenStack is an opportunity. It's an opportunity for you to develop diverse skills and at the same time to contribute back to the community and the users. I still have much to learn myself but I found so far from my experience that adaptability is extremely important. Always be willing to engage in new areas and embrace change. So again, thank you for your time and good luck in your respective careers. So I've put up my contact information, my email and the link to download the slides. And we have several minutes for questions. You can use the microphone on the sides. Okay, so thanks a lot and I will stay here to chat with you if you want. We are also at the booth. We have a booth at the marketplace. You can feel free to come in and chat with me or my team. Thanks a lot.