With the increasing demand to drive enterprise-wide technological innovation, technology leaders Microsoft and Exist Software Labs, Inc. joined forces to hold its first-ever DevOps Webinar entitled “Creating a Flexible and Affordable DevOps Kickstarter” last May 27, 2020.
Mr. Jonas Lim, Exist’s Vice President for Tech Services facilitated the webinar, while, Exist Tech Architect Dennis De Vera and Microsoft APAC Open Source Lead Sindhu Chengad were the speakers.
Mr. De Vera expanded on DevOps essentials such as what it is and how it changes the culture of an enterprise and identifying the maturity of the automation strategy.
“Going into the webinar, I have this perception that most people have some level of automation. But I was surprised that most organizations are already taking the first step in building their CI/CD pipeline, which is a good thing. These organizations can now take the next step on optimizing and further automating items on their pipeline that can be done by machines instead of people,” Mr. De Vera said.
Meanwhile, Ms. Chengad shed some light on effective DevOps solutions. She also elaborated on Microsoft’s decision to support open source solutions, which aligns with their mission of empowering every person and every organization to achieve more.
The said webinar is first among the series of online events that Microsoft and Exist are devising. This initiative aims to introduce and assist businesses that are at the early stage of their DevOps journey using open source tools and assist corporations in implementing it to accelerate their software development process.
“Hopefully, with this webinar, we were able to enhance the organizations’ knowledge on how DevOps can help them ship their products/system faster and with more confidence than before, which could bring more potential growth to their organization by edging out competitors in terms of quality and speed of rolling out features and products to complement their existing products/process.” Mr. De Vera ended.
Stay tuned for more informative webinars that we are brewing.
Pivotal, the go-to provider of cloud-native platform, developer tools, and unique methodology to help the world’s largest enterprises transform the way they build and run their most important applications, opened its new office in Funan at the Wework Offices last Sept 19, 2019.
Moving into the new space four times bigger than the previous office, it houses amenities where innovation teams can get together and create wonderful applications.
Jonas Lim, Exist’s Vice President for Engineering and I represented the Philippines & Exist Software Labs. The impressive space can house client team members as well in what they call “Dojos” – a training quarters used in martial arts training, this time used in the building of modern software.
Present in the event were Pivotal President Bill Cook, Senior Vice President for Products & Marketing Ian Andrews, Vice President and Managing Director of Asia, Pacific and Japan Lionel Lim, and General Manager of Partners & Alliances in APJ KM Tan. We also met up with other Singapore team members; Sachin, Shaun, David, Dennis, and Nam along with the APJ regional officers in Korea, China and from Pivotal Japan, Andrew Lee, Yanagihara-san, Kobayashi-san, and Takashi-san.
Curtained space encased Pivotal Labs’ clients, having Pivotal engineers pair up with clients and do knowledge transfer of best practices and learning the pivotal process for application development and platform implementation.
This is a very important concept for success learned – “The Big Fish”. In a pond, the small fish always gets eaten by the big fish. In the corporate context, if a new process needs to be adopted, this new process should be in an environment wherein it will be the “big fish” devouring the old practice from the client team, the “small fish” which leads to the transformation into the new Pivotal process. Once the company gets strong enough and better established, it can go back to its old environment with a higher rate of success to thrive and propagate the new process.
At Exist, we implemented one of the first and largest ever Pivotal Cloud Foundry (PCF) installed here in the Philippines for a Government project. The application uses designed and containerized microservice and cloud-native architecture that is meant for the management, monitoring and accelerating the processing of the documents importation handled by multiple agencies to process port entries of goods and containers. It has been rolled out to 14 agencies already and will still be rolled out to other agencies.
Fulfilling Exist’s mission to provide cutting edge technologies to provide a competitive edge to our client is one of the key reasons why our large enterprise clients chose Exist as their innovation partner in the implementation of their digital transformation strategy.
In the opening ceremony, a Lion dance was performed as a Chinese tradition for good luck, health, blessing, and prosperity and to bring positive energy in the space. In performing this, paints are being dotted onto the lion’s body. The first to be dotted will be in the mirror at the front of the lion’s head. This is known as the “third eye”. Then, it will be followed by the nose so that it can breathe and smell deals from all over. Next will be inside the mouth. Next, the ears to be able to listen to clients’ needs, the eyes to be able to see more deals. Lastly, it will be dotted all over its body – from its head to have the wisdom to successfully help in achieving clients’ goals and satisfaction, down to its neck, tail and finally, the limbs. The Lion Dance was performed all around the space to spread the blessing.
It is such a wonderful experience overall to be able to be around key people from the industry and we look forward to creating amazing stories with them from this new home towards the new frontier of Cloud-native and modern architecture for applications.
This is the first post in a four-part blog series on cloud-native applications that aims to provide a better understanding of what cloud-native applications are and how to fully exploit the benefits of this new architecture.
In this introductory post, we’ll cover some of the advantages of cloud-native apps, drivers behind it and discuss some of the challenges you should be aware of when building cloud-native applications.
Many organizations are now shifting to a cloud-native approach in combination with microservices architecture and container technologies to accelerate innovation and take advantage of the higher scalability, flexibility, and speed that the technology offers.
To give us an overview about cloud-native applications, we sat down with one of our Directors of Engineering, Chris Lim, to talk about the emergence of cloud-native architecture, its benefits and challenges, and some considerations in adopting this approach.
Q. There’s a growing buzz in the past 2-3 years about Microservices, containerization of applications and Devops around Kubernetes. What is it all about? And how do Microservices and Kubernetes play in this concept?
Chris Lim: The traditional way of software application development is to have a single deployable unit that contains all the features of the application. This is also called monolithic architecture. So for example, we have created a Healthcare Information System which includes the billing, admission, nursing, pharmacy and other modules — all of these components are bundled together and deployed as a single deployable unit. This kind of architecture has its trade-offs. For one, it is relatively easier to develop as developers are dealing with a single set of source codes and popular IDEs support this. Another is that it easier to deploy and scale as we are dealing with a singular deployment unit. However, the disadvantages of monolithic architecture overshadow its advantages over the long term. A large code base is not easy to maintain and intimidates developers. Introducing a code change may introduce bugs on other parts of the application. Over time the size of the deployment unit grows and overloads the server. In order to fix a bug or implement an enhancement to one component means redeploying the whole application. This means some production downtime and interruption in the business operation. Depending on the size, technologies and process used, deploying an update is very time-consuming and the whole cycle will have to be repeated with every change. In systems that can’t afford a downtime such as healthcare, production deployment is a very risky business. Scalability in a monolithic application is also another area of major concern. Multiple copies of the application have to be deployed to cater to an increased transaction volume. This is not a very efficient configuration. Different application components have different resource requirements. A component may be CPU intensive and another component might be memory intensive. The total resources have to be taken into consideration in planning for server capacity. There is no way to scale components individually.
Monolithic to Microservices
Cloud-native application architecture aims to solve the limitations of the monolithic application architecture. Microservice is about designing the software such that the components are broken down into separate deployable units. Component separation is usually around functional boundaries. So going back to our Hospital Information System example, components would be the billing, admission, nursing modules. These will become separate deployable units. Imagine for a moment that there is a surge in patient admission stretching the computing resources for the admission module. In a monolithic environment, this is a big issue as probably the whole application is experiencing a slowdown at this point. In a cloud-native environment however it is a different story. Other components of the application continue to function as normal. What the operations team needs to do is to scale the admission module to 3 or 4 or 5 depending on the load. Another option is for the operations team to define an autoscale policy. Without human intervention, the system will self-heal itself. Scaling up when more resources are needed and scaling back down when demand is low.
Kubernetes serves as the platform in which the microservice components are deployed. It is responsible for the deployment, scaling, maintenance, scheduling and operation of multiple application components.
These tasks will be very tedious if performed manually. Automation tools and practices exist to streamline the process of coding, testing, integration, deployment and infrastructure management. To coin a single term for all this — DevOps. It helps to improve efficiency in the software development lifecycle.
Q: What are the advantages of cloud-native applications?
Chris Lim: One of the benefits of a cloud-native application is its scalability and flexibility — the ability to change or add new features without putting down the whole system or application and disrupting your operations.
The distributed nature of cloud-native applications provide the benefits of scalability and overall higher system availability. Because the system is distributed, cloud-native apps are more robust, highly fault-tolerant and remove the single-point-of-failure.
A cloud-native architecture enables flexible and agile development, shorter development cycles, and quicker time to deployment.
Combining agile techniques and DevOps philosophies such as continuous delivery in cloud-native patterns, you can reduce development cycles to short sprints and incorporate small, incremental changes into an application on a frequent and regular basis thus increasing your time to market while reducing your development cost.
Q: What are the challenges of cloud-native applications?
Chris Lim: Cloud-native architecture is no silver bullet. One of the challenges lies in managing the complexity of the system. Since it is distributed in nature, there is an inherent challenge in maintaining the system like handling network latency, inter-component communication, and handling multiple data store.
Since you have a lot of moving parts, another challenge is on monitoring. It is not practical to monitor each component separately so there needs to be a centralized monitoring application to monitor the whole cluster.
Challenge in troubleshooting is another one. Microservices architecture is a little more complex compared with monolithic, which makes isolating and debugging performance problems much harder.
And lastly, deploying a cloud-native app with a microservices‑architecture is also much more complex. The testing and deployment process should be robust and seamless because it is not that simple to rollback the deployed component to a previous version if something bad does get deployed.
Q: What would be the parameters enterprises should take into consideration in shifting to cloud-native architecture?
Chris Lim: From my perspective, enterprises should consider moving to microservice architecture or into cloud-native application in general if they think that they can no longer scale their business or application to the point that they are losing their business. But more than the application itself, I think it’s equally important for enterprises to consider building the capability first or getting a team with the right skills and expertise who will develop and govern the architecture.
Because embracing cloud-native applications is not just about a technological shift. It is also about a shift in an organization’s deep-rooted mindset and culture. We have to change the way we think about developing and deploying applications. It requires us to develop whole new mindsets, ways of working together, communicating with the team and practicing new design patterns.
Stay tuned for the next three parts of the series.The next post will look into how microservices and containers play together and what role container orchestration tools such as Kubernetes play in a cloud-native architecture.
About Chris Lim
Chris Lim is an engineering and technology leader with over 15 years of experience building software for the enterprise. He is passionate about empowering teams to bring innovation and build enterprise solutions that delight customers. He has a proven track record of delivering business results, successful project implementations that involve cross-functional teams and driving continuous process improvement.