CloudFoundry Summit is approaching quickly on May 23-25 and, if you are interested in Cloud or Platform-as-a-Service (PaaS) or Open Source Software development, then I would recommend that you block your calendar for this premiere event and register today! Developers, operation managers, IT professionals, and executives alike will all converge to the Santa Clara Convention Center for 3 days packed with talks and sessions covering all aspects of CloudFoundry (CF). This event is projected to have over 2000 attendees and based on previous years, it will be, in my opinion, the best Cloud and PaaS event of the year and therefore one that should you should not miss.
The first two days will contain a series of technical sessions covering a broad range of topics surrounding CloudFoundry and all of its parts and usages, but there is one session (shameless plug) that I believe is sure to give you a bit of extra swagger in your step. After lunch, May 24 @2:40pm, swing by my session, entitled Giving CloudFoundry APIs their Swagger Back. In this session, we will cover how CloudFoundry, while being a complex distributed system of components that interact via APIs, some on which are internal (not meant to be consumed or exposed externally), has APIs meant for external consumptions via pluggable components. Examples of these external APIs are the CF Service Brokers, UAA login server, CF Abacus Metering engine, as well as the BOSH external Cloud Provider Interface (CPI). For these components the exposed APIs are specifically meant for extensions to be provided by a third party.
CF-Swagger is an incubation project that enhances these external CF APIs with Open APIs (nĂ©e Swagger) descriptions in order to add various values and make the process of using and extending these APIs easier and more consistent across third parties and across languages and systems. In this CF summit presentation, Tony Tam (@fehguy) and myself (Michael @Maximilien, aka dr.max) will give a brief introduction to the OpenAPIs specification, discuss where using such descriptions could be useful for CF components, give examples of Swagger descriptions of CF APIs, and finally show some of the additional value we can derive with the Swagger descriptions.
In particular, in one example usage, we will demonstrate how using a Swagger description for the CF Service Broker APIs we were able to automatically generate test compatibility kit (TCK) in Golang that allows service broker integrators (e.g., IBM Bluemix) to validate which API version(s) a service broker is implementing based on whether the broker correctly follows the Open API specification for CF Service Brokers and thus passes the TCK.
Additionally, at CF Summit this year, there is now an extra day after the Summit has ended that is solely dedicated to BOSH and I will have a session for this event as well. You can also register for it via the CloudFoundry Summit site. In this BOSH day session, I will be discussing the Top 10 Issues Managing Bluemix with BOSH by giving an overview of the lessons learned over the past two years operating IBMâ€™s Bluemix, which is the largest installation of CloudFoundry in the world. Recent public numbers revealed that there are more than a million registered Bluemix users taking part in an ecosystem of 1000s of services and deploying and managing 100s of thousands of applications and service instances.
As you can probably imagine, keeping such a massive system operating reliably 24/7 is a significant undertaking. However, while there is a worldwide IBM operations team that keeps Bluemix up and running itâ€™s actually a small but intense team that works closely with IBMâ€™s open source teams and by proxy with the community at large. Perhaps one of the main reasons for any Bluemix operational success is due to the open source nature of the underlying platform and in particular the cloud operational tooling project called BOSH. Using the BOSH toolset (BOSH init, agent, director, releases, CLIs) most aspects of Bluemix are operationally automated and integrated with the OSS CloudFoundry releases and where needed complemented with IBMâ€™s own releases and deployed and managed using that worldwide team.
While most deployments, upgrades, and operational actions are straightforward, showing the power of the multi-cloud resilient values of BOSH, we have also experienced various issues using the toolset over the past two years. Many can be listed as lessons learned and could be categorized into various buckets: usage errors, scaling, IaaS, release failures, bugs, and so on. In this talk, the development and operational teams from IBM Bluemix catalogued the top 10 issues and lessons learned with this operational environment. We will present each lesson learned with a description of the problem or issue, solutions we have used, tips, hints, and pointers to help you resolve these issues, if you ever encounter them.
In short, come to CF Summit 2016 and learn how to give some swagger to your own APIs and learn best practices on how to operate your own large public installation of the open platform-as-a-service: CloudFoundry.